"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default",
+ "name": "default",
+ "type": "Microsoft.AzureStackHCI/virtualMachineInstances/guestAgents",
+ "properties": {
+ "provisioningAction": "install",
+ "status": "connected",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default",
+ "name": "default",
+ "type": "Microsoft.AzureStackHCI/virtualMachineInstances/guestAgents",
+ "properties": {
+ "provisioningAction": "install",
+ "status": "connected",
+ "provisioningState": "Created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteArcSetting.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteArcSetting.json
new file mode 100644
index 0000000000000..e2aed1d686727
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteCluster.json
new file mode 100644
index 0000000000000..4a58398d23a17
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteCluster.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteDeploymentSettings.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteDeploymentSettings.json
new file mode 100644
index 0000000000000..a6fa8af5358f5
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteEdgeDevices.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteEdgeDevices.json
new file mode 100644
index 0000000000000..c7752972a6886
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteExtension.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteExtension.json
new file mode 100644
index 0000000000000..da8a169c21983
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteGalleryImage.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteGalleryImage.json
new file mode 100644
index 0000000000000..04dcc5f333ab2
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteGalleryImage.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "galleryImageName": "test-gallery-image",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ },
+ "204": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteGuestAgent.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteGuestAgent.json
new file mode 100644
index 0000000000000..55643ab84318a
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteGuestAgent.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2024-01-01",
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ },
+ "204": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteLogicalNetwork.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteLogicalNetwork.json
new file mode 100644
index 0000000000000..b9ffed75286cf
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteLogicalNetwork.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "logicalNetworkName": "test-lnet",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ },
+ "204": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteMarketplaceGalleryImage.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteMarketplaceGalleryImage.json
new file mode 100644
index 0000000000000..843cca71a379e
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteMarketplaceGalleryImage.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "marketplaceGalleryImageName": "test-marketplace-gallery-image",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ },
+ "204": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteNetworkInterface.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteNetworkInterface.json
new file mode 100644
index 0000000000000..7179760d7e10c
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteNetworkInterface.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "networkInterfaceName": "test-nic",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ },
+ "204": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteSecuritySettings.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteSecuritySettings.json
new file mode 100644
index 0000000000000..3f6c0432e73a1
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteStorageContainer.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteStorageContainer.json
new file mode 100644
index 0000000000000..994a65a12297e
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteStorageContainer.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "storageContainerName": "Default_Container",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ },
+ "204": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteUpdateRuns.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteUpdateRuns.json
new file mode 100644
index 0000000000000..98e75140c4529
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteUpdateSummaries.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteUpdateSummaries.json
new file mode 100644
index 0000000000000..a5d71719bd4af
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteUpdateSummaries.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "b8d594e5-51f3-4c11-9c54-a7771b81c712",
+ "resourceGroupName": "testrg",
+ "clusterName": "testcluster",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteUpdates.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteUpdates.json
new file mode 100644
index 0000000000000..80839e32fb125
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteVirtualHardDisk.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteVirtualHardDisk.json
new file mode 100644
index 0000000000000..85300346526db
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteVirtualHardDisk.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "virtualHardDiskName": "test-vhd",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ },
+ "204": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteVirtualMachineInstance.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteVirtualMachineInstance.json
new file mode 100644
index 0000000000000..55643ab84318a
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/DeleteVirtualMachineInstance.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2024-01-01",
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ },
+ "204": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ExtendSoftwareAssuranceBenefit.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ExtendSoftwareAssuranceBenefit.json
new file mode 100644
index 0000000000000..f4e6a598248bf
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ExtendSoftwareAssuranceBenefit.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-01-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/stable/2024-01-01/examples/Extensions_Upgrade.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/Extensions_Upgrade.json
new file mode 100644
index 0000000000000..2eaf3ab6ca0fa
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/examples/GeneratePassword.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GeneratePassword.json
new file mode 100644
index 0000000000000..899b5ba92ae96
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/examples/GetArcSetting.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetArcSetting.json
new file mode 100644
index 0000000000000..ab47f9d0c4eb8
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/examples/GetCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetCluster.json
new file mode 100644
index 0000000000000..90d7706c3ccfd
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetCluster.json
@@ -0,0 +1,105 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-01-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"
+ },
+ "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/stable/2024-01-01/examples/GetDeploymentSettings.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetDeploymentSettings.json
new file mode 100644
index 0000000000000..878e70cc429b6
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetDeploymentSettings.json
@@ -0,0 +1,211 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "deploymentSettingsName": "default",
+ "api-version": "2024-01-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",
+ "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"
+ }
+ ],
+ "storageConnectivitySwitchless": 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",
+ "optionalServices": {
+ "customLocation": "customLocationName"
+ }
+ }
+ }
+ ]
+ },
+ "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/stable/2024-01-01/examples/GetEdgeDevices.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetEdgeDevices.json
new file mode 100644
index 0000000000000..8e025cff30c07
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetEdgeDevices.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1",
+ "edgeDeviceName": "default",
+ "api-version": "2024-01-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",
+ "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/stable/2024-01-01/examples/GetExtension.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetExtension.json
new file mode 100644
index 0000000000000..9f433df127c88
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/examples/GetGalleryImage.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetGalleryImage.json
new file mode 100644
index 0000000000000..2b9ed7a81d383
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetGalleryImage.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "galleryImageName": "test-gallery-image",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/galleryImages/test-gallery-image",
+ "name": "test-gallery-image",
+ "type": "Microsoft.AzureStackHCI/galleryImages",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "containerId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-storage-container",
+ "osType": "Windows",
+ "cloudInitDataSource": "NoCloud",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "version": {
+ "name": "1.0.0",
+ "properties": {
+ "storageProfile": {
+ "osDiskImage": {
+ "sizeInMB": 30270
+ }
+ }
+ }
+ },
+ "status": {
+ "provisioningStatus": {
+ "operationId": "79cfc696-44f5-4a68-a620-21850f7e9fb0",
+ "status": "Succeeded"
+ },
+ "progressPercentage": 100,
+ "downloadStatus": {
+ "downloadSizeInMB": 9383
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetGuestAgent.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetGuestAgent.json
new file mode 100644
index 0000000000000..04edcb0612f97
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetGuestAgent.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2024-01-01",
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default",
+ "name": "default",
+ "type": "Microsoft.AzureStackHCI/virtualMachineInstances/guestAgents",
+ "properties": {
+ "provisioningAction": "install",
+ "status": "connected",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetHybridIdentityMetadata.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetHybridIdentityMetadata.json
new file mode 100644
index 0000000000000..f574a8e40e114
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetHybridIdentityMetadata.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2024-01-01",
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default",
+ "name": "default",
+ "type": "Microsoft.AzureStackHCI/virtualMachineInstances/hybridIdentityMetadata",
+ "properties": {
+ "publicKey": "8ec7d60c-9700-40b1-8e6e-e5b2f6f477f2",
+ "identity": {
+ "principalId": "7b5129bc-8642-4a6a-95f8-63400ca6ec4d",
+ "tenantId": "ec46ca82-5d4a-4e3e-b4b7-e27f9318645d",
+ "type": "SystemAssigned"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetLogicalNetwork.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetLogicalNetwork.json
new file mode 100644
index 0000000000000..29658de608a76
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetLogicalNetwork.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "logicalNetworkName": "test-lnet",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/logicalNetworks/test-lnet",
+ "name": "test-lnet",
+ "type": "Microsoft.AzureStackHCI/logicalNetworks",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetMarketplaceGalleryImage.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetMarketplaceGalleryImage.json
new file mode 100644
index 0000000000000..a7e7ae8c800f1
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetMarketplaceGalleryImage.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "marketplaceGalleryImageName": "test-marketplace-gallery-image",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/test-marketplace-gallery-image",
+ "name": "test-marketplace-gallery-image",
+ "type": "Microsoft.AzureStackHCI/marketplaceGalleryImages",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "containerId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-storage-container",
+ "osType": "Windows",
+ "cloudInitDataSource": "NoCloud",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "version": {
+ "name": "1.0.0",
+ "properties": {
+ "storageProfile": {
+ "osDiskImage": {
+ "sizeInMB": 30270
+ }
+ }
+ }
+ },
+ "status": {
+ "provisioningStatus": {
+ "operationId": "79cfc696-44f5-4a68-a620-21850f7e9fb0",
+ "status": "Succeeded"
+ },
+ "progressPercentage": 100,
+ "downloadStatus": {
+ "downloadSizeInMB": 9383
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetNetworkInterface.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetNetworkInterface.json
new file mode 100644
index 0000000000000..6e06606308c5f
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetNetworkInterface.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "networkInterfaceName": "test-nic",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/networkInterfaces/test-nic",
+ "name": "test-nic",
+ "type": "Microsoft.AzureStackHCI/networkInterfaces",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "ipConfigurations": [
+ {
+ "name": "ipconfig-sample",
+ "properties": {
+ "subnet": {
+ "id": "external"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetOffer.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetOffer.json
new file mode 100644
index 0000000000000..10033e055875b
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/examples/GetPublisher.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetPublisher.json
new file mode 100644
index 0000000000000..bb35d0e5b86e8
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/examples/GetSecuritySettings.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetSecuritySettings.json
new file mode 100644
index 0000000000000..bae6491691439
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetSecuritySettings.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "securitySettingsName": "default",
+ "api-version": "2024-01-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",
+ "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/stable/2024-01-01/examples/GetSku.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetSku.json
new file mode 100644
index 0000000000000..f51c7513ae122
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/examples/GetStorageContainer.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetStorageContainer.json
new file mode 100644
index 0000000000000..29c36ba302ef1
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetStorageContainer.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "storageContainerName": "Default_Container",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/Default_Container",
+ "name": "Default_Container",
+ "type": "Microsoft.AzureStackHCI/storageContainers",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "path": "C:\\container_storage"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetUpdateRuns.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetUpdateRuns.json
new file mode 100644
index 0000000000000..a6b460a84c37f
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/examples/GetUpdateSummaries.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetUpdateSummaries.json
new file mode 100644
index 0000000000000..6b1558af1e6f9
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetUpdateSummaries.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "b8d594e5-51f3-4c11-9c54-a7771b81c712",
+ "resourceGroupName": "testrg",
+ "clusterName": "testcluster",
+ "api-version": "2024-01-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/stable/2024-01-01/examples/GetUpdates.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetUpdates.json
new file mode 100644
index 0000000000000..4733590193f63
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/examples/GetVirtualHardDisk.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetVirtualHardDisk.json
new file mode 100644
index 0000000000000..680e3ad746021
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetVirtualHardDisk.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "virtualHardDiskName": "test-vhd",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/virtualHardDisks/test-vhd",
+ "name": "test-vhd",
+ "type": "Microsoft.AzureStackHCI/virtualHardDisks",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "diskSizeGB": 32,
+ "blockSizeBytes": 0,
+ "logicalSectorBytes": 512,
+ "physicalSectorBytes": 512,
+ "provisioningState": "Accepted",
+ "diskFileFormat": "vhdx",
+ "hyperVGeneration": "V2",
+ "dynamic": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetVirtualMachineInstance.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetVirtualMachineInstance.json
new file mode 100644
index 0000000000000..ad872acca2bea
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GetVirtualMachineInstance.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2024-01-01",
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default",
+ "name": "default",
+ "type": "Microsoft.AzureStackHCI/virtualMachineInstances",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/galleryImages/test-gallery-image"
+ },
+ "vmConfigStoragePathId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-container"
+ },
+ "hardwareProfile": {
+ "vmSize": "Default"
+ },
+ "osProfile": {
+ "computerName": "luamaster",
+ "adminUsername": "localadmin"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "test-nic"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GuestAgent_List.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GuestAgent_List.json
new file mode 100644
index 0000000000000..fe099ef5561ef
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/GuestAgent_List.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2024-01-01",
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default",
+ "name": "default",
+ "type": "Microsoft.AzureStackHCI/virtualMachineInstances/guestAgents",
+ "properties": {
+ "provisioningAction": "install",
+ "status": "connected",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/HybridIdentityMetadata_List.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/HybridIdentityMetadata_List.json
new file mode 100644
index 0000000000000..69f7eb68f4ff5
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/HybridIdentityMetadata_List.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2024-01-01",
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default",
+ "name": "default",
+ "type": "Microsoft.AzureStackHCI/virtualMachineInstances/hybridIdentityMetadata",
+ "properties": {
+ "publicKey": "8ec7d60c-9700-40b1-8e6e-e5b2f6f477f2",
+ "identity": {
+ "principalId": "7b5129bc-8642-4a6a-95f8-63400ca6ec4d",
+ "tenantId": "ec46ca82-5d4a-4e3e-b4b7-e27f9318645d",
+ "type": "SystemAssigned"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/InitializeDisableProcess.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/InitializeDisableProcess.json
new file mode 100644
index 0000000000000..9572ce05d1700
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/examples/ListArcSettingsByCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListArcSettingsByCluster.json
new file mode 100644
index 0000000000000..7c0e9fadf6f31
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListArcSettingsByCluster.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-01-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/stable/2024-01-01/examples/ListClustersByResourceGroup.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListClustersByResourceGroup.json
new file mode 100644
index 0000000000000..4706e6f2614cd
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListClustersByResourceGroup.json
@@ -0,0 +1,131 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "api-version": "2024-01-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/stable/2024-01-01/examples/ListClustersBySubscription.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListClustersBySubscription.json
new file mode 100644
index 0000000000000..d08d27855516d
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListClustersBySubscription.json
@@ -0,0 +1,130 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "api-version": "2024-01-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/stable/2024-01-01/examples/ListDeploymentSettingsByCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListDeploymentSettingsByCluster.json
new file mode 100644
index 0000000000000..2064fd23f2c28
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListDeploymentSettingsByCluster.json
@@ -0,0 +1,144 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-01-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",
+ "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"
+ }
+ ],
+ "storageConnectivitySwitchless": 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",
+ "optionalServices": {
+ "customLocation": "customLocationName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListEdgeDevices.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListEdgeDevices.json
new file mode 100644
index 0000000000000..ede54bccc2a5f
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListEdgeDevices.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1",
+ "edgeDeviceName": "default",
+ "api-version": "2024-01-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",
+ "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/stable/2024-01-01/examples/ListExtensionsByArcSetting.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListExtensionsByArcSetting.json
new file mode 100644
index 0000000000000..72cc8af252987
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/examples/ListGalleryImageByResourceGroup.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListGalleryImageByResourceGroup.json
new file mode 100644
index 0000000000000..a29cf3349bf2c
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListGalleryImageByResourceGroup.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/galleryImages/test-gallery-image",
+ "name": "test-gallery-image",
+ "type": "Microsoft.AzureStackHCI/galleryImages",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "containerId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-storage-container",
+ "osType": "Linux",
+ "cloudInitDataSource": "NoCloud",
+ "hyperVGeneration": "V2",
+ "version": {
+ "properties": {
+ "storageProfile": {
+ "osDiskImage": {
+ "sizeInMB": 30270
+ }
+ }
+ }
+ },
+ "status": {
+ "provisioningStatus": {
+ "operationId": "79cfc696-44f5-4a68-a620-21850f7e9fb0",
+ "status": "Succeeded"
+ },
+ "progressPercentage": 100,
+ "downloadStatus": {
+ "downloadSizeInMB": 9383
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListGalleryImageBySubscription.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListGalleryImageBySubscription.json
new file mode 100644
index 0000000000000..b7441f1920d61
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListGalleryImageBySubscription.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/galleryImages/test-gallery-image",
+ "name": "test-gallery-image",
+ "type": "Microsoft.AzureStackHCI/galleryImages",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "containerId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-storage-container",
+ "osType": "Linux",
+ "cloudInitDataSource": "NoCloud",
+ "hyperVGeneration": "V2",
+ "version": {
+ "properties": {
+ "storageProfile": {
+ "osDiskImage": {
+ "sizeInMB": 30270
+ }
+ }
+ }
+ },
+ "status": {
+ "provisioningStatus": {
+ "operationId": "79cfc696-44f5-4a68-a620-21850f7e9fb0",
+ "status": "Succeeded"
+ },
+ "progressPercentage": 100,
+ "downloadStatus": {
+ "downloadSizeInMB": 9383
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListLogicalNetworkByResourceGroup.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListLogicalNetworkByResourceGroup.json
new file mode 100644
index 0000000000000..60344d4a1f7bb
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListLogicalNetworkByResourceGroup.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/galleryImages/test-lnet",
+ "name": "test-lnet",
+ "type": "Microsoft.AzureStackHCI/logicalNetworks",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListLogicalNetworkBySubscription.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListLogicalNetworkBySubscription.json
new file mode 100644
index 0000000000000..aa7192e27b468
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListLogicalNetworkBySubscription.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/logicalNetworks/test-lnet",
+ "name": "test-lnet",
+ "type": "Microsoft.AzureStackHCI/logicalNetworks",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListMarketplaceGalleryImageByResourceGroup.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListMarketplaceGalleryImageByResourceGroup.json
new file mode 100644
index 0000000000000..012050c312346
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListMarketplaceGalleryImageByResourceGroup.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/test-marketplace-gallery-image",
+ "name": "test-marketplace-gallery-image",
+ "type": "Microsoft.AzureStackHCI/marketplaceGalleryImages",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "containerId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-storage-container",
+ "osType": "Windows",
+ "cloudInitDataSource": "Azure",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "version": {
+ "name": "1.0.0",
+ "properties": {
+ "storageProfile": {
+ "osDiskImage": {
+ "sizeInMB": 30270
+ }
+ }
+ }
+ },
+ "status": {
+ "provisioningStatus": {
+ "operationId": "79cfc696-44f5-4a68-a620-21850f7e9fb0",
+ "status": "Succeeded"
+ },
+ "progressPercentage": 100,
+ "downloadStatus": {
+ "downloadSizeInMB": 9383
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListMarketplaceGalleryImageBySubscription.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListMarketplaceGalleryImageBySubscription.json
new file mode 100644
index 0000000000000..3b9006e950f2d
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListMarketplaceGalleryImageBySubscription.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/test-marketplace-gallery-image",
+ "name": "test-marketplace-gallery-image",
+ "type": "Microsoft.AzureStackHCI/marketplaceGalleryImages",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "containerId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-storage-container",
+ "osType": "Windows",
+ "cloudInitDataSource": "Azure",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "version": {
+ "name": "1.0.0",
+ "properties": {
+ "storageProfile": {
+ "osDiskImage": {
+ "sizeInMB": 30270
+ }
+ }
+ }
+ },
+ "status": {
+ "provisioningStatus": {
+ "operationId": "79cfc696-44f5-4a68-a620-21850f7e9fb0",
+ "status": "Succeeded"
+ },
+ "progressPercentage": 100,
+ "downloadStatus": {
+ "downloadSizeInMB": 9383
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListNetworkInterfaceByResourceGroup.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListNetworkInterfaceByResourceGroup.json
new file mode 100644
index 0000000000000..a31f021da53a5
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListNetworkInterfaceByResourceGroup.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "networkInterfaceName": "test-nic",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/networkInterfaces/test-nic",
+ "name": "test-nic",
+ "type": "Microsoft.AzureStackHCI/networkInterfaces",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "ipConfigurations": [
+ {
+ "name": "ipconfig-sample",
+ "properties": {
+ "subnet": {
+ "id": "external"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListNetworkInterfaceBySubscription.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListNetworkInterfaceBySubscription.json
new file mode 100644
index 0000000000000..a31f021da53a5
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListNetworkInterfaceBySubscription.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "networkInterfaceName": "test-nic",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/networkInterfaces/test-nic",
+ "name": "test-nic",
+ "type": "Microsoft.AzureStackHCI/networkInterfaces",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "ipConfigurations": [
+ {
+ "name": "ipconfig-sample",
+ "properties": {
+ "subnet": {
+ "id": "external"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListOffersByCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListOffersByCluster.json
new file mode 100644
index 0000000000000..59ed7975ae211
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListOffersByCluster.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-01-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/stable/2024-01-01/examples/ListOffersByPublisher.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListOffersByPublisher.json
new file mode 100644
index 0000000000000..dffe8d5a55ecb
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/examples/ListOperations.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListOperations.json
new file mode 100644
index 0000000000000..e46c5779ed4d6
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListOperations.json
@@ -0,0 +1,453 @@
+{
+ "parameters": {
+ "api-version": "2024-01-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/stable/2024-01-01/examples/ListPublishersByCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListPublishersByCluster.json
new file mode 100644
index 0000000000000..a34f4430c846e
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListPublishersByCluster.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-01-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/stable/2024-01-01/examples/ListSecuritySettingsByCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListSecuritySettingsByCluster.json
new file mode 100644
index 0000000000000..1577393463723
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListSecuritySettingsByCluster.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-01-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",
+ "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/stable/2024-01-01/examples/ListSkusByOffer.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListSkusByOffer.json
new file mode 100644
index 0000000000000..0191712754d31
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/examples/ListStorageContainerByResourceGroup.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListStorageContainerByResourceGroup.json
new file mode 100644
index 0000000000000..ba5efac91d972
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListStorageContainerByResourceGroup.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/Default_Container",
+ "name": "Default_Container",
+ "type": "Microsoft.AzureStackHCI/storageContainers",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "path": "C:\\container_storage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListStorageContainerBySubscription.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListStorageContainerBySubscription.json
new file mode 100644
index 0000000000000..0288be3607f90
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListStorageContainerBySubscription.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/Default_Container",
+ "name": "Default_Container",
+ "type": "Microsoft.AzureStackHCI/storageContainers",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "path": "C:\\container_storage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListUpdateRuns.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListUpdateRuns.json
new file mode 100644
index 0000000000000..0968ba77bb59c
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/examples/ListUpdateSummaries.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListUpdateSummaries.json
new file mode 100644
index 0000000000000..1f0f7c2f1cce7
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListUpdateSummaries.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "b8d594e5-51f3-4c11-9c54-a7771b81c712",
+ "resourceGroupName": "testrg",
+ "clusterName": "testcluster",
+ "api-version": "2024-01-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/stable/2024-01-01/examples/ListUpdates.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListUpdates.json
new file mode 100644
index 0000000000000..12c6b8f829e7b
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListUpdates.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "b8d594e5-51f3-4c11-9c54-a7771b81c712",
+ "resourceGroupName": "testrg",
+ "clusterName": "testcluster",
+ "api-version": "2024-01-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/stable/2024-01-01/examples/ListVirtualHardDiskByResourceGroup.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListVirtualHardDiskByResourceGroup.json
new file mode 100644
index 0000000000000..ca62dbde7f65c
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListVirtualHardDiskByResourceGroup.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/virtualHardDisks/test-vhd",
+ "name": "test-vhd",
+ "type": "Microsoft.AzureStackHCI/virtualHardDisks",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "diskSizeGB": 32,
+ "blockSizeBytes": 0,
+ "logicalSectorBytes": 512,
+ "physicalSectorBytes": 512,
+ "provisioningState": "Accepted",
+ "diskFileFormat": "vhdx",
+ "hyperVGeneration": "V2",
+ "dynamic": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListVirtualHardDiskBySubscription.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListVirtualHardDiskBySubscription.json
new file mode 100644
index 0000000000000..d5e83365afa07
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListVirtualHardDiskBySubscription.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "api-version": "2024-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/virtualHardDisks/test-vhd",
+ "name": "test-vhd",
+ "type": "Microsoft.AzureStackHCI/virtualHardDisks",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "diskSizeGB": 32,
+ "blockSizeBytes": 0,
+ "logicalSectorBytes": 512,
+ "physicalSectorBytes": 512,
+ "provisioningState": "Accepted",
+ "diskFileFormat": "vhdx",
+ "hyperVGeneration": "V2",
+ "dynamic": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListVirtualMachineInstances.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListVirtualMachineInstances.json
new file mode 100644
index 0000000000000..551364f86dce5
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ListVirtualMachineInstances.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2024-01-01",
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default",
+ "name": "default",
+ "type": "Microsoft.AzureStackHCI/virtualMachineInstances",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/galleryImages/test-gallery-image"
+ },
+ "vmConfigStoragePathId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-container"
+ },
+ "hardwareProfile": {
+ "vmSize": "Default"
+ },
+ "osProfile": {
+ "computerName": "luamaster",
+ "adminUsername": "localadmin"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "test-nic"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PatchArcSetting.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PatchArcSetting.json
new file mode 100644
index 0000000000000..73eca44599966
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/examples/PatchExtension.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PatchExtension.json
new file mode 100644
index 0000000000000..dc238d00e943f
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/examples/PostUpdates.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PostUpdates.json
new file mode 100644
index 0000000000000..01be281231580
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://foo.com/operationstatus"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutArcSetting.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutArcSetting.json
new file mode 100644
index 0000000000000..f381d8b5b4ebf
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/examples/PutDeploymentSettings.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutDeploymentSettings.json
new file mode 100644
index 0000000000000..aa16be943e1ab
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutDeploymentSettings.json
@@ -0,0 +1,557 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "deploymentSettingsName": "default",
+ "api-version": "2024-01-01",
+ "resource": {
+ "properties": {
+ "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"
+ }
+ ],
+ "storageConnectivitySwitchless": 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",
+ "optionalServices": {
+ "customLocation": "customLocationName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "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"
+ }
+ ],
+ "storageConnectivitySwitchless": 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",
+ "optionalServices": {
+ "customLocation": "customLocationName"
+ }
+ }
+ }
+ ]
+ },
+ "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"
+ }
+ ],
+ "storageConnectivitySwitchless": 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",
+ "optionalServices": {
+ "customLocation": "customLocationName"
+ }
+ }
+ }
+ ]
+ },
+ "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/stable/2024-01-01/examples/PutEdgeDevices.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutEdgeDevices.json
new file mode 100644
index 0000000000000..743fd0c03b9b1
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutEdgeDevices.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1",
+ "edgeDeviceName": "default",
+ "api-version": "2024-01-01",
+ "resource": {
+ "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",
+ "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"
+ }
+ }
+ },
+ "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",
+ "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/stable/2024-01-01/examples/PutExtension.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutExtension.json
new file mode 100644
index 0000000000000..2c0b653520328
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/examples/PutGalleryImage.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutGalleryImage.json
new file mode 100644
index 0000000000000..067c62641aeda
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutGalleryImage.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "galleryImageName": "test-gallery-image",
+ "api-version": "2024-01-01",
+ "galleryImages": {
+ "location": "West US2",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location"
+ },
+ "properties": {
+ "imagePath": "C:\\test.vhdx",
+ "containerId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-storage-container",
+ "osType": "Linux"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/galleryImages/test-gallery-image",
+ "name": "test-gallery-image",
+ "type": "Microsoft.AzureStackHCI/galleryImages",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "containerId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-storage-container",
+ "osType": "Linux",
+ "cloudInitDataSource": "NoCloud",
+ "hyperVGeneration": "V2",
+ "version": {
+ "properties": {
+ "storageProfile": {
+ "osDiskImage": {
+ "sizeInMB": 30270
+ }
+ }
+ }
+ },
+ "status": {
+ "provisioningStatus": {
+ "operationId": "79cfc696-44f5-4a68-a620-21850f7e9fb0",
+ "status": "Succeeded"
+ },
+ "progressPercentage": 100,
+ "downloadStatus": {
+ "downloadSizeInMB": 9383
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/galleryImages/test-galimg3325",
+ "name": "test-gallery-image",
+ "type": "Microsoft.AzureStackHCI/galleryImages",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "containerId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-storage-container",
+ "osType": "Linux",
+ "cloudInitDataSource": "NoCloud",
+ "hyperVGeneration": "V2",
+ "version": {
+ "properties": {
+ "storageProfile": {
+ "osDiskImage": {
+ "sizeInMB": 30270
+ }
+ }
+ }
+ },
+ "status": {
+ "provisioningStatus": {
+ "operationId": "79cfc696-44f5-4a68-a620-21850f7e9fb0",
+ "status": "Succeeded"
+ },
+ "progressPercentage": 100,
+ "downloadStatus": {
+ "downloadSizeInMB": 9383
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutLogicalNetwork.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutLogicalNetwork.json
new file mode 100644
index 0000000000000..b88e45b9483c7
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutLogicalNetwork.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "logicalNetworkName": "test-lnet",
+ "api-version": "2024-01-01",
+ "logicalNetworks": {
+ "location": "West US2",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/logicalNetworks/test-lnet",
+ "name": "test-lnet",
+ "type": "Microsoft.AzureStackHCI/logicalNetworks",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/logicalNetworks/test-lnet",
+ "name": "test-lnet",
+ "type": "Microsoft.AzureStackHCI/logicalNetworks",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutMarketplaceGalleryImage.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutMarketplaceGalleryImage.json
new file mode 100644
index 0000000000000..98a9d3dd319cd
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutMarketplaceGalleryImage.json
@@ -0,0 +1,120 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "marketplaceGalleryImageName": "test-marketplace-gallery-image",
+ "api-version": "2024-01-01",
+ "name": "test-marketplace-gallery-image",
+ "marketplaceGalleryImages": {
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "containerId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-storage-container",
+ "osType": "Windows",
+ "cloudInitDataSource": "Azure",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "version": {
+ "name": "1.0.0"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/test-marketplace-gallery-image",
+ "name": "test-marketplace-gallery-image",
+ "type": "Microsoft.AzureStackHCI/marketplaceGalleryImages",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "containerId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-storage-container",
+ "osType": "Windows",
+ "cloudInitDataSource": "Azure",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "version": {
+ "name": "1.0.0",
+ "properties": {
+ "storageProfile": {
+ "osDiskImage": {
+ "sizeInMB": 30270
+ }
+ }
+ }
+ },
+ "status": {
+ "provisioningStatus": {
+ "operationId": "79cfc696-44f5-4a68-a620-21850f7e9fb0",
+ "status": "InProgress"
+ },
+ "progressPercentage": 0,
+ "downloadStatus": {
+ "downloadSizeInMB": 9383
+ }
+ },
+ "provisioningState": "Accepted"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/test-marketplace-gallery-image",
+ "name": "test-marketplace-gallery-image",
+ "type": "Microsoft.AzureStackHCI/marketplaceGalleryImages",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "containerId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-storage-container",
+ "osType": "Windows",
+ "cloudInitDataSource": "Azure",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "version": {
+ "name": "1.0.0",
+ "properties": {
+ "storageProfile": {
+ "osDiskImage": {
+ "sizeInMB": 30270
+ }
+ }
+ }
+ },
+ "status": {
+ "provisioningStatus": {
+ "operationId": "79cfc696-44f5-4a68-a620-21850f7e9fb0",
+ "status": "Succeeded"
+ },
+ "progressPercentage": 100,
+ "downloadStatus": {
+ "downloadSizeInMB": 9383
+ }
+ },
+ "provisioningState": "Creating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutNetworkInterface.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutNetworkInterface.json
new file mode 100644
index 0000000000000..7ac8bfcb2223c
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutNetworkInterface.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "networkInterfaceName": "test-nic",
+ "api-version": "2024-01-01",
+ "networkInterfaces": {
+ "location": "West US2",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location"
+ },
+ "properties": {
+ "ipConfigurations": [
+ {
+ "name": "ipconfig-sample",
+ "properties": {
+ "subnet": {
+ "id": "test-lnet"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/networkInterfaces/test-nic",
+ "name": "test-nic",
+ "type": "Microsoft.AzureStackHCI/networkInterfaces",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "ipConfigurations": [
+ {
+ "name": "ipconfig-sample",
+ "properties": {
+ "subnet": {
+ "id": "test-lnet"
+ }
+ }
+ }
+ ],
+ "provisioningState": "Accepted"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/networkInterfaces/test-nic",
+ "name": "test-nic",
+ "type": "Microsoft.AzureStackHCI/networkInterfaces",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "ipConfigurations": [
+ {
+ "name": "ipconfig-sample",
+ "properties": {
+ "subnet": {
+ "id": "test-lnet"
+ }
+ }
+ }
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutSecuritySettings.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutSecuritySettings.json
new file mode 100644
index 0000000000000..e863ceb6df8fe
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutSecuritySettings.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "securitySettingsName": "default",
+ "api-version": "2024-01-01",
+ "resource": {
+ "properties": {
+ "securedCoreComplianceAssignment": "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",
+ "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",
+ "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/stable/2024-01-01/examples/PutStorageContainer.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutStorageContainer.json
new file mode 100644
index 0000000000000..a690d5ad5a9c9
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutStorageContainer.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "storageContainerName": "Default_Container",
+ "api-version": "2024-01-01",
+ "storageContainers": {
+ "location": "West US2",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location"
+ },
+ "properties": {
+ "path": "C:\\container_storage"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-galimg3325",
+ "name": "Default_Container",
+ "type": "Microsoft.AzureStackHCI/storageContainers",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "path": "C:\\container_storage"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-galimg3325",
+ "name": "Default_Container",
+ "type": "Microsoft.AzureStackHCI/storageContainers",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "path": "C:\\container_storage"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutUpdateRuns.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutUpdateRuns.json
new file mode 100644
index 0000000000000..6d4c7d42d6ee2
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/examples/PutUpdateSummaries.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutUpdateSummaries.json
new file mode 100644
index 0000000000000..689cca9ed144d
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/examples/PutUpdates.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutUpdates.json
new file mode 100644
index 0000000000000..104186d742f19
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/examples/PutVirtualHardDisk.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutVirtualHardDisk.json
new file mode 100644
index 0000000000000..e1292388e3c76
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutVirtualHardDisk.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "virtualHardDiskName": "test-vhd",
+ "api-version": "2024-01-01",
+ "virtualHardDisks": {
+ "location": "West US2",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location"
+ },
+ "properties": {
+ "diskSizeGB": 32
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/virtualHardDisks/test-vhd",
+ "name": "test-vhd",
+ "type": "Microsoft.AzureStackHCI/virtualHardDisks",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "diskSizeGB": 32,
+ "blockSizeBytes": 0,
+ "logicalSectorBytes": 512,
+ "physicalSectorBytes": 512,
+ "provisioningState": "Accepted",
+ "diskFileFormat": "vhdx",
+ "hyperVGeneration": "V2",
+ "dynamic": true
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/virtualHardDisks/test-vhd",
+ "name": "test-vhd",
+ "type": "Microsoft.AzureStackHCI/virtualHardDisks",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "diskSizeGB": 32,
+ "blockSizeBytes": 0,
+ "logicalSectorBytes": 512,
+ "physicalSectorBytes": 512,
+ "provisioningState": "Succeeded",
+ "diskFileFormat": "vhdx",
+ "hyperVGeneration": "V2",
+ "dynamic": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutVirtualMachineInstanceWithGalleryImage.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutVirtualMachineInstanceWithGalleryImage.json
new file mode 100644
index 0000000000000..b4cad14b39409
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutVirtualMachineInstanceWithGalleryImage.json
@@ -0,0 +1,113 @@
+{
+ "parameters": {
+ "api-version": "2024-01-01",
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM",
+ "virtualMachineInstance": {
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location"
+ },
+ "properties": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/galleryImages/test-gallery-image"
+ },
+ "vmConfigStoragePathId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-container"
+ },
+ "hardwareProfile": {
+ "vmSize": "Default"
+ },
+ "osProfile": {
+ "computerName": "luamaster",
+ "adminUsername": "localadmin",
+ "adminPassword": "password"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "test-nic"
+ }
+ ]
+ },
+ "securityProfile": {
+ "enableTPM": true,
+ "uefiSettings": {
+ "secureBootEnabled": true
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location"
+ },
+ "properties": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/galleryImages/test-gallery-image"
+ },
+ "vmConfigStoragePathId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-container"
+ },
+ "hardwareProfile": {
+ "vmSize": "Default"
+ },
+ "osProfile": {
+ "computerName": "luamaster",
+ "adminUsername": "localadmin"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "test-nic"
+ }
+ ]
+ },
+ "securityProfile": {
+ "enableTPM": true,
+ "uefiSettings": {
+ "secureBootEnabled": true
+ }
+ },
+ "provisioningState": "Accepted"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location"
+ },
+ "properties": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/galleryImages/test-gallery-image"
+ },
+ "vmConfigStoragePathId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-container"
+ },
+ "hardwareProfile": {
+ "vmSize": "Default"
+ },
+ "osProfile": {
+ "computerName": "luamaster",
+ "adminUsername": "localadmin"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "test-nic"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutVirtualMachineInstanceWithMarketplaceGalleryImage.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutVirtualMachineInstanceWithMarketplaceGalleryImage.json
new file mode 100644
index 0000000000000..3463d3f122426
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutVirtualMachineInstanceWithMarketplaceGalleryImage.json
@@ -0,0 +1,113 @@
+{
+ "parameters": {
+ "api-version": "2024-01-01",
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM",
+ "virtualMachineInstance": {
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location"
+ },
+ "properties": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/test-marketplace-gallery-image"
+ },
+ "vmConfigStoragePathId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-container"
+ },
+ "hardwareProfile": {
+ "vmSize": "Default"
+ },
+ "osProfile": {
+ "computerName": "luamaster",
+ "adminUsername": "localadmin",
+ "adminPassword": "password"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "test-nic"
+ }
+ ]
+ },
+ "securityProfile": {
+ "enableTPM": true,
+ "uefiSettings": {
+ "secureBootEnabled": true
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location"
+ },
+ "properties": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/test-marketplace-gallery-image"
+ },
+ "vmConfigStoragePathId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-container"
+ },
+ "hardwareProfile": {
+ "vmSize": "Default"
+ },
+ "osProfile": {
+ "computerName": "luamaster",
+ "adminUsername": "localadmin"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "test-nic"
+ }
+ ]
+ },
+ "securityProfile": {
+ "enableTPM": true,
+ "uefiSettings": {
+ "secureBootEnabled": true
+ }
+ },
+ "provisioningState": "Accepted"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location"
+ },
+ "properties": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/test-marketplace-gallery-image"
+ },
+ "vmConfigStoragePathId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-container"
+ },
+ "hardwareProfile": {
+ "vmSize": "Default"
+ },
+ "osProfile": {
+ "computerName": "luamaster",
+ "adminUsername": "localadmin"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "test-nic"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutVirtualMachineInstanceWithOsDisk.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutVirtualMachineInstanceWithOsDisk.json
new file mode 100644
index 0000000000000..07bf9d79540bd
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutVirtualMachineInstanceWithOsDisk.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2024-01-01",
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM",
+ "virtualMachineInstance": {
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location"
+ },
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/virtualHardDisks/test-vhd"
+ },
+ "vmConfigStoragePathId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-container"
+ },
+ "hardwareProfile": {
+ "vmSize": "Default"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "test-nic"
+ }
+ ]
+ },
+ "securityProfile": {
+ "enableTPM": true,
+ "uefiSettings": {
+ "secureBootEnabled": true
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location"
+ },
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/virtualHardDisks/test-vhd"
+ },
+ "vmConfigStoragePathId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-container"
+ },
+ "hardwareProfile": {
+ "vmSize": "Default"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "test-nic"
+ }
+ ]
+ },
+ "securityProfile": {
+ "enableTPM": true,
+ "uefiSettings": {
+ "secureBootEnabled": true
+ }
+ },
+ "provisioningState": "Accepted"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location"
+ },
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/virtualHardDisks/test-vhd"
+ },
+ "vmConfigStoragePathId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-container"
+ },
+ "hardwareProfile": {
+ "vmSize": "Default"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "test-nic"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutVirtualMachineInstanceWithVMConfigAgent.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutVirtualMachineInstanceWithVMConfigAgent.json
new file mode 100644
index 0000000000000..1b67e6bb9d345
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/PutVirtualMachineInstanceWithVMConfigAgent.json
@@ -0,0 +1,144 @@
+{
+ "parameters": {
+ "api-version": "2024-01-01",
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM",
+ "virtualMachineInstance": {
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location"
+ },
+ "properties": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/galleryImages/test-gallery-image"
+ },
+ "vmConfigStoragePathId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-container"
+ },
+ "hardwareProfile": {
+ "vmSize": "Default"
+ },
+ "osProfile": {
+ "computerName": "luamaster",
+ "adminUsername": "localadmin",
+ "adminPassword": "password",
+ "windowsConfiguration": {
+ "provisionVMConfigAgent": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "test-nic"
+ }
+ ]
+ },
+ "securityProfile": {
+ "enableTPM": true,
+ "uefiSettings": {
+ "secureBootEnabled": true
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location"
+ },
+ "properties": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/galleryImages/test-gallery-image"
+ },
+ "vmConfigStoragePathId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-container"
+ },
+ "hardwareProfile": {
+ "vmSize": "Default"
+ },
+ "osProfile": {
+ "computerName": "luamaster",
+ "adminUsername": "localadmin"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "test-nic"
+ }
+ ]
+ },
+ "securityProfile": {
+ "enableTPM": true,
+ "uefiSettings": {
+ "secureBootEnabled": true
+ }
+ },
+ "provisioningState": "Accepted",
+ "instanceView": {
+ "vmAgent": {
+ "vmConfigAgentVersion": "1.0.0",
+ "statuses": [
+ {
+ "code": "Ok",
+ "level": "Info",
+ "displayStatus": "Ok",
+ "message": "The agent is healthy",
+ "time": "2009-06-15T13:45:30"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location"
+ },
+ "properties": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/galleryImages/test-gallery-image"
+ },
+ "vmConfigStoragePathId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-container"
+ },
+ "hardwareProfile": {
+ "vmSize": "Default"
+ },
+ "osProfile": {
+ "computerName": "luamaster",
+ "adminUsername": "localadmin"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "test-nic"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "vmAgent": {
+ "vmConfigAgentVersion": "1.0.0",
+ "statuses": [
+ {
+ "code": "Ok",
+ "level": "Info",
+ "displayStatus": "Ok",
+ "message": "The agent is healthy",
+ "time": "2009-06-15T13:45:30"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/RestartVirtualMachineInstance.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/RestartVirtualMachineInstance.json
new file mode 100644
index 0000000000000..6dfd35e41766c
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/RestartVirtualMachineInstance.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2024-01-01",
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ },
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location"
+ },
+ "properties": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/galleryImages/test-gallery-image"
+ },
+ "vmConfigStoragePathId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-container"
+ },
+ "hardwareProfile": {
+ "vmSize": "Default"
+ },
+ "osProfile": {
+ "computerName": "luamaster",
+ "adminUsername": "localadmin"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "test-nic"
+ }
+ ]
+ },
+ "securityProfile": {
+ "enableTPM": true,
+ "uefiSettings": {
+ "secureBootEnabled": true
+ }
+ },
+ "provisioningState": "Accepted"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/StartVirtualMachineInstance.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/StartVirtualMachineInstance.json
new file mode 100644
index 0000000000000..6dfd35e41766c
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/StartVirtualMachineInstance.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2024-01-01",
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ },
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location"
+ },
+ "properties": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/galleryImages/test-gallery-image"
+ },
+ "vmConfigStoragePathId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-container"
+ },
+ "hardwareProfile": {
+ "vmSize": "Default"
+ },
+ "osProfile": {
+ "computerName": "luamaster",
+ "adminUsername": "localadmin"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "test-nic"
+ }
+ ]
+ },
+ "securityProfile": {
+ "enableTPM": true,
+ "uefiSettings": {
+ "secureBootEnabled": true
+ }
+ },
+ "provisioningState": "Accepted"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/StopVirtualMachineInstance.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/StopVirtualMachineInstance.json
new file mode 100644
index 0000000000000..6dfd35e41766c
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/StopVirtualMachineInstance.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2024-01-01",
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ },
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location"
+ },
+ "properties": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/galleryImages/test-gallery-image"
+ },
+ "vmConfigStoragePathId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-container"
+ },
+ "hardwareProfile": {
+ "vmSize": "Default"
+ },
+ "osProfile": {
+ "computerName": "luamaster",
+ "adminUsername": "localadmin"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "test-nic"
+ }
+ ]
+ },
+ "securityProfile": {
+ "enableTPM": true,
+ "uefiSettings": {
+ "secureBootEnabled": true
+ }
+ },
+ "provisioningState": "Accepted"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateCluster.json
new file mode 100644
index 0000000000000..02ebb3dc8286b
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateCluster.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-01-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/stable/2024-01-01/examples/UpdateGalleryImage.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateGalleryImage.json
new file mode 100644
index 0000000000000..a7269f4224f88
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateGalleryImage.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "galleryImageName": "test-gallery-image",
+ "api-version": "2024-01-01",
+ "galleryImages": {
+ "tags": {
+ "additionalProperties": "sample"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/galleryImages/test-galimg3325",
+ "name": "test-gallery-image",
+ "type": "Microsoft.AzureStackHCI/galleryImages",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "tags": {
+ "additionalProperties": "sample"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "containerId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-storage-container",
+ "osType": "Linux",
+ "cloudInitDataSource": "NoCloud",
+ "hyperVGeneration": "V2",
+ "version": {
+ "properties": {
+ "storageProfile": {
+ "osDiskImage": {
+ "sizeInMB": 30270
+ }
+ }
+ }
+ },
+ "status": {
+ "provisioningStatus": {
+ "operationId": "79cfc696-44f5-4a68-a620-21850f7e9fb0",
+ "status": "Succeeded"
+ },
+ "progressPercentage": 100,
+ "downloadStatus": {
+ "downloadSizeInMB": 9383
+ }
+ }
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateLogicalNetwork.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateLogicalNetwork.json
new file mode 100644
index 0000000000000..043a487eb1d0f
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateLogicalNetwork.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "logicalNetworkName": "test-lnet",
+ "api-version": "2024-01-01",
+ "logicalNetworks": {
+ "tags": {
+ "additionalProperties": "sample"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/logicalNetworks/test-lnet",
+ "name": "test-lnet",
+ "type": "Microsoft.AzureStackHCI/logicalNetworks",
+ "location": "West US2",
+ "tags": {
+ "additionalProperties": "sample"
+ },
+ "extendedLocation": {
+ "name": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateMarketplaceGalleryImage.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateMarketplaceGalleryImage.json
new file mode 100644
index 0000000000000..c8b4f438d33c5
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateMarketplaceGalleryImage.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "marketplaceGalleryImageName": "test-marketplce-gallery-image",
+ "api-version": "2024-01-01",
+ "marketplaceGalleryImages": {
+ "tags": {
+ "additionalProperties": "sample"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/test-marketplace-gallery-image",
+ "name": "test-marketplace-gallery-image",
+ "type": "Microsoft.AzureStackHCI/marketplaceGalleryImages",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "tags": {
+ "additionalProperties": "sample"
+ },
+ "properties": {
+ "containerId": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-storage-container",
+ "osType": "Windows",
+ "cloudInitDataSource": "Azure",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "version": {
+ "name": "1.0.0",
+ "properties": {
+ "storageProfile": {
+ "osDiskImage": {
+ "sizeInMB": 30270
+ }
+ }
+ }
+ },
+ "status": {
+ "provisioningStatus": {
+ "operationId": "79cfc696-44f5-4a68-a620-21850f7e9fb0",
+ "status": "InProgress"
+ },
+ "progressPercentage": 0,
+ "downloadStatus": {
+ "downloadSizeInMB": 9383
+ }
+ },
+ "provisioningState": "Accepted"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateNetworkInterface.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateNetworkInterface.json
new file mode 100644
index 0000000000000..e11624d58d561
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateNetworkInterface.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "networkInterfaceName": "test-nic",
+ "api-version": "2024-01-01",
+ "networkInterfaces": {
+ "tags": {
+ "additionalProperties": "sample"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/networkInterfaces/test-nic",
+ "name": "test-nic",
+ "type": "Microsoft.AzureStackHCI/networkInterfaces",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "ipConfigurations": [
+ {
+ "name": "ipconfig-sample",
+ "properties": {
+ "subnet": {
+ "id": "test-lnet"
+ }
+ }
+ }
+ ],
+ "provisioningState": "Accepted"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateStorageContainer.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateStorageContainer.json
new file mode 100644
index 0000000000000..3d676ee3ed263
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateStorageContainer.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "storageContainerName": "Default_Container",
+ "api-version": "2024-01-01",
+ "storageContainers": {
+ "tags": {
+ "additionalProperties": "sample"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-galimg3325",
+ "name": "Default_Container",
+ "type": "Microsoft.AzureStackHCI/storageContainers",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "tags": {
+ "additionalProperties": "sample"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "path": "C:\\container_storage"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateVirtualHardDisk.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateVirtualHardDisk.json
new file mode 100644
index 0000000000000..4e6a3b9b093e2
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateVirtualHardDisk.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "virtualHardDiskName": "test-vhd",
+ "api-version": "2024-01-01",
+ "virtualHardDisks": {
+ "tags": {
+ "additionalProperties": "sample"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/virtualHardDisks/test-vhd",
+ "name": "test-vhd",
+ "type": "Microsoft.AzureStackHCI/virtualHardDisks",
+ "location": "West US2",
+ "extendedLocation": {
+ "name": "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "tags": {
+ "additionalProperties": "sample"
+ },
+ "properties": {
+ "diskSizeGB": 32,
+ "blockSizeBytes": 0,
+ "logicalSectorBytes": 512,
+ "physicalSectorBytes": 512,
+ "provisioningState": "Accepted",
+ "diskFileFormat": "vhdx",
+ "hyperVGeneration": "V2",
+ "dynamic": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateVirtualMachineInstance.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateVirtualMachineInstance.json
new file mode 100644
index 0000000000000..dd82018c630c3
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UpdateVirtualMachineInstance.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM",
+ "api-version": "2024-01-01",
+ "virtualMachineInstance": {
+ "properties": {
+ "storageProfile": {
+ "dataDisks": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.AzureStackHCI/virtualHardDisks/test-vhd"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default",
+ "name": "default",
+ "type": "Microsoft.AzureStackHCI/virtualMachineInstances",
+ "extendedLocation": {
+ "name": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.AzureStackHCI/galleryImages/test-gallery-image"
+ },
+ "dataDisks": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.AzureStackHCI/virtualHardDisks/test-vhd"
+ }
+ ]
+ },
+ "hardwareProfile": {
+ "vmSize": "Default"
+ },
+ "osProfile": {
+ "computerName": "luamaster",
+ "adminUsername": "localadmin"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "test-nic"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://azure.async.operation/status"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UploadCertificate.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UploadCertificate.json
new file mode 100644
index 0000000000000..f85ad18bdd773
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/UploadCertificate.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-01-01",
+ "uploadCertificateRequest": {
+ "properties": {
+ "certificates": [
+ "base64cert",
+ "base64cert"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ValidateEdgeDevices.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/examples/ValidateEdgeDevices.json
new file mode 100644
index 0000000000000..b322df36c3f12
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-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-01-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/stable/2024-01-01/extensions.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/extensions.json
new file mode 100644
index 0000000000000..39730654d6d21
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/extensions.json
@@ -0,0 +1,707 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-01-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/stable/2024-01-01/galleryImages.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/galleryImages.json
new file mode 100644
index 0000000000000..bd99490268c5a
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/galleryImages.json
@@ -0,0 +1,597 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AzureStackHCI",
+ "description": "The Microsoft.AzureStackHCI Rest API spec.",
+ "version": "2024-01-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}": {
+ "get": {
+ "operationId": "GalleryImages_Get",
+ "description": "Gets a gallery image",
+ "x-ms-examples": {
+ "GetGalleryImage": {
+ "$ref": "./examples/GetGalleryImage.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/GalleryImageNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImages"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GalleryImages_CreateOrUpdate",
+ "description": "The operation to create or update a gallery image. Please note some properties can be set only during gallery image creation.",
+ "x-ms-examples": {
+ "PutGalleryImage": {
+ "$ref": "./examples/PutGalleryImage.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/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/GalleryImageNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryImages",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryImages"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Updated",
+ "schema": {
+ "$ref": "#/definitions/GalleryImages"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/GalleryImages"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "GalleryImages_Delete",
+ "description": "The operation to delete a gallery image.",
+ "x-ms-examples": {
+ "DeleteGalleryImage": {
+ "$ref": "./examples/DeleteGalleryImage.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/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/GalleryImageNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "No content"
+ }
+ }
+ },
+ "patch": {
+ "operationId": "GalleryImages_Update",
+ "description": "The operation to update a gallery image.",
+ "x-ms-examples": {
+ "UpdateGalleryImage": {
+ "$ref": "./examples/UpdateGalleryImage.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/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/GalleryImageNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryImages",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryImagesUpdateRequest"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImages"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages": {
+ "get": {
+ "operationId": "GalleryImages_List",
+ "description": "Lists all of the gallery images in the specified resource group. Use the nextLink property in the response to get the next page of gallery images.",
+ "x-ms-examples": {
+ "ListGalleryImageByResourceGroup": {
+ "$ref": "./examples/ListGalleryImageByResourceGroup.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": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImagesListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/galleryImages": {
+ "get": {
+ "operationId": "GalleryImages_ListAll",
+ "description": "Lists all of the gallery images in the specified subscription. Use the nextLink property in the response to get the next page of gallery images.",
+ "x-ms-examples": {
+ "ListGalleryImageBySubscription": {
+ "$ref": "./examples/ListGalleryImageBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImagesListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "GalleryImageProperties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "properties": {
+ "containerId": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.AzureStackHCI/storageContainers"
+ }
+ ]
+ },
+ "description": "Storage ContainerID of the storage container to be used for gallery image"
+ },
+ "imagePath": {
+ "type": "string",
+ "x-ms-secret": true,
+ "description": "location of the image the gallery image should be created from"
+ },
+ "osType": {
+ "type": "string",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ },
+ "description": "Operating system type that the gallery image uses [Windows, Linux]"
+ },
+ "cloudInitDataSource": {
+ "type": "string",
+ "description": "Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure]",
+ "enum": [
+ "NoCloud",
+ "Azure"
+ ],
+ "x-ms-enum": {
+ "name": "CloudInitDataSource",
+ "modelAsString": true
+ }
+ },
+ "hyperVGeneration": {
+ "type": "string",
+ "description": "The hypervisor generation of the Virtual Machine [V1, V2]",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGeneration",
+ "modelAsString": true
+ }
+ },
+ "identifier": {
+ "$ref": "#/definitions/GalleryImageIdentifier"
+ },
+ "version": {
+ "$ref": "#/definitions/GalleryImageVersion"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the gallery image.",
+ "readOnly": true,
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "InProgress",
+ "Accepted",
+ "Deleting",
+ "Canceled"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningStateEnum",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "$ref": "#/definitions/GalleryImageStatus"
+ }
+ },
+ "required": [
+ "osType"
+ ],
+ "description": "Properties under the gallery image resource"
+ },
+ "GalleryImageStatus": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "readOnly": true,
+ "properties": {
+ "errorCode": {
+ "type": "string",
+ "description": "GalleryImage provisioning error code"
+ },
+ "errorMessage": {
+ "type": "string",
+ "description": "Descriptive error message"
+ },
+ "provisioningStatus": {
+ "type": "object",
+ "properties": {
+ "operationId": {
+ "type": "string",
+ "description": "The ID of the operation performed on the gallery image"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the operation performed on the gallery image [Succeeded, Failed, InProgress]",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "InProgress"
+ ],
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "downloadStatus": {
+ "type": "object",
+ "properties": {
+ "downloadSizeInMB": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The downloaded sized of the image in MB"
+ }
+ },
+ "description": "The download status of the gallery image"
+ },
+ "progressPercentage": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The progress of the operation in percentage"
+ }
+ },
+ "description": "The observed state of gallery images"
+ },
+ "GalleryImageIdentifier": {
+ "type": "object",
+ "properties": {
+ "publisher": {
+ "type": "string",
+ "description": "The name of the gallery image definition publisher."
+ },
+ "offer": {
+ "type": "string",
+ "description": "The name of the gallery image definition offer."
+ },
+ "sku": {
+ "type": "string",
+ "description": "The name of the gallery image definition SKU."
+ }
+ },
+ "required": [
+ "publisher",
+ "offer",
+ "sku"
+ ],
+ "description": "This is the gallery image definition identifier."
+ },
+ "GalleryImageVersion": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "This is the version of the gallery image."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryImageVersionProperties"
+ }
+ },
+ "description": "Specifies information about the gallery image version that you want to create or update."
+ },
+ "GalleryImageVersionProperties": {
+ "type": "object",
+ "properties": {
+ "storageProfile": {
+ "$ref": "#/definitions/GalleryImageVersionStorageProfile"
+ }
+ },
+ "required": [
+ "storageProfile"
+ ],
+ "description": "Describes the properties of a gallery image version."
+ },
+ "GalleryImageVersionStorageProfile": {
+ "type": "object",
+ "properties": {
+ "osDiskImage": {
+ "$ref": "#/definitions/GalleryOSDiskImage"
+ }
+ },
+ "description": "This is the storage profile of a Gallery Image Version."
+ },
+ "GalleryOSDiskImage": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/GalleryDiskImage"
+ }
+ ],
+ "description": "This is the OS disk image."
+ },
+ "GalleryDiskImage": {
+ "type": "object",
+ "properties": {
+ "sizeInMB": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "This property indicates the size of the VHD to be created."
+ }
+ },
+ "description": "This is the disk image base class."
+ },
+ "GalleryImages": {
+ "type": "object",
+ "description": "The gallery images resource definition.",
+ "x-ms-azure-resource": true,
+ "x-ms-client-flatten": true,
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryImageProperties"
+ },
+ "extendedLocation": {
+ "$ref": "./common.json#/definitions/ExtendedLocation",
+ "description": "The extendedLocation of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "GalleryImagesUpdateRequest": {
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "The gallery images resource patch definition."
+ },
+ "GalleryImagesListResult": {
+ "type": "object",
+ "description": "List of gallery images.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GalleryImages"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results.",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "GalleryImageNameParameter": {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[a-zA-Z0-9]$",
+ "x-ms-parameter-location": "method",
+ "maxLength": 80,
+ "minLength": 1,
+ "description": "Name of the gallery image"
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/logicalNetworks.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/logicalNetworks.json
new file mode 100644
index 0000000000000..5a9eaa1b5d23d
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/logicalNetworks.json
@@ -0,0 +1,655 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AzureStackHCI",
+ "description": "The Microsoft.AzureStackHCI Rest API spec.",
+ "version": "2024-01-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}": {
+ "get": {
+ "operationId": "LogicalNetworks_Get",
+ "x-ms-examples": {
+ "GetLogicalNetwork": {
+ "$ref": "./examples/GetLogicalNetwork.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LogicalNetworkNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogicalNetworks"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "LogicalNetworks_CreateOrUpdate",
+ "description": "The operation to create or update a logical network. Please note some properties can be set only during logical network creation.",
+ "x-ms-examples": {
+ "PutLogicalNetwork": {
+ "$ref": "./examples/PutLogicalNetwork.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/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LogicalNetworkNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "logicalNetworks",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LogicalNetworks"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Updated",
+ "schema": {
+ "$ref": "#/definitions/LogicalNetworks"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/LogicalNetworks"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "LogicalNetworks_Delete",
+ "description": "The operation to delete a logical network.",
+ "x-ms-examples": {
+ "DeleteLogicalNetwork": {
+ "$ref": "./examples/DeleteLogicalNetwork.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/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LogicalNetworkNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "No content"
+ }
+ }
+ },
+ "patch": {
+ "operationId": "LogicalNetworks_Update",
+ "description": "The operation to update a logical network.",
+ "x-ms-examples": {
+ "UpdateLogicalNetwork": {
+ "$ref": "./examples/UpdateLogicalNetwork.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/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LogicalNetworkNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "logicalNetworks",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LogicalNetworksUpdateRequest"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogicalNetworks"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks": {
+ "get": {
+ "operationId": "LogicalNetworks_List",
+ "description": "Lists all of the logical networks in the specified resource group. Use the nextLink property in the response to get the next page of logical networks.",
+ "x-ms-examples": {
+ "ListLogicalNetworkByResourceGroup": {
+ "$ref": "./examples/ListLogicalNetworkByResourceGroup.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": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogicalNetworksListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/logicalNetworks": {
+ "get": {
+ "operationId": "LogicalNetworks_ListAll",
+ "description": "Lists all of the logical networks in the specified subscription. Use the nextLink property in the response to get the next page of logical networks.",
+ "x-ms-examples": {
+ "ListLogicalNetworkBySubscription": {
+ "$ref": "./examples/ListLogicalNetworkBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogicalNetworksListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "LogicalNetworkProperties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "properties": {
+ "dhcpOptions": {
+ "type": "object",
+ "description": "DhcpOptions contains an array of DNS servers available to VMs deployed in the logical network. Standard DHCP option for a subnet overrides logical network DHCP options.",
+ "properties": {
+ "dnsServers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of DNS servers IP addresses."
+ }
+ }
+ },
+ "subnets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Subnet"
+ },
+ "description": "Subnet - list of subnets under the logical network",
+ "x-ms-identifiers": []
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the logical network.",
+ "readOnly": true,
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "InProgress",
+ "Accepted",
+ "Deleting",
+ "Canceled"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningStateEnum",
+ "modelAsString": true
+ }
+ },
+ "vmSwitchName": {
+ "type": "string",
+ "description": "name of the network switch to be used for VMs"
+ },
+ "status": {
+ "$ref": "#/definitions/LogicalNetworkStatus"
+ }
+ },
+ "description": "Properties under the logical network resource"
+ },
+ "LogicalNetworkStatus": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "readOnly": true,
+ "properties": {
+ "errorCode": {
+ "type": "string",
+ "description": "LogicalNetwork provisioning error code"
+ },
+ "errorMessage": {
+ "type": "string",
+ "description": "Descriptive error message"
+ },
+ "provisioningStatus": {
+ "type": "object",
+ "properties": {
+ "operationId": {
+ "type": "string",
+ "description": "The ID of the operation performed on the logical network"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the operation performed on the logical network [Succeeded, Failed, InProgress]",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "InProgress"
+ ],
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "description": "The observed state of logical networks"
+ },
+ "IPPoolInfo": {
+ "type": "object",
+ "properties": {
+ "used": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Number of IP addresses allocated from the IP Pool"
+ },
+ "available": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Number of IP addresses available in the IP Pool"
+ }
+ }
+ },
+ "IPPool": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the IP-Pool"
+ },
+ "ipPoolType": {
+ "type": "string",
+ "enum": [
+ "vm",
+ "vippool"
+ ],
+ "x-ms-enum": {
+ "name": "IPPoolTypeEnum",
+ "modelAsString": false
+ },
+ "description": "Type of the IP Pool [vm, vippool]"
+ },
+ "start": {
+ "type": "string",
+ "description": "Start of the IP address pool"
+ },
+ "end": {
+ "type": "string",
+ "description": "End of the IP address pool"
+ },
+ "info": {
+ "$ref": "#/definitions/IPPoolInfo"
+ }
+ }
+ },
+ "RoutePropertiesFormat": {
+ "type": "object",
+ "properties": {
+ "addressPrefix": {
+ "type": "string",
+ "description": "The destination CIDR to which the route applies."
+ },
+ "nextHopIpAddress": {
+ "type": "string",
+ "description": "The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance."
+ }
+ },
+ "description": "RoutePropertiesFormat - Route resource."
+ },
+ "Route": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RoutePropertiesFormat",
+ "description": "Properties of the route."
+ },
+ "name": {
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$",
+ "description": "Name - name of the subnet"
+ }
+ },
+ "description": "Route - Route resource."
+ },
+ "RouteTablePropertiesFormat": {
+ "type": "object",
+ "properties": {
+ "routes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Route"
+ },
+ "description": "Collection of routes contained within a route table.",
+ "x-ms-identifiers": []
+ }
+ },
+ "description": "RouteTablePropertiesFormat - Route Table resource."
+ },
+ "RouteTable": {
+ "type": "object",
+ "properties": {
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RouteTablePropertiesFormat",
+ "description": "Properties of the route table."
+ }
+ },
+ "description": "Route table resource."
+ },
+ "SubnetPropertiesFormat": {
+ "type": "object",
+ "properties": {
+ "addressPrefix": {
+ "type": "string",
+ "description": "The address prefix for the subnet: Cidr for this subnet - IPv4, IPv6."
+ },
+ "addressPrefixes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of address prefixes for the subnet."
+ },
+ "ipAllocationMethod": {
+ "type": "string",
+ "description": "IPAllocationMethod - The IP address allocation method. Possible values include: 'Static', 'Dynamic'",
+ "enum": [
+ "Dynamic",
+ "Static"
+ ],
+ "x-ms-enum": {
+ "name": "IpAllocationMethodEnum",
+ "modelAsString": true
+ }
+ },
+ "ipConfigurationReferences": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "ID": {
+ "type": "string",
+ "description": "IPConfigurationID"
+ }
+ },
+ "description": "IPConfigurationReference - Describes a IPConfiguration under the virtual network"
+ },
+ "x-ms-identifiers": [],
+ "description": "IPConfigurationReferences - list of IPConfigurationReferences"
+ },
+ "routeTable": {
+ "type": "object",
+ "$ref": "#/definitions/RouteTable"
+ },
+ "ipPools": {
+ "type": "array",
+ "description": "network associated pool of IP Addresses",
+ "items": {
+ "$ref": "#/definitions/IPPool"
+ },
+ "x-ms-identifiers": []
+ },
+ "vlan": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Vlan to use for the subnet"
+ }
+ },
+ "description": "Properties of the subnet."
+ },
+ "Subnet": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SubnetPropertiesFormat",
+ "description": "Properties of the subnet."
+ },
+ "name": {
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$",
+ "description": "Name - The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ }
+ }
+ },
+ "LogicalNetworks": {
+ "type": "object",
+ "description": "The logical network resource definition.",
+ "x-ms-azure-resource": true,
+ "x-ms-client-flatten": true,
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/LogicalNetworkProperties"
+ },
+ "extendedLocation": {
+ "$ref": "./common.json#/definitions/ExtendedLocation",
+ "description": "The extendedLocation of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "LogicalNetworksUpdateRequest": {
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "The logical network resource patch definition."
+ },
+ "LogicalNetworksListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogicalNetworks"
+ }
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "LogicalNetworkNameParameter": {
+ "name": "logicalNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[_a-zA-Z0-9]$",
+ "x-ms-parameter-location": "method",
+ "maxLength": 64,
+ "minLength": 2,
+ "description": "Name of the logical network"
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/marketplaceGalleryImages.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/marketplaceGalleryImages.json
new file mode 100644
index 0000000000000..71b413154691d
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/marketplaceGalleryImages.json
@@ -0,0 +1,589 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AzureStackHCI",
+ "description": "The Microsoft.AzureStackHCI Rest API spec.",
+ "version": "2024-01-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}": {
+ "get": {
+ "operationId": "MarketplaceGalleryImages_Get",
+ "description": "Gets a marketplace gallery image",
+ "x-ms-examples": {
+ "GetMarketplaceGalleryImage": {
+ "$ref": "./examples/GetMarketplaceGalleryImage.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MarketplaceGalleryImageNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MarketplaceGalleryImages"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MarketplaceGalleryImages_CreateOrUpdate",
+ "description": "The operation to create or update a marketplace gallery image. Please note some properties can be set only during marketplace gallery image creation.",
+ "x-ms-examples": {
+ "PutMarketplaceGalleryImage": {
+ "$ref": "./examples/PutMarketplaceGalleryImage.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/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MarketplaceGalleryImageNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "marketplaceGalleryImages",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MarketplaceGalleryImages"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Updates the marketplace gallery image resource.",
+ "schema": {
+ "$ref": "#/definitions/MarketplaceGalleryImages"
+ }
+ },
+ "201": {
+ "description": "Creates the marketplace gallery image resource.",
+ "schema": {
+ "$ref": "#/definitions/MarketplaceGalleryImages"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MarketplaceGalleryImages_Delete",
+ "description": "The operation to delete a marketplace gallery image.",
+ "x-ms-examples": {
+ "DeleteMarketplaceGalleryImage": {
+ "$ref": "./examples/DeleteMarketplaceGalleryImage.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/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MarketplaceGalleryImageNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "No content"
+ }
+ }
+ },
+ "patch": {
+ "operationId": "MarketplaceGalleryImages_Update",
+ "description": "The operation to update a marketplace gallery image.",
+ "x-ms-examples": {
+ "UpdateMarketplaceGalleryImage": {
+ "$ref": "./examples/UpdateMarketplaceGalleryImage.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/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MarketplaceGalleryImageNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "marketplaceGalleryImages",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MarketplaceGalleryImagesUpdateRequest"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MarketplaceGalleryImages"
+ }
+ },
+ "202": {
+ "description": "Updates the marketplace gallery image resource.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages": {
+ "get": {
+ "operationId": "MarketplaceGalleryImages_List",
+ "description": "Lists all of the marketplace gallery images in the specified resource group. Use the nextLink property in the response to get the next page of marketplace gallery images.",
+ "x-ms-examples": {
+ "ListMarketplaceGalleryImageByResourceGroup": {
+ "$ref": "./examples/ListMarketplaceGalleryImageByResourceGroup.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": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Lists all marketplace gallery images under the resource group.",
+ "schema": {
+ "$ref": "#/definitions/MarketplaceGalleryImagesListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages": {
+ "get": {
+ "operationId": "MarketplaceGalleryImages_ListAll",
+ "description": "Lists all of the marketplace gallery images in the specified subscription. Use the nextLink property in the response to get the next page of marketplace gallery images.",
+ "x-ms-examples": {
+ "ListMarketplaceGalleryImageBySubscription": {
+ "$ref": "./examples/ListMarketplaceGalleryImageBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Lists all marketplace gallery images under the subscription.",
+ "schema": {
+ "$ref": "#/definitions/MarketplaceGalleryImagesListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "MarketplaceGalleryImageProperties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "properties": {
+ "containerId": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.AzureStackHCI/storageContainers"
+ }
+ ]
+ },
+ "description": "Storage ContainerID of the storage container to be used for marketplace gallery image"
+ },
+ "osType": {
+ "type": "string",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ },
+ "description": "Operating system type that the gallery image uses [Windows, Linux]"
+ },
+ "cloudInitDataSource": {
+ "type": "string",
+ "description": "Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure]",
+ "enum": [
+ "NoCloud",
+ "Azure"
+ ],
+ "x-ms-enum": {
+ "name": "CloudInitDataSource",
+ "modelAsString": true
+ }
+ },
+ "hyperVGeneration": {
+ "type": "string",
+ "description": "The hypervisor generation of the Virtual Machine [V1, V2]",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGeneration",
+ "modelAsString": true
+ }
+ },
+ "identifier": {
+ "$ref": "#/definitions/GalleryImageIdentifier"
+ },
+ "version": {
+ "$ref": "#/definitions/GalleryImageVersion"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the marketplace gallery image.",
+ "readOnly": true,
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "InProgress",
+ "Accepted",
+ "Deleting",
+ "Canceled"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningStateEnum",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "$ref": "#/definitions/MarketplaceGalleryImageStatus"
+ }
+ },
+ "required": [
+ "osType"
+ ],
+ "description": "Properties under the marketplace gallery image resource"
+ },
+ "MarketplaceGalleryImageStatus": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "readOnly": true,
+ "properties": {
+ "errorCode": {
+ "type": "string",
+ "description": "MarketplaceGalleryImage provisioning error code"
+ },
+ "errorMessage": {
+ "type": "string",
+ "description": "Descriptive error message"
+ },
+ "provisioningStatus": {
+ "type": "object",
+ "properties": {
+ "operationId": {
+ "type": "string",
+ "description": "The ID of the operation performed on the gallery image"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the operation performed on the gallery image [Succeeded, Failed, InProgress]",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "InProgress"
+ ],
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "downloadStatus": {
+ "type": "object",
+ "properties": {
+ "downloadSizeInMB": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The downloaded sized of the image in MB"
+ }
+ },
+ "description": "The download status of the gallery image"
+ },
+ "progressPercentage": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The progress of the operation in percentage"
+ }
+ },
+ "description": "The observed state of marketplace gallery images"
+ },
+ "GalleryImageIdentifier": {
+ "type": "object",
+ "properties": {
+ "publisher": {
+ "type": "string",
+ "description": "The name of the gallery image definition publisher."
+ },
+ "offer": {
+ "type": "string",
+ "description": "The name of the gallery image definition offer."
+ },
+ "sku": {
+ "type": "string",
+ "description": "The name of the gallery image definition SKU."
+ }
+ },
+ "required": [
+ "publisher",
+ "offer",
+ "sku"
+ ],
+ "description": "This is the gallery image definition identifier."
+ },
+ "GalleryImageVersion": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "This is the version of the gallery image."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryImageVersionProperties"
+ }
+ },
+ "description": "Specifies information about the gallery image version that you want to create or update."
+ },
+ "GalleryImageVersionProperties": {
+ "type": "object",
+ "properties": {
+ "storageProfile": {
+ "$ref": "#/definitions/GalleryImageVersionStorageProfile"
+ }
+ },
+ "required": [
+ "storageProfile"
+ ],
+ "description": "Describes the properties of a gallery image version."
+ },
+ "GalleryImageVersionStorageProfile": {
+ "type": "object",
+ "properties": {
+ "osDiskImage": {
+ "$ref": "#/definitions/GalleryOSDiskImage"
+ }
+ },
+ "description": "This is the storage profile of a Gallery Image Version."
+ },
+ "GalleryOSDiskImage": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/GalleryDiskImage"
+ }
+ ],
+ "description": "This is the OS disk image."
+ },
+ "GalleryDiskImage": {
+ "type": "object",
+ "properties": {
+ "sizeInMB": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "This property indicates the size of the VHD to be created."
+ }
+ },
+ "description": "This is the disk image base class."
+ },
+ "MarketplaceGalleryImages": {
+ "type": "object",
+ "description": "The marketplace gallery image resource definition.",
+ "x-ms-azure-resource": true,
+ "x-ms-client-flatten": true,
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MarketplaceGalleryImageProperties"
+ },
+ "extendedLocation": {
+ "$ref": "./common.json#/definitions/ExtendedLocation",
+ "description": "The extendedLocation of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "MarketplaceGalleryImagesUpdateRequest": {
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "The marketplace gallery image resource patch definition."
+ },
+ "MarketplaceGalleryImagesListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MarketplaceGalleryImages"
+ }
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "MarketplaceGalleryImageNameParameter": {
+ "name": "marketplaceGalleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[a-zA-Z0-9]$",
+ "x-ms-parameter-location": "method",
+ "maxLength": 80,
+ "minLength": 1,
+ "description": "Name of the marketplace gallery image"
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/networkInterfaces.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/networkInterfaces.json
new file mode 100644
index 0000000000000..9dcf2e1a755b3
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/networkInterfaces.json
@@ -0,0 +1,512 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AzureStackHCI",
+ "description": "The Microsoft.AzureStackHCI Rest API spec.",
+ "version": "2024-01-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}": {
+ "get": {
+ "operationId": "NetworkInterfaces_Get",
+ "description": "Gets a network interface",
+ "x-ms-examples": {
+ "GetNetworkInterface": {
+ "$ref": "./examples/GetNetworkInterface.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkInterfaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaces"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "NetworkInterfaces_CreateOrUpdate",
+ "description": "The operation to create or update a network interface. Please note some properties can be set only during network interface creation.",
+ "x-ms-examples": {
+ "PutNetworkInterface": {
+ "$ref": "./examples/PutNetworkInterface.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/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkInterfaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "networkInterfaces",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaces"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Updated",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaces"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaces"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "NetworkInterfaces_Delete",
+ "description": "The operation to delete a network interface.",
+ "x-ms-examples": {
+ "DeleteNetworkInterface": {
+ "$ref": "./examples/DeleteNetworkInterface.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/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkInterfaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "No content"
+ }
+ }
+ },
+ "patch": {
+ "operationId": "NetworkInterfaces_Update",
+ "description": "The operation to update a network interface.",
+ "x-ms-examples": {
+ "UpdateNetworkInterface": {
+ "$ref": "./examples/UpdateNetworkInterface.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/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkInterfaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "networkInterfaces",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfacesUpdateRequest"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaces"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces": {
+ "get": {
+ "operationId": "NetworkInterfaces_List",
+ "description": "Lists all of the network interfaces in the specified resource group. Use the nextLink property in the response to get the next page of network interfaces.",
+ "x-ms-examples": {
+ "ListNetworkInterfaceByResourceGroup": {
+ "$ref": "./examples/ListNetworkInterfaceByResourceGroup.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": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfacesListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/networkInterfaces": {
+ "get": {
+ "operationId": "NetworkInterfaces_ListAll",
+ "description": "Lists all of the network interfaces in the specified subscription. Use the nextLink property in the response to get the next page of network interfaces.",
+ "x-ms-examples": {
+ "ListNetworkInterfaceBySubscription": {
+ "$ref": "./examples/ListNetworkInterfaceBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfacesListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "InterfaceDNSSettings": {
+ "type": "object",
+ "properties": {
+ "dnsServers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of DNS server IP Addresses for the interface"
+ }
+ }
+ },
+ "NetworkInterfaceProperties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "properties": {
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IPConfiguration"
+ },
+ "description": "IPConfigurations - A list of IPConfigurations of the network interface.",
+ "x-ms-identifiers": []
+ },
+ "macAddress": {
+ "type": "string",
+ "description": "MacAddress - The MAC address of the network interface."
+ },
+ "dnsSettings": {
+ "$ref": "#/definitions/InterfaceDNSSettings",
+ "description": "DNS Settings for the interface"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the network interface.",
+ "readOnly": true,
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "InProgress",
+ "Accepted",
+ "Deleting",
+ "Canceled"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningStateEnum",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "$ref": "#/definitions/NetworkInterfaceStatus"
+ }
+ },
+ "description": "Properties under the network interface resource"
+ },
+ "NetworkInterfaceStatus": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "readOnly": true,
+ "properties": {
+ "errorCode": {
+ "type": "string",
+ "description": "NetworkInterface provisioning error code"
+ },
+ "errorMessage": {
+ "type": "string",
+ "description": "Descriptive error message"
+ },
+ "provisioningStatus": {
+ "type": "object",
+ "properties": {
+ "operationId": {
+ "type": "string",
+ "description": "The ID of the operation performed on the network interface"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the operation performed on the network interface [Succeeded, Failed, InProgress]",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "InProgress"
+ ],
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "description": "The observed state of network interfaces"
+ },
+ "IPConfiguration": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "properties": {
+ "name": {
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ],
+ "description": "Name - The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "gateway": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gateway for network interface"
+ },
+ "prefixLength": {
+ "type": "string",
+ "readOnly": true,
+ "description": "prefixLength for network interface"
+ },
+ "privateIPAddress": {
+ "type": "string",
+ "description": "PrivateIPAddress - Private IP address of the IP configuration."
+ },
+ "subnet": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "ID - The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/..."
+ }
+ },
+ "description": "Subnet - Name of Subnet bound to the IP configuration."
+ }
+ },
+ "description": "InterfaceIPConfigurationPropertiesFormat properties of IP configuration."
+ }
+ },
+ "description": "InterfaceIPConfiguration iPConfiguration in a network interface."
+ },
+ "NetworkInterfaces": {
+ "type": "object",
+ "description": "The network interface resource definition.",
+ "x-ms-azure-resource": true,
+ "x-ms-client-flatten": true,
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NetworkInterfaceProperties"
+ },
+ "extendedLocation": {
+ "$ref": "./common.json#/definitions/ExtendedLocation",
+ "description": "The extendedLocation of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "NetworkInterfacesUpdateRequest": {
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "The network interface resource patch definition."
+ },
+ "NetworkInterfacesListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterfaces"
+ }
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "NetworkInterfaceNameParameter": {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$",
+ "x-ms-parameter-location": "method",
+ "maxLength": 80,
+ "minLength": 1,
+ "description": "Name of the network interface"
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/offers.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/offers.json
new file mode 100644
index 0000000000000..4154d19bc32fa
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/offers.json
@@ -0,0 +1,302 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-01-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/stable/2024-01-01/operations.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/operations.json
new file mode 100644
index 0000000000000..08f6da1770945
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/operations.json
@@ -0,0 +1,73 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-01-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/Microsoft.AzureStackHCI/stable/2024-01-01/publishers.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/publishers.json
new file mode 100644
index 0000000000000..fd41bcf9a95e9
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/publishers.json
@@ -0,0 +1,188 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-01-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/stable/2024-01-01/securitySettings.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/securitySettings.json
new file mode 100644
index 0000000000000..56c8a2879818f
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/securitySettings.json
@@ -0,0 +1,492 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AzureStackHCI",
+ "version": "2024-01-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/v3/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/v3/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/v3/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/v3/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"
+ },
+ "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/v3/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/stable/2024-01-01/skus.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/skus.json
new file mode 100644
index 0000000000000..f20458b7d5c50
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/skus.json
@@ -0,0 +1,275 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-01-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/stable/2024-01-01/storageContainers.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/storageContainers.json
new file mode 100644
index 0000000000000..5c561fb95e326
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/storageContainers.json
@@ -0,0 +1,455 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AzureStackHCI",
+ "description": "The Microsoft.AzureStackHCI Rest API spec.",
+ "version": "2024-01-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}": {
+ "get": {
+ "operationId": "StorageContainers_Get",
+ "description": "Gets a storage container",
+ "x-ms-examples": {
+ "GetStorageContainer": {
+ "$ref": "./examples/GetStorageContainer.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageContainerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageContainers"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "StorageContainers_CreateOrUpdate",
+ "description": "The operation to create or update a storage container. Please note some properties can be set only during storage container creation.",
+ "x-ms-examples": {
+ "PutStorageContainer": {
+ "$ref": "./examples/PutStorageContainer.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/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageContainerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "storageContainers",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/StorageContainers"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Updated",
+ "schema": {
+ "$ref": "#/definitions/StorageContainers"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/StorageContainers"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "StorageContainers_Delete",
+ "description": "The operation to delete a storage container.",
+ "x-ms-examples": {
+ "DeleteStorageContainer": {
+ "$ref": "./examples/DeleteStorageContainer.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/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageContainerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "No content"
+ }
+ }
+ },
+ "patch": {
+ "operationId": "StorageContainers_Update",
+ "description": "The operation to update a storage container.",
+ "x-ms-examples": {
+ "UpdateStorageContainer": {
+ "$ref": "./examples/UpdateStorageContainer.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/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageContainerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "storageContainers",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/StorageContainersUpdateRequest"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageContainers"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers": {
+ "get": {
+ "operationId": "StorageContainers_List",
+ "description": "Lists all of the storage containers in the specified resource group. Use the nextLink property in the response to get the next page of storage containers.",
+ "x-ms-examples": {
+ "ListStorageContainerByResourceGroup": {
+ "$ref": "./examples/ListStorageContainerByResourceGroup.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": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageContainersListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/storageContainers": {
+ "get": {
+ "operationId": "StorageContainers_ListAll",
+ "description": "Lists all of the storage containers in the specified subscription. Use the nextLink property in the response to get the next page of storage containers.",
+ "x-ms-examples": {
+ "ListStorageContainerBySubscription": {
+ "$ref": "./examples/ListStorageContainerBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageContainersListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "StorageContainerProperties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "Path of the storage container on the disk"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the storage container.",
+ "readOnly": true,
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "InProgress",
+ "Accepted",
+ "Deleting",
+ "Canceled"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningStateEnum",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "$ref": "#/definitions/StorageContainerStatus"
+ }
+ },
+ "required": [
+ "path"
+ ],
+ "description": "Properties under the storage container resource"
+ },
+ "StorageContainerStatus": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "readOnly": true,
+ "properties": {
+ "errorCode": {
+ "type": "string",
+ "description": "StorageContainer provisioning error code"
+ },
+ "errorMessage": {
+ "type": "string",
+ "description": "Descriptive error message"
+ },
+ "availableSizeMB": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Amount of space available on the disk in MB"
+ },
+ "containerSizeMB": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total size of the disk in MB"
+ },
+ "provisioningStatus": {
+ "type": "object",
+ "properties": {
+ "operationId": {
+ "type": "string",
+ "description": "The ID of the operation performed on the storage container"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the operation performed on the storage container [Succeeded, Failed, InProgress]",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "InProgress"
+ ],
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "description": "The observed state of storage containers"
+ },
+ "StorageContainers": {
+ "type": "object",
+ "description": "The storage container resource definition.",
+ "x-ms-azure-resource": true,
+ "x-ms-client-flatten": true,
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/StorageContainerProperties"
+ },
+ "extendedLocation": {
+ "$ref": "./common.json#/definitions/ExtendedLocation",
+ "description": "The extendedLocation of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "StorageContainersUpdateRequest": {
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "The storage container resource patch definition."
+ },
+ "StorageContainersListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageContainers"
+ }
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "StorageContainerNameParameter": {
+ "name": "storageContainerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$",
+ "x-ms-parameter-location": "method",
+ "maxLength": 80,
+ "minLength": 1,
+ "description": "Name of the storage container"
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/updateRuns.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/updateRuns.json
new file mode 100644
index 0000000000000..c798fb197909c
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/updateRuns.json
@@ -0,0 +1,408 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-01-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"
+ },
+ "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/stable/2024-01-01/updateSummaries.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/updateSummaries.json
new file mode 100644
index 0000000000000..dc5e177eaa21d
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/updateSummaries.json
@@ -0,0 +1,487 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-01-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"
+ },
+ "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"
+ },
+ "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": "#/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
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "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"
+ },
+ "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": {
+ "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/stable/2024-01-01/updates.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/updates.json
new file mode 100644
index 0000000000000..7233d5bf1af2e
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/updates.json
@@ -0,0 +1,660 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-01-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"
+ },
+ "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": "#/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
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "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"
+ },
+ "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": {
+ "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/stable/2024-01-01/virtualHardDisks.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/virtualHardDisks.json
new file mode 100644
index 0000000000000..9507488fa7cff
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/virtualHardDisks.json
@@ -0,0 +1,494 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AzureStackHCI",
+ "description": "The Microsoft.AzureStackHCI Rest API spec.",
+ "version": "2024-01-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}": {
+ "get": {
+ "operationId": "VirtualHardDisks_Get",
+ "description": "Gets a virtual hard disk",
+ "x-ms-examples": {
+ "GetVirtualHardDisk": {
+ "$ref": "./examples/GetVirtualHardDisk.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VirtualHardDiskNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualHardDisks"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "VirtualHardDisks_CreateOrUpdate",
+ "description": "The operation to create or update a virtual hard disk. Please note some properties can be set only during virtual hard disk creation.",
+ "x-ms-examples": {
+ "PutVirtualHardDisk": {
+ "$ref": "./examples/PutVirtualHardDisk.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/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VirtualHardDiskNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "virtualHardDisks",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualHardDisks"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Updated",
+ "schema": {
+ "$ref": "#/definitions/VirtualHardDisks"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualHardDisks"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "VirtualHardDisks_Delete",
+ "description": "The operation to delete a virtual hard disk.",
+ "x-ms-examples": {
+ "DeleteVirtualHardDisk": {
+ "$ref": "./examples/DeleteVirtualHardDisk.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/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VirtualHardDiskNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "No content"
+ }
+ }
+ },
+ "patch": {
+ "operationId": "VirtualHardDisks_Update",
+ "description": "The operation to update a virtual hard disk.",
+ "x-ms-examples": {
+ "UpdateVirtualHardDisk": {
+ "$ref": "./examples/UpdateVirtualHardDisk.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/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VirtualHardDiskNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "virtualHardDisks",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualHardDisksUpdateRequest"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualHardDisks"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks": {
+ "get": {
+ "operationId": "VirtualHardDisks_List",
+ "description": "Lists all of the virtual hard disks in the specified resource group. Use the nextLink property in the response to get the next page of virtual hard disks.",
+ "x-ms-examples": {
+ "ListVirtualHardDiskByResourceGroup": {
+ "$ref": "./examples/ListVirtualHardDiskByResourceGroup.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": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualHardDisksListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/virtualHardDisks": {
+ "get": {
+ "operationId": "VirtualHardDisks_ListAll",
+ "description": "Lists all of the virtual hard disks in the specified subscription. Use the nextLink property in the response to get the next page of virtual hard disks.",
+ "x-ms-examples": {
+ "ListVirtualHardDiskBySubscription": {
+ "$ref": "./examples/ListVirtualHardDiskBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualHardDisksListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "VirtualHardDiskProperties": {
+ "type": "object",
+ "properties": {
+ "blockSizeBytes": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Size of the disk in GB"
+ },
+ "dynamic": {
+ "type": "boolean",
+ "description": "Boolean for enabling dynamic sizing on the virtual hard disk"
+ },
+ "logicalSectorBytes": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "physicalSectorBytes": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "hyperVGeneration": {
+ "type": "string",
+ "description": "The hypervisor generation of the Virtual Machine [V1, V2]",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGeneration",
+ "modelAsString": true
+ }
+ },
+ "diskFileFormat": {
+ "type": "string",
+ "description": "The format of the actual VHD file [vhd, vhdx]",
+ "enum": [
+ "vhdx",
+ "vhd"
+ ],
+ "x-ms-enum": {
+ "name": "DiskFileFormat",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the virtual hard disk.",
+ "readOnly": true,
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "InProgress",
+ "Accepted",
+ "Deleting",
+ "Canceled"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningStateEnum",
+ "modelAsString": true
+ }
+ },
+ "containerId": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.AzureStackHCI/storageContainers"
+ }
+ ]
+ },
+ "description": "Storage ContainerID of the storage container to be used for VHD"
+ },
+ "status": {
+ "$ref": "#/definitions/VirtualHardDiskStatus"
+ }
+ },
+ "description": "Properties under the virtual hard disk resource"
+ },
+ "VirtualHardDiskStatus": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "readOnly": true,
+ "properties": {
+ "errorCode": {
+ "type": "string",
+ "description": "VirtualHardDisk provisioning error code"
+ },
+ "errorMessage": {
+ "type": "string",
+ "description": "Descriptive error message"
+ },
+ "provisioningStatus": {
+ "type": "object",
+ "properties": {
+ "operationId": {
+ "type": "string",
+ "description": "The ID of the operation performed on the virtual hard disk"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the operation performed on the virtual hard disk [Succeeded, Failed, InProgress]",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "InProgress"
+ ],
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "description": "The observed state of virtual hard disks"
+ },
+ "VirtualHardDisks": {
+ "type": "object",
+ "description": "The virtual hard disk resource definition.",
+ "x-ms-azure-resource": true,
+ "x-ms-client-flatten": true,
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualHardDiskProperties"
+ },
+ "extendedLocation": {
+ "$ref": "./common.json#/definitions/ExtendedLocation",
+ "description": "The extendedLocation of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "VirtualHardDisksUpdateRequest": {
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "The virtual hard disk resource patch definition."
+ },
+ "VirtualHardDisksListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualHardDisks"
+ }
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "VirtualHardDiskNameParameter": {
+ "name": "virtualHardDiskName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[a-zA-Z0-9]$",
+ "x-ms-parameter-location": "method",
+ "maxLength": 80,
+ "minLength": 1,
+ "description": "Name of the virtual hard disk"
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/virtualMachineInstances.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/virtualMachineInstances.json
new file mode 100644
index 0000000000000..7399e8e7d47bb
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/virtualMachineInstances.json
@@ -0,0 +1,1561 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AzureStackHCI",
+ "description": "The Microsoft.AzureStackHCI Rest API spec.",
+ "version": "2024-01-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default": {
+ "get": {
+ "operationId": "VirtualMachineInstances_Get",
+ "description": "Gets a virtual machine instance",
+ "x-ms-examples": {
+ "GetVirtualMachineInstance": {
+ "$ref": "./examples/GetVirtualMachineInstance.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineInstance"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "VirtualMachineInstances_CreateOrUpdate",
+ "description": "The operation to create or update a virtual machine instance. Please note some properties can be set only during virtual machine instance creation.",
+ "x-ms-examples": {
+ "PutVirtualMachineInstanceWithGalleryImage": {
+ "$ref": "./examples/PutVirtualMachineInstanceWithGalleryImage.json"
+ },
+ "PutVirtualMachineInstanceWithMarketplaceGalleryImage": {
+ "$ref": "./examples/PutVirtualMachineInstanceWithMarketplaceGalleryImage.json"
+ },
+ "PutVirtualMachineInstanceWithOsDisk": {
+ "$ref": "./examples/PutVirtualMachineInstanceWithOsDisk.json"
+ },
+ "PutVirtualMachineInstanceWithVMConfigAgent": {
+ "$ref": "./examples/PutVirtualMachineInstanceWithVMConfigAgent.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "virtualMachineInstance",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineInstance"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Updated",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineInstance"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineInstance"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "VirtualMachineInstances_Delete",
+ "description": "The operation to delete a virtual machine instance.",
+ "x-ms-examples": {
+ "DeleteVirtualMachine": {
+ "$ref": "./examples/DeleteVirtualMachineInstance.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "No content"
+ }
+ }
+ },
+ "patch": {
+ "operationId": "VirtualMachineInstances_Update",
+ "description": "The operation to update a virtual machine instance.",
+ "x-ms-examples": {
+ "UpdateVirtualMachine": {
+ "$ref": "./examples/UpdateVirtualMachineInstance.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "virtualMachineInstance",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineInstanceUpdateRequest"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineInstance"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/start": {
+ "post": {
+ "operationId": "VirtualMachineInstances_Start",
+ "description": "The operation to start a virtual machine instance.",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "StartVirtualMachine": {
+ "$ref": "./examples/StartVirtualMachineInstance.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineInstance"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/stop": {
+ "post": {
+ "operationId": "VirtualMachineInstances_Stop",
+ "description": "The operation to stop a virtual machine instance.",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "StopVirtualMachine": {
+ "$ref": "./examples/StopVirtualMachineInstance.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineInstance"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/restart": {
+ "post": {
+ "operationId": "VirtualMachineInstances_Restart",
+ "description": "The operation to restart a virtual machine instance.",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "RestartVirtualMachine": {
+ "$ref": "./examples/RestartVirtualMachineInstance.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineInstance"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances": {
+ "get": {
+ "operationId": "VirtualMachineInstances_List",
+ "description": "Lists all of the virtual machine instances within the specified parent resource.",
+ "x-ms-examples": {
+ "ListVirtualMachineInstances": {
+ "$ref": "./examples/ListVirtualMachineInstances.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineInstanceListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default": {
+ "get": {
+ "tags": [
+ "HybridIdentityMetadata"
+ ],
+ "operationId": "HybridIdentityMetadata_Get",
+ "summary": "Gets HybridIdentityMetadata.",
+ "description": "Implements HybridIdentityMetadata GET method.",
+ "x-ms-examples": {
+ "GetHybridIdentityMetadata": {
+ "$ref": "./examples/GetHybridIdentityMetadata.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/HybridIdentityMetadata"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata": {
+ "get": {
+ "tags": [
+ "HybridIdentityMetadata"
+ ],
+ "operationId": "HybridIdentityMetadata_List",
+ "summary": "Implements GET HybridIdentityMetadata in a vm.",
+ "description": "Returns the list of HybridIdentityMetadata of the given vm.",
+ "x-ms-examples": {
+ "HybridIdentityMetadataListByVirtualMachineInstances": {
+ "$ref": "./examples/HybridIdentityMetadata_List.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/HybridIdentityMetadataList"
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default": {
+ "put": {
+ "tags": [
+ "GuestAgents"
+ ],
+ "operationId": "GuestAgent_Create",
+ "description": "Create Or Update GuestAgent.",
+ "summary": "Implements GuestAgent PUT method.",
+ "x-ms-examples": {
+ "CreateGuestAgent": {
+ "$ref": "./examples/CreateGuestAgent.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Request payload.",
+ "schema": {
+ "$ref": "#/definitions/GuestAgent"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated",
+ "schema": {
+ "$ref": "#/definitions/GuestAgent"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/GuestAgent"
+ }
+ },
+ "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"
+ }
+ },
+ "get": {
+ "tags": [
+ "GuestAgents"
+ ],
+ "operationId": "GuestAgent_Get",
+ "summary": "Gets GuestAgent.",
+ "description": "Implements GuestAgent GET method.",
+ "x-ms-examples": {
+ "GetGuestAgent": {
+ "$ref": "./examples/GetGuestAgent.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GuestAgent"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "GuestAgents"
+ ],
+ "operationId": "GuestAgent_Delete",
+ "summary": "Deleted an GuestAgent.",
+ "description": "Implements GuestAgent DELETE method.",
+ "x-ms-examples": {
+ "DeleteGuestAgent": {
+ "$ref": "./examples/DeleteGuestAgent.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "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
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents": {
+ "get": {
+ "tags": [
+ "GuestAgents"
+ ],
+ "operationId": "GuestAgents_List",
+ "summary": "Implements GET GuestAgent in a vm.",
+ "description": "Returns the list of GuestAgent of the given vm.",
+ "x-ms-examples": {
+ "GuestAgentListByVirtualMachineInstances": {
+ "$ref": "./examples/GuestAgent_List.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GuestAgentList"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "VirtualMachineInstanceProperties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "properties": {
+ "hardwareProfile": {
+ "type": "object",
+ "properties": {
+ "vmSize": {
+ "type": "string",
+ "enum": [
+ "Default",
+ "Standard_A2_v2",
+ "Standard_A4_v2",
+ "Standard_D2s_v3",
+ "Standard_D4s_v3",
+ "Standard_D8s_v3",
+ "Standard_D16s_v3",
+ "Standard_D32s_v3",
+ "Standard_DS2_v2",
+ "Standard_DS3_v2",
+ "Standard_DS4_v2",
+ "Standard_DS5_v2",
+ "Standard_DS13_v2",
+ "Standard_K8S_v1",
+ "Standard_K8S2_v1",
+ "Standard_K8S3_v1",
+ "Standard_K8S4_v1",
+ "Standard_NK6",
+ "Standard_NK12",
+ "Standard_NV6",
+ "Standard_NV12",
+ "Standard_K8S5_v1",
+ "Custom"
+ ],
+ "default": "Default",
+ "x-ms-enum": {
+ "name": "VmSizeEnum",
+ "modelAsString": true
+ }
+ },
+ "processors": {
+ "type": "integer",
+ "format": "int32",
+ "description": "number of processors for the virtual machine instance"
+ },
+ "memoryMB": {
+ "type": "integer",
+ "format": "int64",
+ "description": "RAM in MB for the virtual machine instance"
+ },
+ "dynamicMemoryConfig": {
+ "type": "object",
+ "properties": {
+ "maximumMemoryMB": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "minimumMemoryMB": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "targetMemoryBuffer": {
+ "type": "integer",
+ "description": "Defines the amount of extra memory that should be reserved for a virtual machine instance at runtime, as a percentage of the total memory that the virtual machine instance is thought to need. This only applies to virtual systems with dynamic memory enabled. This property can be in the range of 5 to 2000.",
+ "format": "int32"
+ }
+ }
+ }
+ },
+ "description": "HardwareProfile - Specifies the hardware settings for the virtual machine instance."
+ },
+ "networkProfile": {
+ "type": "object",
+ "properties": {
+ "networkInterfaces": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "ID - Resource Id of the network interface"
+ }
+ }
+ },
+ "description": "NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance"
+ }
+ },
+ "description": "NetworkProfile - describes the network configuration the virtual machine instance"
+ },
+ "osProfile": {
+ "type": "object",
+ "properties": {
+ "adminPassword": {
+ "type": "string",
+ "x-ms-secret": true,
+ "description": "AdminPassword - admin password",
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "adminUsername": {
+ "type": "string",
+ "description": "AdminUsername - admin username"
+ },
+ "computerName": {
+ "type": "string",
+ "description": "ComputerName - name of the compute"
+ },
+ "linuxConfiguration": {
+ "type": "object",
+ "properties": {
+ "disablePasswordAuthentication": {
+ "type": "boolean",
+ "description": "DisablePasswordAuthentication - whether password authentication should be disabled"
+ },
+ "ssh": {
+ "$ref": "#/definitions/SshConfiguration",
+ "description": "Specifies the ssh key configuration for a Linux OS."
+ },
+ "provisionVMAgent": {
+ "type": "boolean",
+ "default": true,
+ "description": "Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process."
+ },
+ "provisionVMConfigAgent": {
+ "type": "boolean",
+ "default": true,
+ "description": "Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process."
+ }
+ },
+ "description": "LinuxConfiguration - linux specific configuration values for the virtual machine instance"
+ },
+ "windowsConfiguration": {
+ "type": "object",
+ "properties": {
+ "enableAutomaticUpdates": {
+ "type": "boolean",
+ "description": "Whether to EnableAutomaticUpdates on the machine"
+ },
+ "ssh": {
+ "$ref": "#/definitions/SshConfiguration",
+ "description": "Specifies the ssh key configuration for Windows OS."
+ },
+ "timeZone": {
+ "type": "string",
+ "description": "TimeZone for the virtual machine instance"
+ },
+ "provisionVMAgent": {
+ "type": "boolean",
+ "default": true,
+ "description": "Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process."
+ },
+ "provisionVMConfigAgent": {
+ "type": "boolean",
+ "default": true,
+ "description": "Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process."
+ }
+ },
+ "description": "Windows Configuration for the virtual machine instance "
+ }
+ },
+ "description": "OsProfile - describes the configuration of the operating system and sets login data"
+ },
+ "securityProfile": {
+ "type": "object",
+ "properties": {
+ "enableTPM": {
+ "type": "boolean",
+ "default": false
+ },
+ "uefiSettings": {
+ "type": "object",
+ "properties": {
+ "secureBootEnabled": {
+ "type": "boolean",
+ "default": false,
+ "description": "Specifies whether secure boot should be enabled on the virtual machine instance."
+ }
+ }
+ },
+ "securityType": {
+ "type": "string",
+ "description": "Specifies the SecurityType of the virtual machine. EnableTPM and SecureBootEnabled must be set to true for SecurityType to function.",
+ "enum": [
+ "TrustedLaunch",
+ "ConfidentialVM"
+ ],
+ "x-ms-enum": {
+ "name": "SecurityTypes",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "SecurityProfile - Specifies the security settings for the virtual machine instance."
+ },
+ "storageProfile": {
+ "type": "object",
+ "properties": {
+ "dataDisks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID of the data disk"
+ }
+ }
+ },
+ "description": "adds data disks to the virtual machine instance"
+ },
+ "imageReference": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ],
+ "description": "Resource ID of the image"
+ }
+ },
+ "description": "Which Image to use for the virtual machine instance"
+ },
+ "osDisk": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID of the OS disk"
+ },
+ "osType": {
+ "type": "string",
+ "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.**",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "VHD to attach as OS disk"
+ },
+ "vmConfigStoragePathId": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.AzureStackHCI/storageContainers"
+ }
+ ]
+ },
+ "description": "Id of the storage container that hosts the VM configuration file"
+ }
+ },
+ "description": "StorageProfile - contains information about the disks and storage information for the virtual machine instance"
+ },
+ "httpProxyConfig": {
+ "description": "HTTP Proxy configuration for the VM.",
+ "$ref": "#/definitions/HttpProxyConfiguration"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the virtual machine instance.",
+ "readOnly": true,
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "InProgress",
+ "Accepted",
+ "Deleting",
+ "Canceled"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningStateEnum",
+ "modelAsString": true
+ }
+ },
+ "instanceView": {
+ "$ref": "#/definitions/VirtualMachineInstanceView",
+ "readOnly": true,
+ "description": "The virtual machine instance view."
+ },
+ "status": {
+ "$ref": "#/definitions/VirtualMachineInstanceStatus"
+ },
+ "guestAgentInstallStatus": {
+ "description": "Guest agent install status.",
+ "$ref": "#/definitions/GuestAgentInstallStatus"
+ },
+ "vmId": {
+ "description": "Unique identifier for the vm resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceUid": {
+ "description": "Unique identifier defined by ARC to identify the guest of the VM.",
+ "type": "string"
+ }
+ },
+ "description": "Properties under the virtual machine instance resource"
+ },
+ "SshPublicKey": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys"
+ },
+ "keyData": {
+ "type": "string",
+ "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.
For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed)."
+ }
+ },
+ "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed."
+ },
+ "SshConfiguration": {
+ "type": "object",
+ "properties": {
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SshPublicKey"
+ },
+ "x-ms-identifiers": [
+ "path"
+ ],
+ "description": "The list of SSH public keys used to authenticate with linux based VMs."
+ }
+ },
+ "description": "SSH configuration for Linux based VMs running on Azure"
+ },
+ "VirtualMachineInstanceStatus": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "readOnly": true,
+ "properties": {
+ "errorCode": {
+ "type": "string",
+ "description": "VirtualMachine provisioning error code"
+ },
+ "errorMessage": {
+ "type": "string",
+ "description": "Descriptive error message"
+ },
+ "powerState": {
+ "type": "string",
+ "description": "The power state of the virtual machine instance",
+ "enum": [
+ "Deallocated",
+ "Deallocating",
+ "Running",
+ "Starting",
+ "Stopped",
+ "Stopping",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "PowerStateEnum",
+ "modelAsString": true
+ }
+ },
+ "provisioningStatus": {
+ "type": "object",
+ "properties": {
+ "operationId": {
+ "type": "string",
+ "description": "The ID of the operation performed on the virtual machine instance"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the operation performed on the virtual machine instance [Succeeded, Failed, InProgress]",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "InProgress"
+ ],
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "description": "The observed state of virtual machine instances"
+ },
+ "VirtualMachineInstance": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "x-ms-azure-resource": true,
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineInstanceProperties"
+ },
+ "extendedLocation": {
+ "$ref": "./common.json#/definitions/ExtendedLocation",
+ "description": "The extendedLocation of the resource."
+ },
+ "identity": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Identity"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "The virtual machine instance resource definition."
+ },
+ "VirtualMachineInstanceView": {
+ "type": "object",
+ "properties": {
+ "vmAgent": {
+ "$ref": "#/definitions/VirtualMachineConfigAgentInstanceView",
+ "description": "The VM Config Agent running on the virtual machine."
+ }
+ },
+ "description": "The instance view of a virtual machine."
+ },
+ "VirtualMachineConfigAgentInstanceView": {
+ "type": "object",
+ "properties": {
+ "vmConfigAgentVersion": {
+ "type": "string",
+ "description": "The VM Config Agent full version."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "x-ms-identifiers": [],
+ "description": "The resource status information."
+ }
+ },
+ "description": "The instance view of the VM Config Agent running on the virtual machine."
+ },
+ "InstanceViewStatus": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The status code."
+ },
+ "level": {
+ "type": "string",
+ "description": "The level code.",
+ "enum": [
+ "Info",
+ "Warning",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "StatusLevelTypes",
+ "modelAsString": true
+ }
+ },
+ "displayStatus": {
+ "type": "string",
+ "description": "The short localizable label for the status."
+ },
+ "message": {
+ "type": "string",
+ "description": "The detailed status message, including for alerts and error messages."
+ },
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time of the status."
+ }
+ },
+ "description": "Instance view status."
+ },
+ "HardwareProfileUpdate": {
+ "type": "object",
+ "properties": {
+ "vmSize": {
+ "type": "string",
+ "enum": [
+ "Default",
+ "Standard_A2_v2",
+ "Standard_A4_v2",
+ "Standard_D2s_v3",
+ "Standard_D4s_v3",
+ "Standard_D8s_v3",
+ "Standard_D16s_v3",
+ "Standard_D32s_v3",
+ "Standard_DS2_v2",
+ "Standard_DS3_v2",
+ "Standard_DS4_v2",
+ "Standard_DS5_v2",
+ "Standard_DS13_v2",
+ "Standard_K8S_v1",
+ "Standard_K8S2_v1",
+ "Standard_K8S3_v1",
+ "Standard_K8S4_v1",
+ "Standard_NK6",
+ "Standard_NK12",
+ "Standard_NV6",
+ "Standard_NV12",
+ "Standard_K8S5_v1",
+ "Custom"
+ ],
+ "default": "Default",
+ "x-ms-enum": {
+ "name": "VmSizeEnum",
+ "modelAsString": true
+ }
+ },
+ "processors": {
+ "type": "integer",
+ "format": "int32",
+ "description": "number of processors for the virtual machine instance"
+ },
+ "memoryMB": {
+ "type": "integer",
+ "format": "int64",
+ "description": "RAM in MB for the virtual machine instance"
+ }
+ },
+ "description": "HardwareProfile - Specifies the hardware settings for the virtual machine instance."
+ },
+ "NetworkProfileUpdate": {
+ "type": "object",
+ "properties": {
+ "networkInterfaces": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "ID - Resource ID of the network interface"
+ }
+ }
+ },
+ "description": "NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance"
+ }
+ },
+ "description": "NetworkProfile - describes the network update configuration the virtual machine instance"
+ },
+ "StorageProfileUpdate": {
+ "type": "object",
+ "properties": {
+ "dataDisks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ }
+ }
+ },
+ "description": "adds data disks to the virtual machine instance for the update call"
+ }
+ }
+ },
+ "OsProfileUpdate": {
+ "type": "object",
+ "properties": {
+ "computerName": {
+ "type": "string",
+ "description": "ComputerName - name of the computer"
+ },
+ "linuxConfiguration": {
+ "type": "object",
+ "properties": {
+ "provisionVMAgent": {
+ "type": "boolean",
+ "description": "Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process."
+ },
+ "provisionVMConfigAgent": {
+ "type": "boolean",
+ "description": "Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process."
+ }
+ }
+ },
+ "windowsConfiguration": {
+ "type": "object",
+ "properties": {
+ "provisionVMAgent": {
+ "type": "boolean",
+ "description": "Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process."
+ },
+ "provisionVMConfigAgent": {
+ "type": "boolean",
+ "description": "Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process."
+ }
+ }
+ }
+ },
+ "description": "OsProfile - describes the update configuration of the operating system"
+ },
+ "VirtualMachineInstanceUpdateProperties": {
+ "description": "Defines the resource properties for the update.",
+ "type": "object",
+ "properties": {
+ "hardwareProfile": {
+ "$ref": "#/definitions/HardwareProfileUpdate"
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/StorageProfileUpdate"
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/NetworkProfileUpdate"
+ },
+ "osProfile": {
+ "$ref": "#/definitions/OsProfileUpdate"
+ }
+ }
+ },
+ "VirtualMachineInstanceUpdateRequest": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/VirtualMachineInstanceUpdateProperties"
+ },
+ "identity": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Identity"
+ }
+ },
+ "description": "The virtual machine instance resource patch definition."
+ },
+ "VirtualMachineInstanceListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineInstance"
+ }
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ }
+ },
+ "GuestAgentInstallStatus": {
+ "description": "Defines the status of a guest agent installation.",
+ "type": "object",
+ "properties": {
+ "vmUuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the VM's unique SMBIOS ID."
+ },
+ "status": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The installation status of the hybrid machine agent installation.",
+ "enum": [
+ "Succeeded",
+ "InProgress",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "StatusTypes",
+ "modelAsString": true
+ }
+ },
+ "lastStatusChange": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The time of the last status change."
+ },
+ "agentVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The hybrid machine agent full version."
+ },
+ "errorDetails": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorDetail"
+ },
+ "x-ms-identifiers": [],
+ "description": "Details about the error state."
+ }
+ }
+ },
+ "HybridIdentityMetadataList": {
+ "description": "List of HybridIdentityMetadata.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "Url to follow for getting next page of HybridIdentityMetadata.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of HybridIdentityMetadata",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HybridIdentityMetadata"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "HybridIdentityMetadata": {
+ "description": "Defines the HybridIdentityMetadata.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource",
+ "description": "The resource model definition for an Azure Resource Manager proxy resource. It will have everything other than required location and tags."
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Resource properties.",
+ "$ref": "#/definitions/HybridIdentityMetadataProperties"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData",
+ "description": "The system data."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "HybridIdentityMetadataProperties": {
+ "description": "Defines the resource properties.",
+ "type": "object",
+ "properties": {
+ "resourceUid": {
+ "description": "The unique identifier for the resource.",
+ "type": "string"
+ },
+ "publicKey": {
+ "description": "The Public Key.",
+ "type": "string"
+ },
+ "identity": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Identity",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "The provisioning state.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "GuestAgentList": {
+ "type": "object",
+ "description": "List of GuestAgent.",
+ "properties": {
+ "nextLink": {
+ "description": "Url to follow for getting next page of GuestAgent.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of GuestAgent",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GuestAgent"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "GuestAgent": {
+ "description": "Defines the GuestAgent.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource",
+ "description": "The resource model definition for an Azure Resource Manager proxy resource. It will have everything other than required location and tags."
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Resource properties.",
+ "$ref": "#/definitions/GuestAgentProperties"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData",
+ "description": "The system data."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ProvisioningAction": {
+ "description": "Defines the different types of operations for guest agent.",
+ "enum": [
+ "install",
+ "uninstall",
+ "repair"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ProvisioningAction"
+ }
+ },
+ "GuestCredential": {
+ "description": "Username / Password Credentials to connect to guest.",
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "The username to connect with the guest.",
+ "type": "string"
+ },
+ "password": {
+ "description": "The password to connect with the guest.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ }
+ }
+ },
+ "GuestAgentProperties": {
+ "description": "Defines the resource properties.",
+ "type": "object",
+ "properties": {
+ "credentials": {
+ "description": "Username / Password Credentials to provision guest agent.",
+ "$ref": "#/definitions/GuestCredential"
+ },
+ "provisioningAction": {
+ "description": "The guest agent provisioning action.",
+ "$ref": "#/definitions/ProvisioningAction",
+ "type": "string"
+ },
+ "status": {
+ "description": "The guest agent status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "The provisioning state.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "HttpProxyConfiguration": {
+ "description": "HTTP Proxy configuration for the VM.",
+ "type": "object",
+ "properties": {
+ "httpProxy": {
+ "type": "string",
+ "x-ms-secret": true,
+ "description": "The HTTP proxy server endpoint to use."
+ },
+ "httpsProxy": {
+ "type": "string",
+ "x-ms-secret": true,
+ "description": "The HTTPS proxy server endpoint to use."
+ },
+ "noProxy": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The endpoints that should not go through proxy."
+ },
+ "trustedCa": {
+ "type": "string",
+ "description": "Alternative CA cert to use for connecting to proxy servers."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ResourceUriParameter": {
+ "in": "path",
+ "name": "resourceUri",
+ "description": "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/readme.md b/specification/azurestackhci/resource-manager/readme.md
index 3d0dbad3c8a9d..4e53b7b700a43 100644
--- a/specification/azurestackhci/resource-manager/readme.md
+++ b/specification/azurestackhci/resource-manager/readme.md
@@ -29,7 +29,7 @@ title: AzureStackHCIClient
description: Azure Stack HCI management service
openapi-type: arm
openapi-subtype: rpaas
-tag: package-preview-2023-11
+tag: package-2024-01
```
## Suppression
@@ -79,6 +79,34 @@ suppressions:
```
+### Tag: package-2024-01
+
+These settings apply only when `--tag=package-2024-01` is specified on the command line.
+
+```yaml $(tag) == 'package-2024-01'
+input-file:
+ - Microsoft.AzureStackHCI/stable/2024-01-01/arcSettings.json
+ - Microsoft.AzureStackHCI/stable/2024-01-01/clusters.json
+ - Microsoft.AzureStackHCI/stable/2024-01-01/deploymentSettings.json
+ - Microsoft.AzureStackHCI/stable/2024-01-01/edgeDevices.json
+ - Microsoft.AzureStackHCI/stable/2024-01-01/common.json
+ - Microsoft.AzureStackHCI/stable/2024-01-01/extensions.json
+ - Microsoft.AzureStackHCI/stable/2024-01-01/galleryImages.json
+ - Microsoft.AzureStackHCI/stable/2024-01-01/logicalNetworks.json
+ - Microsoft.AzureStackHCI/stable/2024-01-01/marketplaceGalleryImages.json
+ - Microsoft.AzureStackHCI/stable/2024-01-01/networkInterfaces.json
+ - Microsoft.AzureStackHCI/stable/2024-01-01/offers.json
+ - Microsoft.AzureStackHCI/stable/2024-01-01/operations.json
+ - Microsoft.AzureStackHCI/stable/2024-01-01/publishers.json
+ - Microsoft.AzureStackHCI/stable/2024-01-01/securitySettings.json
+ - Microsoft.AzureStackHCI/stable/2024-01-01/skus.json
+ - Microsoft.AzureStackHCI/stable/2024-01-01/storageContainers.json
+ - Microsoft.AzureStackHCI/stable/2024-01-01/updateRuns.json
+ - Microsoft.AzureStackHCI/stable/2024-01-01/updateSummaries.json
+ - Microsoft.AzureStackHCI/stable/2024-01-01/updates.json
+ - Microsoft.AzureStackHCI/stable/2024-01-01/virtualHardDisks.json
+ - Microsoft.AzureStackHCI/stable/2024-01-01/virtualMachineInstances.json
+```
### Tag: package-preview-2023-11
These settings apply only when `--tag=package-preview-2023-11` is specified on the command line.
diff --git a/specification/cognitiveservices/OpenAI.Inference/client.tsp b/specification/cognitiveservices/OpenAI.Inference/client.tsp
index 1674b4aad019d..d890f79c304f5 100644
--- a/specification/cognitiveservices/OpenAI.Inference/client.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/client.tsp
@@ -7,7 +7,7 @@ using Azure.ClientGenerator.Core;
#suppress "@azure-tools/typespec-azure-core/casing-style" "OpenAI is a case-sensitive name"
@TypeSpec.Versioning.useDependency(
- Azure.OpenAI.ServiceApiVersions.v2023_12_01_Preview
+ Azure.OpenAI.ServiceApiVersions.v2024_02_15_Preview
)
namespace Client;
@@ -35,9 +35,10 @@ interface OpenAIClient {
getCompletions is Azure.OpenAI.getCompletions;
getChatCompletions is Azure.OpenAI.getChatCompletions;
- getChatCompletionsWithAzureExtensions is Azure.OpenAI.getChatCompletionsWithAzureExtensions;
getImageGenerations is Azure.OpenAI.getImageGenerations;
+ generateSpeechFromText is Azure.OpenAI.generateSpeechFromText;
+
getEmbeddings is Azure.OpenAI.getEmbeddings;
}
diff --git a/specification/cognitiveservices/OpenAI.Inference/client/custom_visibility.tsp b/specification/cognitiveservices/OpenAI.Inference/client/custom_visibility.tsp
index 67ad13d0d5658..0e6dda4a7b806 100644
--- a/specification/cognitiveservices/OpenAI.Inference/client/custom_visibility.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/client/custom_visibility.tsp
@@ -3,11 +3,6 @@ import "../main.tsp";
using Azure.ClientGenerator.Core;
-// Azure-specific Chat Completions with extensions should be handled by clients as a conditional selection within the
-// shared Chat Completions route, with the selection gated by the presence or non-presence of additional child
-// configuration options on the request payload options model.
-@@access(Azure.OpenAI.getChatCompletionsWithAzureExtensions, Access.internal);
-
// In C#, the functionality provided by the `response_format` property used in image generations is handled by unique
// method signatures for the different response types (i.e. blob URL versus base64 methods).
@@access(Azure.OpenAI.ImageGenerationResponseFormat, Access.internal, "csharp");
@@ -28,20 +23,14 @@ using Azure.ClientGenerator.Core;
@@access(Azure.OpenAI.AudioTranslation, Access.public, "java");
@@access(Azure.OpenAI.AudioTranslationOptions, Access.public, "java");
-@@access(Azure.OpenAI.AzureCognitiveSearchIndexFieldMappingOptions,
- Access.public
-);
-@@usage(Azure.OpenAI.AzureCognitiveSearchIndexFieldMappingOptions, Usage.input);
+@@access(Azure.OpenAI.AzureSearchIndexFieldMappingOptions, Access.public);
+@@usage(Azure.OpenAI.AzureSearchIndexFieldMappingOptions, Usage.input);
-@@access(Azure.OpenAI.AzureCognitiveSearchQueryType, Access.public);
-@@usage(Azure.OpenAI.AzureCognitiveSearchQueryType, Usage.input);
+@@access(Azure.OpenAI.AzureSearchQueryType, Access.public);
+@@usage(Azure.OpenAI.AzureSearchQueryType, Usage.input);
-@@access(Azure.OpenAI.AzureCognitiveSearchChatExtensionConfiguration,
- Access.public
-);
-@@usage(Azure.OpenAI.AzureCognitiveSearchChatExtensionConfiguration,
- Usage.input
-);
+@@access(Azure.OpenAI.AzureSearchChatExtensionConfiguration, Access.public);
+@@usage(Azure.OpenAI.AzureSearchChatExtensionConfiguration, Usage.input);
// Remap "model" nomenclature to "DeploymentName" in appropriate containers; comments should clarify the dual use
@@projectedName(Azure.OpenAI.ImageGenerationOptions.`model`,
@@ -77,3 +66,33 @@ using Azure.ClientGenerator.Core;
"csharp",
"InternalPlainText"
);
+
+@@projectedName(Azure.OpenAI.ChatCompletionsOptions.logprobs,
+ "csharp",
+ "EnableLogProbabilities"
+);
+@@projectedName(Azure.OpenAI.ChatCompletionsOptions.top_logprobs,
+ "csharp",
+ "LogProbabilitiesPerToken"
+);
+
+@@projectedName(Azure.OpenAI.ChatChoice.logprobs,
+ "csharp",
+ "LogProbabilityInfo"
+);
+@@projectedName(Azure.OpenAI.ChatChoiceLogProbabilityInfo.content,
+ "csharp",
+ "TokenLogProbabilityResults"
+);
+@@projectedName(Azure.OpenAI.ChatTokenLogProbabilityResult.top_logprobs,
+ "csharp",
+ "TopLogProbabilityEntries"
+);
+@@projectedName(Azure.OpenAI.ChatTokenLogProbabilityInfo.logprob,
+ "csharp",
+ "LogProbability"
+);
+@@projectedName(Azure.OpenAI.ChatTokenLogProbabilityInfo.bytes,
+ "csharp",
+ "Utf8ByteValues"
+);
diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_audio_speech.json b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_audio_speech.json
new file mode 100644
index 0000000000000..a0a7a03cbe739
--- /dev/null
+++ b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_audio_speech.json
@@ -0,0 +1,19 @@
+{
+ "operationId": "GenerateSpeechFromText",
+ "title": "Generates text-to-speech audio from the input text.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "input": "The text to generate audio for",
+ "voice": "alloy"
+ }
+ },
+ "responses": {
+ "200": {
+ "content-type": "application/octet-stream",
+ "body": "RIFF...audio.data.omitted"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_audio_transcription_object.json b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_audio_transcription_object.json
new file mode 100644
index 0000000000000..a01cac91c44fa
--- /dev/null
+++ b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_audio_transcription_object.json
@@ -0,0 +1,17 @@
+{
+ "operationId": "GetAudioTranscriptionAsResponseObject",
+ "title": "Gets transcribed text and associated metadata from provided spoken audio data.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "file": "U3dhZ2dlciByb2Nrcw=="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "text": "A structured object when requesting json or verbose_json"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_audio_transcription_text.json b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_audio_transcription_text.json
new file mode 100644
index 0000000000000..2f6879b76e912
--- /dev/null
+++ b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_audio_transcription_text.json
@@ -0,0 +1,16 @@
+{
+ "operationId": "GetAudioTranscriptionAsPlainText",
+ "title": "Gets transcribed text and associated metadata from provided spoken audio data.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "file": "U3dhZ2dlciByb2Nrcw=="
+ },
+ "responses": {
+ "200": {
+ "type": "string",
+ "body": "plain text when requesting text, srt, or vtt"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_audio_translation_object.json b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_audio_translation_object.json
new file mode 100644
index 0000000000000..547f78c69ab97
--- /dev/null
+++ b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_audio_translation_object.json
@@ -0,0 +1,17 @@
+{
+ "operationId": "GetAudioTranslationAsResponseObject",
+ "title": "Gets English language transcribed text and associated metadata from provided spoken audio data.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "file": "U3dhZ2dlciByb2Nrcw=="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "text": "A structured object when requesting json or verbose_json"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_audio_translation_text.json b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_audio_translation_text.json
new file mode 100644
index 0000000000000..e430342593698
--- /dev/null
+++ b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_audio_translation_text.json
@@ -0,0 +1,16 @@
+{
+ "operationId": "GetAudioTranslationAsPlainText",
+ "title": "Gets English language transcribed text and associated metadata from provided spoken audio data.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "file": "U3dhZ2dlciByb2Nrcw=="
+ },
+ "responses": {
+ "200": {
+ "type": "string",
+ "body": "plain text when requesting text, srt, or vtt"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_chat_completions.json b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_chat_completions.json
new file mode 100644
index 0000000000000..51bcbbe919942
--- /dev/null
+++ b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_chat_completions.json
@@ -0,0 +1,45 @@
+{
+ "operationId": "GetChatCompletions",
+ "title": "Creates a completion for the provided prompt, parameters and chosen model.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "messages": [
+ {
+ "role": "system",
+ "content": "you are a helpful assistant that talks like a pirate"
+ },
+ {
+ "role": "user",
+ "content": "can you tell me how to care for a parrot?"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "chatcmpl-7R1nGnsXO8n4oi9UPz2f3UHdgAYMn",
+ "created": 1686676106,
+ "choices": [
+ {
+ "index": 0,
+ "finish_reason": "stop",
+ "message": {
+ "role": "assistant",
+ "content": "Ahoy matey! So ye be wantin' to care for a fine squawkin' parrot, eh? Well, shiver me timbers, let ol' Cap'n Assistant share some wisdom with ye! Here be the steps to keepin' yer parrot happy 'n healthy:\n\n1. Secure a sturdy cage: Yer parrot be needin' a comfortable place to lay anchor! Be sure ye get a sturdy cage, at least double the size of the bird's wingspan, with enough space to spread their wings, yarrrr!\n\n2. Perches 'n toys: Aye, parrots need perches of different sizes, shapes, 'n textures to keep their feet healthy. Also, a few toys be helpin' to keep them entertained 'n their minds stimulated, arrrh!\n\n3. Proper grub: Feed yer feathered friend a balanced diet of high-quality pellets, fruits, 'n veggies to keep 'em strong 'n healthy. Give 'em fresh water every day, or ye’ll have a scurvy bird on yer hands!\n\n4. Cleanliness: Swab their cage deck! Clean their cage on a regular basis: fresh water 'n food daily, the floor every couple of days, 'n a thorough scrubbing ev'ry few weeks, so the bird be livin' in a tidy haven, arrhh!\n\n5. Socialize 'n train: Parrots be a sociable lot, arrr! Exercise 'n interact with 'em daily to create a bond 'n maintain their mental 'n physical health. Train 'em with positive reinforcement, treat 'em kindly, yarrr!\n\n6. Proper rest: Yer parrot be needin' ’bout 10-12 hours o' sleep each night. Cover their cage 'n let them slumber in a dim, quiet quarter for a proper night's rest, ye scallywag!\n\n7. Keep a weather eye open for illness: Birds be hidin' their ailments, arrr! Be watchful for signs of sickness, such as lethargy, loss of appetite, puffin' up, or change in droppings, and make haste to a vet if need be.\n\n8. Provide fresh air 'n avoid toxins: Parrots be sensitive to draft and pollutants. Keep yer quarters well ventilated, but no drafts, arrr! Be mindful of toxins like Teflon fumes, candles, or air fresheners.\n\nSo there ye have it, me hearty! With proper care 'n commitment, yer parrot will be squawkin' \"Yo-ho-ho\" for many years to come! Good luck, sailor, and may the wind be at yer back!"
+ },
+ "logprobs": null
+ }
+ ],
+ "usage": {
+ "completion_tokens": 557,
+ "prompt_tokens": 33,
+ "total_tokens": 590
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_completions.json b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_completions.json
new file mode 100644
index 0000000000000..43c88dd756a25
--- /dev/null
+++ b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_completions.json
@@ -0,0 +1,38 @@
+{
+ "operationId": "GetCompletions",
+ "title": "Creates a completion for the provided prompt, parameters and chosen model.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "prompt": [
+ "tell me a joke about mango"
+ ],
+ "max_tokens": 32,
+ "temperature": 1.0,
+ "n": 1
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "cmpl-7QmVI15qgYVllxK0FtxVGG6ywfzaq",
+ "created": 1686617332,
+ "choices": [
+ {
+ "text": "es\n\nWhat do you call a mango who's in charge?\n\nThe head mango.",
+ "index": 0,
+ "finish_reason": "stop",
+ "logprobs": null
+ }
+ ],
+ "usage": {
+ "completion_tokens": 20,
+ "prompt_tokens": 6,
+ "total_tokens": 26
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_embeddings.json b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_embeddings.json
new file mode 100644
index 0000000000000..11cf8708a3624
--- /dev/null
+++ b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_embeddings.json
@@ -0,0 +1,1567 @@
+{
+ "operationId": "GetEmbeddings",
+ "title": "Return the embeddings for a given prompt.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "deployment-afa0669ca01e4693ae3a93baf40f26d6",
+ "body": {
+ "input": [
+ "this is a test"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "data": [
+ {
+ "index": 0,
+ "embedding": [
+ -0.012838088,
+ -0.007421397,
+ -0.017617522,
+ -0.028278312,
+ -0.018666342,
+ 0.01737855,
+ -0.01821495,
+ -0.006950092,
+ -0.009937238,
+ -0.038580645,
+ 0.010674067,
+ 0.02412286,
+ -0.013647936,
+ 0.013189907,
+ 0.0021125758,
+ 0.012406612,
+ 0.020790534,
+ 0.00074595667,
+ 0.008397198,
+ -0.00535031,
+ 0.008968075,
+ 0.014351576,
+ -0.014086051,
+ 0.015055214,
+ -0.022211088,
+ -0.025198232,
+ 0.0065186154,
+ -0.036350243,
+ 0.009180495,
+ -0.009698266,
+ 0.009446018,
+ -0.008463579,
+ -0.0040426035,
+ -0.03443847,
+ -0.00091273896,
+ -0.0019217303,
+ 0.002349888,
+ -0.021560553,
+ 0.016515596,
+ -0.015572986,
+ 0.0038666942,
+ -0.00008432463,
+ 0.0032178196,
+ -0.020365695,
+ -0.009631885,
+ -0.007647093,
+ 0.0033837722,
+ -0.026764825,
+ -0.010501476,
+ 0.020219658,
+ 0.024640633,
+ -0.0066912062,
+ -0.036456455,
+ -0.0040923897,
+ -0.013966565,
+ 0.017816665,
+ 0.005366905,
+ 0.022835068,
+ 0.0103488,
+ -0.0010811808,
+ -0.028942121,
+ 0.0074280356,
+ -0.017033368,
+ 0.0074877786,
+ 0.021640211,
+ 0.002499245,
+ 0.013316032,
+ 0.0021524043,
+ 0.010129742,
+ 0.0054731146,
+ 0.03143805,
+ 0.014856071,
+ 0.0023366117,
+ -0.0008243692,
+ 0.022781964,
+ 0.003038591,
+ -0.017617522,
+ 0.0013309394,
+ 0.0022154662,
+ 0.00097414135,
+ 0.012041516,
+ -0.027906578,
+ -0.023817508,
+ 0.013302756,
+ -0.003003741,
+ -0.006890349,
+ 0.0016744611,
+ 0.023658194,
+ -0.015851786,
+ -0.0045305043,
+ -0.003038591,
+ 0.017710455,
+ 0.019237218,
+ 0.016037652,
+ -0.022503164,
+ 0.025795663,
+ -0.001129307,
+ 0.032500144,
+ -0.008178141,
+ -0.019940857,
+ -0.009877495,
+ 0.00018918588,
+ 0.023060765,
+ -0.005692172,
+ -0.018347712,
+ -0.011039163,
+ -0.0062066247,
+ -0.0000524047,
+ 0.020126723,
+ -0.0011691356,
+ -0.015811957,
+ 0.020086896,
+ -0.009114114,
+ -0.03056182,
+ 0.0029025099,
+ -0.006591635,
+ -0.014046223,
+ -0.01590489,
+ -0.02307404,
+ -0.008861865,
+ -0.004832538,
+ 0.010030171,
+ 0.02311387,
+ -0.012652221,
+ 0.024906157,
+ 0.003860056,
+ -0.01936998,
+ -0.02957938,
+ -0.008357369,
+ -0.0016371218,
+ 0.027800368,
+ 0.0077333883,
+ 0.021626934,
+ 0.02140124,
+ -0.030482162,
+ 0.026406368,
+ -0.008277712,
+ 0.012884554,
+ -0.043784916,
+ -0.0145639945,
+ -0.0070297495,
+ 0.034889862,
+ -0.00041508878,
+ -0.010528029,
+ -0.009572142,
+ 0.015692472,
+ 0.037810627,
+ -0.0022021902,
+ 0.008662722,
+ -0.016794397,
+ 0.0003090866,
+ -0.0060506295,
+ 0.015227805,
+ 0.0006650548,
+ 0.01842737,
+ 0.036801632,
+ -0.002461076,
+ -0.0029390194,
+ -0.0057120863,
+ -0.012486269,
+ -0.0046831807,
+ -0.0017474802,
+ -0.0036210844,
+ -0.01178263,
+ 0.017869769,
+ 0.039111692,
+ 0.010946229,
+ 0.018467197,
+ 0.0027780454,
+ -0.005851486,
+ -0.016489044,
+ 0.03186289,
+ -0.040333103,
+ 0.016648358,
+ -0.006870435,
+ 0.0072687212,
+ 0.000002370982,
+ 0.006465511,
+ -0.018201673,
+ -0.00020526254,
+ -0.025410652,
+ 0.02010017,
+ 0.017537864,
+ 0.022821793,
+ 0.0064555537,
+ -0.0012969191,
+ 0.02157383,
+ -0.0053536287,
+ -0.0087622935,
+ -0.010952868,
+ 0.017564416,
+ 0.02185263,
+ 0.0004733796,
+ 0.0018337755,
+ -0.6954606,
+ -0.011231667,
+ 0.02748174,
+ 0.003929756,
+ 0.0144843375,
+ 0.045192193,
+ 0.01898497,
+ -0.0070363875,
+ -0.007813046,
+ 0.017604245,
+ -0.017790113,
+ 0.011165286,
+ -0.0036376796,
+ -0.014736585,
+ 0.0016421003,
+ -0.019144284,
+ -0.0072222543,
+ -0.023127146,
+ 0.006936816,
+ 0.025198232,
+ 0.0030219958,
+ 0.011722887,
+ -0.004271618,
+ -0.0011127117,
+ -0.0051047,
+ 0.00077333883,
+ 0.018599961,
+ 0.0074877786,
+ 0.010820106,
+ 0.0033406245,
+ -0.015055214,
+ 0.02384406,
+ 0.006090458,
+ 0.00891497,
+ 0.023366116,
+ -0.011078991,
+ -0.019582398,
+ 0.0011566891,
+ 0.015413672,
+ 0.01793615,
+ -0.014736585,
+ 0.002492607,
+ 0.027800368,
+ 0.023923717,
+ -0.007421397,
+ 0.0016105693,
+ 0.011337877,
+ -0.015041938,
+ -0.008768932,
+ -0.003982861,
+ 0.002884255,
+ -0.007832959,
+ 0.0025457118,
+ -0.0023548664,
+ -0.0061767534,
+ -0.016754568,
+ 0.0006036523,
+ 0.0105346665,
+ 0.0055361767,
+ 0.01478969,
+ -0.0011251582,
+ 0.009605332,
+ -0.0037140178,
+ -0.017537864,
+ -0.021733144,
+ 0.012897831,
+ -0.024481317,
+ 0.022290744,
+ 0.0056523434,
+ -0.005366905,
+ 0.0020412162,
+ 0.013435517,
+ -0.003408665,
+ -0.01705992,
+ 0.029446619,
+ 0.022011945,
+ 0.009226961,
+ -0.003310753,
+ -0.007939169,
+ 0.021308305,
+ 0.0026718357,
+ 0.002129171,
+ -0.020047067,
+ -0.007474502,
+ 0.021534001,
+ -0.0110590765,
+ -0.018374264,
+ -0.001664504,
+ -0.003923118,
+ 0.015387119,
+ 0.025516862,
+ 0.0016421003,
+ -0.017498035,
+ -0.01825478,
+ 0.01451089,
+ -0.008198055,
+ -0.011656506,
+ 0.0044242945,
+ 0.031491153,
+ 0.01017621,
+ -0.010408543,
+ -0.009034456,
+ -0.0023283141,
+ 0.012021601,
+ 0.015639367,
+ 0.011736163,
+ 0.007912617,
+ 0.02031259,
+ 0.022104878,
+ -0.02241023,
+ 0.00041156227,
+ -0.009817752,
+ -0.030880447,
+ -0.0017823302,
+ 0.0030933553,
+ -0.04128899,
+ -0.0007783174,
+ 0.012393335,
+ 0.0122273825,
+ -0.009087561,
+ 0.022728859,
+ -0.002884255,
+ 0.028065892,
+ 0.0047396044,
+ 0.008065294,
+ 0.015519881,
+ 0.0133956885,
+ -0.02279524,
+ -0.011729525,
+ 0.0037206558,
+ -0.0046732235,
+ 0.003587894,
+ 0.024401661,
+ -0.013574918,
+ 0.012685412,
+ -0.0041620894,
+ 0.020578114,
+ 0.007394845,
+ 0.014139156,
+ -0.012512821,
+ -0.021042781,
+ 0.022423506,
+ -0.015360567,
+ 0.004009413,
+ 0.0104550095,
+ -0.024799947,
+ -0.0081449505,
+ -0.00063850236,
+ 0.0070231115,
+ -0.0009633545,
+ -0.015705748,
+ -0.0028942123,
+ -0.008815398,
+ 0.007461226,
+ -0.014417957,
+ -0.012931022,
+ 0.0015674217,
+ -0.02506547,
+ -0.0063128346,
+ -0.013422241,
+ -0.0058614435,
+ -0.0006007482,
+ -0.015002109,
+ 0.0037040606,
+ -0.008410474,
+ -0.0016089098,
+ -0.018653065,
+ 0.020538285,
+ -0.016980262,
+ -0.042244878,
+ -0.017498035,
+ 0.006727716,
+ -0.01877255,
+ 0.008987989,
+ 0.00077665783,
+ -0.0007119364,
+ -0.0067243967,
+ 0.0038467797,
+ -0.018055636,
+ -0.01440468,
+ 0.007534245,
+ 0.0051212953,
+ 0.002741536,
+ 0.011523744,
+ -0.0018603279,
+ 0.023684746,
+ 0.016196968,
+ 0.01731217,
+ -0.01992758,
+ 0.009372999,
+ -0.01982137,
+ 0.001150051,
+ -0.014417957,
+ 0.005672258,
+ -0.015785405,
+ 0.0049387473,
+ -0.0051445286,
+ 0.012632307,
+ 0.0011666464,
+ 0.024587527,
+ 0.04259006,
+ -0.0025672857,
+ 0.02311387,
+ -0.014524166,
+ 0.0013848739,
+ -0.04105002,
+ -0.010089914,
+ -0.009087561,
+ 0.015440224,
+ 0.009207047,
+ 0.0128048975,
+ -0.030216638,
+ -0.02549031,
+ 0.00499849,
+ 0.02737553,
+ 0.024985814,
+ -0.015055214,
+ 0.007580712,
+ -0.003979542,
+ 0.0016304837,
+ 0.0010446712,
+ 0.0033373055,
+ 0.0066314633,
+ -0.011948583,
+ -0.021281753,
+ 0.012161002,
+ 0.030747686,
+ 0.03555367,
+ 0.023751127,
+ -0.03159736,
+ -0.0110590765,
+ 0.015758853,
+ -0.0012197511,
+ -0.0023249951,
+ -0.0007488608,
+ 0.0074877786,
+ 0.01643594,
+ -0.008098484,
+ 0.03730613,
+ -0.0010056724,
+ -0.000034798173,
+ 0.011702972,
+ 0.039563086,
+ -0.012280487,
+ 0.027747264,
+ 0.018387541,
+ 0.033057746,
+ -0.004835857,
+ -0.00471969,
+ 0.025450481,
+ -0.0051146573,
+ 0.014603823,
+ 0.00022258384,
+ 0.00060863094,
+ 0.015665919,
+ -0.021626934,
+ -0.013674489,
+ 0.0062066247,
+ 0.018560132,
+ 0.031942543,
+ 0.012054792,
+ 0.004902238,
+ 0.0028510645,
+ -0.027667606,
+ 0.009817752,
+ -0.002580562,
+ 0.0069036256,
+ 0.020047067,
+ -0.009704905,
+ -0.012619031,
+ -0.0056755766,
+ -0.0036443176,
+ 0.019383255,
+ 0.0030701219,
+ 0.024972538,
+ 0.009100837,
+ 0.026353262,
+ 0.012758431,
+ 0.029074885,
+ 0.021202097,
+ -0.0038102702,
+ -0.032048754,
+ 0.003996137,
+ 0.0029738694,
+ 0.0032277768,
+ -0.026127568,
+ -0.02213143,
+ 0.0028742978,
+ 0.0010637557,
+ 0.000580419,
+ 0.0021789568,
+ 0.00083764544,
+ 0.026924139,
+ -0.03265946,
+ 0.0059211864,
+ 0.021892458,
+ 0.01178263,
+ 0.0018188398,
+ 0.009718181,
+ -0.020047067,
+ 0.017989255,
+ 0.0046035233,
+ -0.010561219,
+ -0.010342162,
+ 0.009505761,
+ -0.018334435,
+ -0.00667793,
+ -0.024534423,
+ 0.00035347888,
+ 0.00082561385,
+ -0.006143563,
+ 0.016820949,
+ -0.0013500239,
+ -0.0069832825,
+ 0.015347291,
+ -0.005094743,
+ 0.001838754,
+ 0.017073197,
+ 0.02521151,
+ 0.006209944,
+ -0.015612815,
+ -0.009744733,
+ -0.019794818,
+ 0.007786493,
+ 0.037624758,
+ 0.017564416,
+ 0.0076802834,
+ 0.0026203906,
+ 0.0022403593,
+ -0.024560975,
+ -0.04062518,
+ -0.016581977,
+ 0.00789934,
+ 0.0099305995,
+ 0.006996559,
+ 0.011078991,
+ 0.016236795,
+ -0.0068969876,
+ 0.01374087,
+ 0.014922452,
+ -0.0042882133,
+ 0.00022901449,
+ -0.0006692036,
+ 0.001359981,
+ -0.00007581957,
+ 0.0042616613,
+ 0.0066381013,
+ 0.012512821,
+ 0.021534001,
+ 0.0032775626,
+ 0.016913882,
+ -0.00789934,
+ -0.009200408,
+ -0.020286039,
+ -0.017033368,
+ 0.014378128,
+ 0.009233599,
+ 0.0070828544,
+ -0.013229736,
+ 0.025928425,
+ -0.011862287,
+ 0.008383922,
+ 0.012632307,
+ -0.0003097089,
+ 0.007593988,
+ 0.0059079104,
+ -0.0026369859,
+ -0.0262205,
+ 0.003335646,
+ -0.0067609064,
+ -0.0042882133,
+ 0.008549875,
+ -0.007600626,
+ -0.012592479,
+ 0.028623493,
+ -0.0030502076,
+ -0.006989921,
+ -0.015785405,
+ 0.010050085,
+ 0.016714739,
+ -0.023724575,
+ -0.006346025,
+ -0.014245366,
+ -0.032154962,
+ -0.03388087,
+ -0.024308728,
+ -0.002461076,
+ -0.003733932,
+ -0.02195884,
+ -0.021069333,
+ -0.022144707,
+ -0.007872788,
+ -0.017179407,
+ -0.009034456,
+ -0.010893124,
+ -0.02478667,
+ -0.020153277,
+ -0.023976821,
+ 0.014656927,
+ 0.0005368565,
+ -0.015878338,
+ 0.010123105,
+ -0.0030717815,
+ 0.01555971,
+ 0.0018321159,
+ -0.036244035,
+ 0.00017176087,
+ -0.013375774,
+ -0.010375353,
+ 0.026512576,
+ 0.016581977,
+ 0.013847079,
+ 0.015719024,
+ 0.013223098,
+ 0.004975257,
+ -0.0010579474,
+ -0.0034385365,
+ -0.029048331,
+ 0.017298892,
+ -0.022529716,
+ 0.008463579,
+ -0.014723309,
+ -0.005814977,
+ -0.009027818,
+ -0.009738095,
+ -0.0104682855,
+ -0.005044957,
+ 0.007905979,
+ 0.011656506,
+ 0.003153098,
+ -0.0005231654,
+ 0.019954132,
+ -0.021985391,
+ -0.005307162,
+ 0.0021839354,
+ -0.025184957,
+ 0.013926737,
+ -0.0059908866,
+ 0.0065717204,
+ 0.009884133,
+ -0.0062298584,
+ 0.03388087,
+ 0.0028577026,
+ -0.015931444,
+ 0.0010986058,
+ -0.025808938,
+ 0.0022835068,
+ 0.014152432,
+ 0.015227805,
+ 0.013701041,
+ -0.007872788,
+ -0.030614924,
+ -0.026393091,
+ 0.0010753724,
+ -0.016940435,
+ 0.013647936,
+ -0.007408121,
+ -0.024308728,
+ -0.031915992,
+ -0.018161846,
+ 0.00072521257,
+ 0.028862465,
+ 0.012234021,
+ -0.019555846,
+ -0.027641054,
+ -0.00082810316,
+ -0.0019150922,
+ -0.016276624,
+ -0.01125822,
+ -0.034146395,
+ -0.015294186,
+ 0.006671292,
+ -0.015533158,
+ 0.013674489,
+ -0.0011766035,
+ -0.017325444,
+ -0.023233354,
+ -0.013189907,
+ 0.0005580154,
+ -0.03188944,
+ -0.007056302,
+ -0.0059942054,
+ 0.03411984,
+ 0.04317421,
+ 0.029420065,
+ 0.006488744,
+ -0.0022436783,
+ 0.013063784,
+ 0.00012207884,
+ 0.008118398,
+ -0.023246631,
+ 0.0051909955,
+ -0.00894816,
+ 0.0081316745,
+ 0.0023200165,
+ 0.011510468,
+ -0.0005770999,
+ 0.00016979019,
+ 0.010129742,
+ 0.015506605,
+ -0.0073815687,
+ 0.0031995648,
+ -0.026578957,
+ -0.016674912,
+ 0.0049652997,
+ 0.0072687212,
+ -0.016568702,
+ -0.001964878,
+ -0.015692472,
+ -0.0048955996,
+ 0.027773816,
+ 0.012864641,
+ 0.01594472,
+ 0.008244522,
+ 0.017139578,
+ -0.01772373,
+ -0.0012521119,
+ 0.011689696,
+ 0.0111121815,
+ -0.0036476366,
+ 0.0012570905,
+ -0.007826322,
+ -0.016754568,
+ 0.011948583,
+ -0.0045968853,
+ 0.023963546,
+ -0.0052739717,
+ 0.014656927,
+ 0.009731457,
+ 0.010727172,
+ -0.01705992,
+ -0.0026071144,
+ 0.010760362,
+ 0.000919377,
+ -0.006365939,
+ -0.03013698,
+ -0.010554581,
+ -0.018613236,
+ 0.013886908,
+ 0.029420065,
+ -0.013030593,
+ 0.016860778,
+ -0.019237218,
+ -0.022118153,
+ 0.007919255,
+ -0.0004003605,
+ 0.046546366,
+ 0.01349526,
+ 0.006352663,
+ 0.014258642,
+ 0.0031813101,
+ -0.027017072,
+ 0.0070828544,
+ -0.020219658,
+ 0.0037140178,
+ 0.023366116,
+ 0.040386207,
+ -0.016382834,
+ -0.0023681426,
+ 0.0064522345,
+ 0.016528873,
+ 0.0006804054,
+ -0.02891557,
+ -0.0043545947,
+ 0.01101261,
+ -0.0014778073,
+ -0.018055636,
+ -0.0077001974,
+ -0.0358723,
+ 0.003373815,
+ -0.00071940426,
+ -0.011822458,
+ -0.024295451,
+ -0.009791199,
+ -0.026565682,
+ 0.020989677,
+ -0.035155386,
+ 0.01832116,
+ 0.014776413,
+ -0.028012788,
+ -0.007262083,
+ 0.0030402504,
+ -0.029446619,
+ 0.00010174965,
+ 0.009758009,
+ 0.03767786,
+ -0.0154535,
+ 0.009346447,
+ 0.016077481,
+ 0.0041189417,
+ -0.027800368,
+ 0.01720596,
+ -0.011158649,
+ 0.027800368,
+ -0.03003077,
+ -0.0072819972,
+ 0.0014296811,
+ 0.0145374425,
+ 0.0043280423,
+ -0.017086472,
+ -0.01611731,
+ -0.01258584,
+ -0.016927158,
+ 0.007607264,
+ 0.018825656,
+ 0.011331239,
+ -0.0057784673,
+ 0.001569911,
+ -0.013900184,
+ -0.014776413,
+ -0.0050814664,
+ -0.0012454737,
+ -0.0115967635,
+ -0.017458206,
+ -0.013203184,
+ -0.0063692583,
+ -0.01244644,
+ 0.011882202,
+ 0.0007708495,
+ -0.02035242,
+ 0.016250072,
+ 0.018414093,
+ -0.029526275,
+ 0.012751793,
+ -0.01555971,
+ 0.0013840442,
+ -0.019502742,
+ 0.0063758963,
+ 0.0037538463,
+ -0.035686433,
+ 0.027534844,
+ -0.016409386,
+ -0.03247359,
+ -0.008782208,
+ -0.0059842486,
+ 0.014338299,
+ 0.009233599,
+ -0.0053171194,
+ 0.006160158,
+ 0.0072952732,
+ 0.01401967,
+ 0.008815398,
+ -0.023790956,
+ 0.013096974,
+ -0.0031365028,
+ 0.005044957,
+ 0.0005356118,
+ -0.009379637,
+ 0.0066248253,
+ -0.00010724682,
+ 0.010289057,
+ 0.008815398,
+ -0.02279524,
+ -0.019701885,
+ -0.0027747264,
+ 0.016183691,
+ -0.014205537,
+ -0.003933075,
+ -0.013375774,
+ -0.005751915,
+ -0.010116466,
+ 0.004988533,
+ -0.005904591,
+ -0.008656085,
+ -0.017431654,
+ -0.011988411,
+ -0.01594472,
+ 0.00660823,
+ -0.027216217,
+ 0.0073218257,
+ -0.029977666,
+ -0.004593566,
+ -0.026671892,
+ -0.028517283,
+ -0.0050084474,
+ 0.009844304,
+ 0.025729282,
+ -0.013780698,
+ -0.026751548,
+ 0.004905557,
+ -0.035951957,
+ -0.026738273,
+ -0.019768266,
+ 0.0048690476,
+ 0.005250738,
+ 0.0014603822,
+ -0.018892037,
+ 0.017683903,
+ 0.0067177587,
+ 0.027694158,
+ -0.002618731,
+ -0.012419888,
+ 0.01772373,
+ -0.0032593077,
+ 0.006611549,
+ 0.016648358,
+ -0.03789028,
+ -0.023100592,
+ 0.023684746,
+ 0.0031248862,
+ 0.016382834,
+ 0.019967409,
+ -0.008941523,
+ -0.02014,
+ 0.0073882067,
+ 0.011357792,
+ -0.0031796505,
+ -0.0030253148,
+ -0.0010206081,
+ -0.017577693,
+ -0.009598695,
+ 0.002915786,
+ 0.001325131,
+ -0.0029207645,
+ -0.010780277,
+ -0.00325101,
+ -0.00811176,
+ -0.00073434,
+ -0.030083876,
+ -0.012864641,
+ -0.012745155,
+ -0.011769353,
+ 0.018785827,
+ -0.008264436,
+ -0.002675155,
+ 0.024255622,
+ 0.005483072,
+ -0.018480474,
+ -0.005426648,
+ 0.015095043,
+ 0.00044392303,
+ 0.011271496,
+ -0.0027548121,
+ 0.0026884312,
+ -0.00894816,
+ -0.015161424,
+ -0.014975557,
+ -0.024600804,
+ 0.004457485,
+ -0.015519881,
+ -0.012366783,
+ -0.012579202,
+ 0.01478969,
+ 0.0075541595,
+ -0.017962702,
+ -0.0017441611,
+ -0.014059499,
+ 0.005499667,
+ -0.0026884312,
+ 0.0031929268,
+ 0.0010853296,
+ -0.008045379,
+ 0.017471483,
+ 0.02590187,
+ -0.018546855,
+ -0.007826322,
+ 0.009333171,
+ 0.0157323,
+ 0.000086036016,
+ 0.004776114,
+ 0.22155327,
+ 0.006787459,
+ -0.0017823302,
+ 0.024919434,
+ 0.0023449094,
+ 0.03210186,
+ 0.0047329664,
+ -0.010879848,
+ 0.0044342517,
+ 0.015334014,
+ 0.029499723,
+ 0.019715162,
+ -0.008569789,
+ -0.0018901994,
+ -0.0077400263,
+ -0.019210665,
+ -0.005088105,
+ -0.023153698,
+ -0.032739118,
+ -0.029313855,
+ 0.00082146504,
+ -0.0212552,
+ 0.0044309325,
+ -0.005446562,
+ 0.018613236,
+ -0.009751371,
+ -0.013023955,
+ -0.001996409,
+ 0.01915756,
+ 0.017431654,
+ -0.031092867,
+ -0.0070231115,
+ 0.025330994,
+ -0.00018099198,
+ -0.025131851,
+ -0.011025886,
+ 0.0116498675,
+ -0.02506547,
+ 0.029234199,
+ -0.012287126,
+ 0.0069766445,
+ 0.0018752636,
+ 0.014271918,
+ 0.005108019,
+ -0.0109064,
+ 0.014391404,
+ 0.0062597296,
+ -0.031411495,
+ 0.00014935728,
+ 0.013236375,
+ -0.02891557,
+ -0.0006671292,
+ 0.008662722,
+ 0.012161002,
+ 0.020963125,
+ -0.0133691365,
+ 0.02653913,
+ -0.017989255,
+ 0.007978998,
+ 0.0093398085,
+ -0.02024621,
+ 0.03265946,
+ -0.02846418,
+ 0.025397375,
+ -0.024693737,
+ -0.0027050264,
+ -0.019330151,
+ -0.0104417335,
+ 0.015626092,
+ -0.006541849,
+ 0.004653309,
+ -0.025118576,
+ 0.0038268655,
+ 0.004045923,
+ -0.017564416,
+ -0.02444149,
+ 0.030296294,
+ 0.028756255,
+ 0.03927101,
+ 0.010767001,
+ -0.012034878,
+ -0.007122683,
+ -0.022476612,
+ -0.034942966,
+ -0.028411074,
+ -0.03927101,
+ -0.0037505273,
+ -0.0038799702,
+ -0.00037111135,
+ -0.009718181,
+ -0.013455432,
+ -0.015400395,
+ -0.0066978442,
+ -0.010760362,
+ 0.015121595,
+ 0.03111942,
+ 0.007992274,
+ 0.0270569,
+ -0.003104972,
+ 0.010056724,
+ -0.018414093,
+ 0.006472149,
+ 0.021281753,
+ 0.0043579135,
+ -0.00021490853,
+ 0.0008546556,
+ -0.01269205,
+ -0.003936394,
+ 0.0008870163,
+ 0.0009816092,
+ 0.0054664765,
+ -0.031278733,
+ 0.017245788,
+ 0.00027734818,
+ 0.005161124,
+ 0.0048093046,
+ -0.003923118,
+ -0.027149836,
+ 0.006950092,
+ -0.00615352,
+ 0.014205537,
+ 0.0016620146,
+ 0.0047396044,
+ 0.0039994563,
+ -0.015440224,
+ -0.0055627287,
+ -0.026273604,
+ 0.0013276202,
+ 0.0021009592,
+ -0.034810204,
+ 0.0064522345,
+ 0.00042608313,
+ 0.02307404,
+ -0.005957696,
+ 0.0016869075,
+ -0.0032775626,
+ -0.009041094,
+ -0.01227385,
+ -0.04349284,
+ 0.015652644,
+ 0.013468708,
+ -0.0023249951,
+ -0.011171925,
+ 0.0030352718,
+ -0.0061203293,
+ -0.023153698,
+ 0.046068422,
+ -0.005582643,
+ -0.02405648,
+ 0.005433286,
+ -0.02814555,
+ -0.0036874653,
+ 0.0067841397,
+ 0.006628144,
+ 0.029844904,
+ -0.0044276137,
+ -0.029127989,
+ -0.04548427,
+ 0.022091601,
+ 0.0038069512,
+ -0.030269742,
+ 0.0051578046,
+ 0.043572497,
+ -0.0144843375,
+ -0.02891557,
+ -0.010461648,
+ -0.17375894,
+ 0.029154541,
+ 0.019648781,
+ -0.00038335036,
+ 0.0029572742,
+ -0.0026469429,
+ 0.035925403,
+ -0.012021601,
+ 0.0015566348,
+ -0.0033124126,
+ 0.0010430117,
+ -0.010620962,
+ -0.022582822,
+ 0.00601412,
+ 0.008364008,
+ -0.0016586956,
+ -0.0011102224,
+ -0.013860356,
+ 0.022542993,
+ 0.020564837,
+ 0.018414093,
+ -0.008908332,
+ 0.032951534,
+ -0.011908754,
+ 0.010169571,
+ -0.011198477,
+ 0.0029108075,
+ 0.033084296,
+ 0.0029008503,
+ -0.0010015236,
+ -0.019794818,
+ 0.005844848,
+ 0.011669782,
+ 0.0052208668,
+ 0.010129742,
+ 0.0037737607,
+ 0.02880936,
+ -0.018599961,
+ -0.015095043,
+ 0.026578957,
+ 0.019662056,
+ 0.006823968,
+ -0.00045885876,
+ -0.019396532,
+ -0.0047993474,
+ 0.017192682,
+ 0.039589636,
+ -0.00874238,
+ 0.02146762,
+ -0.007667007,
+ 0.018785827,
+ -0.012758431,
+ -0.010010257,
+ -0.02052501,
+ 0.016090758,
+ 0.0061867107,
+ -0.0145507185,
+ 0.008065294,
+ 0.0104284575,
+ -0.0022386997,
+ -0.008324179,
+ -0.021640211,
+ 0.01705992,
+ -0.010541305,
+ -0.01639611,
+ -0.0074413116,
+ -0.034703992,
+ 0.007016473,
+ -0.003083398,
+ 0.0013691084,
+ -0.005108019,
+ -0.007886064,
+ 0.00053270767,
+ -0.018865485,
+ 0.025503585,
+ 0.005101381,
+ -0.027534844,
+ 0.015028661,
+ -0.009286704,
+ 0.006233177,
+ 0.00004343289,
+ 0.036031615,
+ 0.00957878,
+ 0.019250493,
+ 0.0024411618,
+ 0.0023664832,
+ -0.0030269742,
+ -0.007939169,
+ 0.0058581247,
+ 0.00587472,
+ 0.036589216,
+ -0.035288148,
+ -0.012997403,
+ -0.0110989055,
+ -0.002492607,
+ 0.008151589,
+ -0.008085207,
+ -0.00734174,
+ -0.0016802694,
+ 0.008403837,
+ -0.007793131,
+ -0.003913161,
+ -0.025437204,
+ 0.027123282,
+ 0.019330151,
+ -0.008729103,
+ 0.003943032,
+ 0.010289057,
+ 0.029977666,
+ 0.0014836156,
+ -0.024282174,
+ -0.0024361832,
+ 0.0110325245,
+ 0.021719867,
+ 0.012844726,
+ 0.015002109,
+ 0.020737428,
+ -0.013037231,
+ 0.014802966,
+ -0.0027332383,
+ 0.041634172,
+ -0.00926679,
+ -0.018759275,
+ 0.018666342,
+ 0.005386819,
+ -0.008822037,
+ -0.068399,
+ -0.054804165,
+ 0.027800368,
+ 0.04954679,
+ -0.00437119,
+ 0.029127989,
+ 0.03180978,
+ 0.021321582,
+ -0.022503164,
+ 0.010554581,
+ -0.006823968,
+ -0.021387963,
+ -0.021865906,
+ -0.0074479496,
+ 0.0037206558,
+ 0.004132218,
+ 0.01073381,
+ -0.0021673401,
+ -0.0012819833,
+ 0.041235887,
+ -0.010202762,
+ 0.004839176,
+ 0.0081715025,
+ -0.030402504,
+ -0.023764404,
+ -0.010800191,
+ -0.018374264,
+ 0.033641897,
+ 0.005416691,
+ -0.0055096243,
+ -0.0032775626,
+ -0.018095464,
+ 0.008563151,
+ -0.02339267,
+ -0.013674489,
+ 0.0023382711,
+ -0.028411074,
+ -0.0024063117,
+ 0.026658615,
+ -0.012413249,
+ 0.009333171,
+ 0.026446195,
+ -0.009107475,
+ -0.024560975,
+ 0.0011085629,
+ -0.02395027,
+ 0.0013857037,
+ 0.01926377,
+ -0.0020710877,
+ -0.031278733,
+ -0.015095043,
+ 0.0041720467,
+ -0.012798259,
+ 0.010162933,
+ 0.0063128346,
+ -0.010972782,
+ 0.045617033,
+ 0.016874054,
+ -0.010368714,
+ -0.0055992384,
+ -0.0092999805,
+ 0.0015782086,
+ -0.013581555,
+ 0.017843217,
+ -0.01615714,
+ 0.0036575939,
+ -0.027110007,
+ -0.013621384,
+ 0.022197811,
+ 0.0013964906,
+ -0.007348378,
+ 0.0145772705,
+ -0.003996137,
+ 0.0008364008,
+ -0.03411984,
+ 0.013030593,
+ -0.021454344,
+ -0.05034336,
+ 0.021095887,
+ -0.0055029863,
+ -0.025623072,
+ -0.023525432,
+ 0.007335102,
+ -0.043413185,
+ 0.016316453,
+ 0.016196968,
+ 0.0093132565,
+ -0.0110989055,
+ 0.0154535,
+ -0.045218747,
+ 0.0037737607,
+ 0.01639611,
+ 0.019887751,
+ -0.023366116,
+ -0.024043202,
+ 0.014258642,
+ 0.004271618,
+ -0.006877073,
+ 0.021387963,
+ -0.0019781543,
+ -0.036350243,
+ -0.009114114,
+ -0.037359234,
+ 0.01919739,
+ 0.011829097,
+ -0.015665919,
+ -0.0015591241,
+ 0.0144843375,
+ -0.003139822,
+ -0.024083031,
+ -0.015307462,
+ -0.0040990277,
+ -0.013223098,
+ 0.0024278855,
+ -0.008702551,
+ -0.0033207103,
+ -0.009804476,
+ -0.010554581,
+ 0.031066315,
+ 0.0044408897,
+ 0.025370823,
+ 0.009406189,
+ 0.025583243,
+ -0.002066109,
+ 0.015267633,
+ 0.008337456,
+ -0.009426104,
+ 0.01590489,
+ -0.011716249,
+ 0.007713474,
+ -0.029552827,
+ -0.013900184,
+ 0.0050150855,
+ -0.01650232,
+ -0.0015757193,
+ 0.008549875,
+ -0.020471904,
+ 0.008397198,
+ -0.013136802,
+ 0.021520725,
+ 0.0060406723,
+ 0.012858002,
+ -0.004723009,
+ -0.029313855,
+ 0.009240237,
+ -0.0212552,
+ -0.028118998,
+ 0.017803388,
+ -0.0314646,
+ 0.012353507,
+ 0.029632485,
+ -0.000016128512,
+ 0.016966987,
+ 0.009711542,
+ -0.037253026,
+ -0.015095043,
+ 0.013442155,
+ -0.00905437,
+ -0.000982439,
+ -0.0020495139,
+ 0.008337456,
+ -0.020644495,
+ 0.042085562,
+ -0.000744712,
+ 0.021135716,
+ -0.0072886352,
+ 0.01643594,
+ 0.013767422,
+ -0.0044707614,
+ -0.014763137,
+ 0.018852208,
+ -0.03080079,
+ -0.0049188333,
+ 0.0058846767,
+ 0.008330817,
+ 0.008257798,
+ 0.024202518,
+ 0.02307404,
+ 0.011065715,
+ 0.00036053188,
+ -0.00049412367,
+ 0.036270585,
+ 0.027043626,
+ 0.011902116,
+ -0.027773816,
+ 0.013289479,
+ 0.018374264,
+ -0.0033157317,
+ 0.0016636741,
+ 0.0020677685,
+ -0.012293763,
+ 0.008184779,
+ -0.034252603,
+ 0.010753725,
+ 0.008675998,
+ 0.00968499,
+ -0.003793675,
+ -0.011218391,
+ 0.010375353,
+ -0.0005737809,
+ 0.019781543,
+ 0.020591391,
+ 0.019954132,
+ -0.00053976063,
+ -0.0059444197,
+ -0.022675755,
+ -0.010003619,
+ 0.0038467797,
+ -0.0212552,
+ -0.033482585,
+ -0.015572986,
+ 0.0037737607,
+ 0.01451089,
+ 0.0036376796,
+ 0.007454588,
+ 0.013979842,
+ -0.013402327,
+ 0.014975557,
+ -0.010435095,
+ 0.0151747,
+ -0.030375952,
+ 0.023166973,
+ -0.0024760119,
+ -0.005881358,
+ 0.019914305,
+ -0.008596341,
+ 0.017737007,
+ -0.0036111271,
+ 0.012499545,
+ -0.02647275,
+ 0.0053901384,
+ 0.008556513,
+ 0.019648781,
+ 0.00874238,
+ -0.012439802,
+ -0.028623493,
+ -0.022330573,
+ -0.0029340407,
+ -0.016303178,
+ 0.007474502,
+ -0.016555425,
+ 0.060645696,
+ 0.0023631642,
+ -0.012054792,
+ 0.017604245,
+ 0.013103612,
+ 0.026061187,
+ 0.015533158,
+ 0.025742557,
+ 0.00013753316,
+ -0.013940013,
+ 0.02880936,
+ 0.010109829,
+ -0.0036111271,
+ -0.012419888,
+ -0.045457717,
+ 0.022835068,
+ -0.014139156,
+ 0.007819683,
+ -0.010461648,
+ -0.012008325,
+ 0.008895056,
+ 0.015984548,
+ 0.024043202,
+ -0.00059825886,
+ -0.0036376796,
+ -0.007939169,
+ 0.0242689,
+ -0.022197811,
+ -0.026313433,
+ -0.026724996,
+ 0.010939592,
+ 0.0023449094,
+ -0.012074706,
+ -0.018493751,
+ 0.017697178,
+ -0.0052142288,
+ -0.00360117,
+ 0.0056058764,
+ 0.01070062,
+ 0.0035248317,
+ 0.023671469,
+ 0.030880447,
+ -0.020299314,
+ -0.0145905465,
+ 0.018055636,
+ -0.013727593,
+ -0.023313012,
+ 0.013236375,
+ -0.0020113448
+ ]
+ }
+ ],
+ "usage": {
+ "prompt_tokens": 4,
+ "total_tokens": 4
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_extensions_chat_completions_aml_index.json b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_extensions_chat_completions_aml_index.json
new file mode 100644
index 0000000000000..ad6c219875480
--- /dev/null
+++ b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_extensions_chat_completions_aml_index.json
@@ -0,0 +1,62 @@
+{
+ "operationId": "GetChatCompletions",
+ "title": "Creates a completion for the provided AML index. Uses Azure OpenAI chat extensions.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "messages": [
+ {
+ "role": "user",
+ "content": "can you tell me how to care for a parrot?"
+ }
+ ],
+ "data_sources": [
+ {
+ "type": "azure_ml_index",
+ "parameters": {
+ "project_resource_id": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-id}",
+ "name": "gm-cars",
+ "version": "5"
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "chatcmpl-7R1nGnsXO8n4oi9UPz2f3UHdgAYMn",
+ "created": 1686676106,
+ "choices": [
+ {
+ "index": 0,
+ "finish_reason": "stop",
+ "message": {
+ "role": "assistant",
+ "content": "Ahoy matey! So ye be wantin' to care for a fine squawkin' parrot, eh? Well, shiver me timbers, let ol' Cap'n Assistant share some wisdom with ye! Here be the steps to keepin' yer parrot happy 'n healthy:\n\n1. Secure a sturdy cage: Yer parrot be needin' a comfortable place to lay anchor! Be sure ye get a sturdy cage, at least double the size of the bird's wingspan, with enough space to spread their wings, yarrrr!\n\n2. Perches 'n toys: Aye, parrots need perches of different sizes, shapes, 'n textures to keep their feet healthy. Also, a few toys be helpin' to keep them entertained 'n their minds stimulated, arrrh!\n\n3. Proper grub: Feed yer feathered friend a balanced diet of high-quality pellets, fruits, 'n veggies to keep 'em strong 'n healthy. Give 'em fresh water every day, or ye’ll have a scurvy bird on yer hands!\n\n4. Cleanliness: Swab their cage deck! Clean their cage on a regular basis: fresh water 'n food daily, the floor every couple of days, 'n a thorough scrubbing ev'ry few weeks, so the bird be livin' in a tidy haven, arrhh!\n\n5. Socialize 'n train: Parrots be a sociable lot, arrr! Exercise 'n interact with 'em daily to create a bond 'n maintain their mental 'n physical health. Train 'em with positive reinforcement, treat 'em kindly, yarrr!\n\n6. Proper rest: Yer parrot be needin' ’bout 10-12 hours o' sleep each night. Cover their cage 'n let them slumber in a dim, quiet quarter for a proper night's rest, ye scallywag!\n\n7. Keep a weather eye open for illness: Birds be hidin' their ailments, arrr! Be watchful for signs of sickness, such as lethargy, loss of appetite, puffin' up, or change in droppings, and make haste to a vet if need be.\n\n8. Provide fresh air 'n avoid toxins: Parrots be sensitive to draft and pollutants. Keep yer quarters well ventilated, but no drafts, arrr! Be mindful of toxins like Teflon fumes, candles, or air fresheners.\n\nSo there ye have it, me hearty! With proper care 'n commitment, yer parrot will be squawkin' \"Yo-ho-ho\" for many years to come! Good luck, sailor, and may the wind be at yer back!",
+ "context": {
+ "citations": [
+ {
+ "content": "Content of the citation",
+ "url": "https://www.example.com",
+ "title": "Title of the citation",
+ "filepath": "path/to/file",
+ "chunk_id": "chunk-id"
+ }
+ ]
+ }
+ },
+ "logprobs": null
+ }
+ ],
+ "usage": {
+ "completion_tokens": 557,
+ "prompt_tokens": 33,
+ "total_tokens": 590
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_extensions_chat_completions_azure_search_advanced.json b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_extensions_chat_completions_azure_search_advanced.json
new file mode 100644
index 0000000000000..dfb29d131b46d
--- /dev/null
+++ b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_extensions_chat_completions_azure_search_advanced.json
@@ -0,0 +1,86 @@
+{
+ "operationId": "GetChatCompletions",
+ "title": "Creates a completion based on Azure Cognitive Services vector data and user-assigned managed identity. Uses Azure OpenAI chat extensions.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "messages": [
+ {
+ "role": "user",
+ "content": "can you tell me how to care for a parrot?"
+ }
+ ],
+ "data_sources": [
+ {
+ "type": "azure_search",
+ "parameters": {
+ "endpoint": "https://your-search-endpoint.search.windows.net/",
+ "authentication": {
+ "type": "user_assigned_managed_identity",
+ "managed_identity_resource_id": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resource-name}"
+ },
+ "index_name": "{index name}",
+ "query_type": "vector",
+ "embedding_dependency": {
+ "type": "deployment_name",
+ "deployment_name": "{embedding deployment name}"
+ },
+ "in_scope": true,
+ "top_n_documents": 5,
+ "strictness": 3,
+ "role_information": "You are an AI assistant that helps people find information.",
+ "fields_mapping": {
+ "content_fields_separator": "\\n",
+ "content_fields": [
+ "content"
+ ],
+ "filepath_field": "filepath",
+ "title_field": "title",
+ "url_field": "url",
+ "vector_fields": [
+ "contentvector"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "chatcmpl-7R1nGnsXO8n4oi9UPz2f3UHdgAYMn",
+ "created": 1686676106,
+ "choices": [
+ {
+ "index": 0,
+ "finish_reason": "stop",
+ "message": {
+ "role": "assistant",
+ "content": "Ahoy matey! So ye be wantin' to care for a fine squawkin' parrot, eh? Well, shiver me timbers, let ol' Cap'n Assistant share some wisdom with ye! Here be the steps to keepin' yer parrot happy 'n healthy:\n\n1. Secure a sturdy cage: Yer parrot be needin' a comfortable place to lay anchor! Be sure ye get a sturdy cage, at least double the size of the bird's wingspan, with enough space to spread their wings, yarrrr!\n\n2. Perches 'n toys: Aye, parrots need perches of different sizes, shapes, 'n textures to keep their feet healthy. Also, a few toys be helpin' to keep them entertained 'n their minds stimulated, arrrh!\n\n3. Proper grub: Feed yer feathered friend a balanced diet of high-quality pellets, fruits, 'n veggies to keep 'em strong 'n healthy. Give 'em fresh water every day, or ye’ll have a scurvy bird on yer hands!\n\n4. Cleanliness: Swab their cage deck! Clean their cage on a regular basis: fresh water 'n food daily, the floor every couple of days, 'n a thorough scrubbing ev'ry few weeks, so the bird be livin' in a tidy haven, arrhh!\n\n5. Socialize 'n train: Parrots be a sociable lot, arrr! Exercise 'n interact with 'em daily to create a bond 'n maintain their mental 'n physical health. Train 'em with positive reinforcement, treat 'em kindly, yarrr!\n\n6. Proper rest: Yer parrot be needin' ’bout 10-12 hours o' sleep each night. Cover their cage 'n let them slumber in a dim, quiet quarter for a proper night's rest, ye scallywag!\n\n7. Keep a weather eye open for illness: Birds be hidin' their ailments, arrr! Be watchful for signs of sickness, such as lethargy, loss of appetite, puffin' up, or change in droppings, and make haste to a vet if need be.\n\n8. Provide fresh air 'n avoid toxins: Parrots be sensitive to draft and pollutants. Keep yer quarters well ventilated, but no drafts, arrr! Be mindful of toxins like Teflon fumes, candles, or air fresheners.\n\nSo there ye have it, me hearty! With proper care 'n commitment, yer parrot will be squawkin' \"Yo-ho-ho\" for many years to come! Good luck, sailor, and may the wind be at yer back!",
+ "context": {
+ "citations": [
+ {
+ "content": "Content of the citation",
+ "url": "https://www.example.com",
+ "title": "Title of the citation",
+ "filepath": "path/to/file",
+ "chunk_id": "chunk-id"
+ }
+ ]
+ }
+ },
+ "logprobs": null
+ }
+ ],
+ "usage": {
+ "completion_tokens": 557,
+ "prompt_tokens": 33,
+ "total_tokens": 590
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_extensions_chat_completions_azure_search_image_vector.json b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_extensions_chat_completions_azure_search_image_vector.json
new file mode 100644
index 0000000000000..f8a2ef270e4fb
--- /dev/null
+++ b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_extensions_chat_completions_azure_search_image_vector.json
@@ -0,0 +1,67 @@
+{
+ "operationId": "GetChatCompletions",
+ "title": "Creates a completion based on Azure Cognitive Services image vector data. Uses Azure OpenAI chat extensions.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "messages": [
+ {
+ "role": "user",
+ "content": "can you tell me how to care for a parrot?"
+ }
+ ],
+ "data_sources": [
+ {
+ "type": "azure_search",
+ "parameters": {
+ "endpoint": "https://your-search-endpoint.search.windows.net/",
+ "index_name": "{index name}",
+ "query_type": "vector",
+ "fields_mapping": {
+ "image_vector_fields": [
+ "image_vector"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "chatcmpl-7R1nGnsXO8n4oi9UPz2f3UHdgAYMn",
+ "created": 1686676106,
+ "choices": [
+ {
+ "index": 0,
+ "finish_reason": "stop",
+ "message": {
+ "role": "assistant",
+ "content": "Ahoy matey! So ye be wantin' to care for a fine squawkin' parrot, eh? Well, shiver me timbers, let ol' Cap'n Assistant share some wisdom with ye! Here be the steps to keepin' yer parrot happy 'n healthy:\n\n1. Secure a sturdy cage: Yer parrot be needin' a comfortable place to lay anchor! Be sure ye get a sturdy cage, at least double the size of the bird's wingspan, with enough space to spread their wings, yarrrr!\n\n2. Perches 'n toys: Aye, parrots need perches of different sizes, shapes, 'n textures to keep their feet healthy. Also, a few toys be helpin' to keep them entertained 'n their minds stimulated, arrrh!\n\n3. Proper grub: Feed yer feathered friend a balanced diet of high-quality pellets, fruits, 'n veggies to keep 'em strong 'n healthy. Give 'em fresh water every day, or ye’ll have a scurvy bird on yer hands!\n\n4. Cleanliness: Swab their cage deck! Clean their cage on a regular basis: fresh water 'n food daily, the floor every couple of days, 'n a thorough scrubbing ev'ry few weeks, so the bird be livin' in a tidy haven, arrhh!\n\n5. Socialize 'n train: Parrots be a sociable lot, arrr! Exercise 'n interact with 'em daily to create a bond 'n maintain their mental 'n physical health. Train 'em with positive reinforcement, treat 'em kindly, yarrr!\n\n6. Proper rest: Yer parrot be needin' ’bout 10-12 hours o' sleep each night. Cover their cage 'n let them slumber in a dim, quiet quarter for a proper night's rest, ye scallywag!\n\n7. Keep a weather eye open for illness: Birds be hidin' their ailments, arrr! Be watchful for signs of sickness, such as lethargy, loss of appetite, puffin' up, or change in droppings, and make haste to a vet if need be.\n\n8. Provide fresh air 'n avoid toxins: Parrots be sensitive to draft and pollutants. Keep yer quarters well ventilated, but no drafts, arrr! Be mindful of toxins like Teflon fumes, candles, or air fresheners.\n\nSo there ye have it, me hearty! With proper care 'n commitment, yer parrot will be squawkin' \"Yo-ho-ho\" for many years to come! Good luck, sailor, and may the wind be at yer back!",
+ "context": {
+ "citations": [
+ {
+ "content": "Content of the citation",
+ "url": "https://www.example.com",
+ "title": "Title of the citation",
+ "filepath": "path/to/file",
+ "chunk_id": "chunk-id"
+ }
+ ]
+ }
+ },
+ "logprobs": null
+ }
+ ],
+ "usage": {
+ "completion_tokens": 557,
+ "prompt_tokens": 33,
+ "total_tokens": 590
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_extensions_chat_completions_azure_search_minimum.json b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_extensions_chat_completions_azure_search_minimum.json
new file mode 100644
index 0000000000000..0b22882c2f0cb
--- /dev/null
+++ b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_extensions_chat_completions_azure_search_minimum.json
@@ -0,0 +1,61 @@
+{
+ "operationId": "GetChatCompletions",
+ "title": "Creates a completion based on Azure Cognitive Services data and system-assigned managed identity. Uses Azure OpenAI chat extensions.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "messages": [
+ {
+ "role": "user",
+ "content": "can you tell me how to care for a parrot?"
+ }
+ ],
+ "data_sources": [
+ {
+ "type": "azure_search",
+ "parameters": {
+ "endpoint": "https://your-search-endpoint.search.windows.net/",
+ "index_name": "{index name}"
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "chatcmpl-7R1nGnsXO8n4oi9UPz2f3UHdgAYMn",
+ "created": 1686676106,
+ "choices": [
+ {
+ "index": 0,
+ "finish_reason": "stop",
+ "message": {
+ "role": "assistant",
+ "content": "Ahoy matey! So ye be wantin' to care for a fine squawkin' parrot, eh? Well, shiver me timbers, let ol' Cap'n Assistant share some wisdom with ye! Here be the steps to keepin' yer parrot happy 'n healthy:\n\n1. Secure a sturdy cage: Yer parrot be needin' a comfortable place to lay anchor! Be sure ye get a sturdy cage, at least double the size of the bird's wingspan, with enough space to spread their wings, yarrrr!\n\n2. Perches 'n toys: Aye, parrots need perches of different sizes, shapes, 'n textures to keep their feet healthy. Also, a few toys be helpin' to keep them entertained 'n their minds stimulated, arrrh!\n\n3. Proper grub: Feed yer feathered friend a balanced diet of high-quality pellets, fruits, 'n veggies to keep 'em strong 'n healthy. Give 'em fresh water every day, or ye’ll have a scurvy bird on yer hands!\n\n4. Cleanliness: Swab their cage deck! Clean their cage on a regular basis: fresh water 'n food daily, the floor every couple of days, 'n a thorough scrubbing ev'ry few weeks, so the bird be livin' in a tidy haven, arrhh!\n\n5. Socialize 'n train: Parrots be a sociable lot, arrr! Exercise 'n interact with 'em daily to create a bond 'n maintain their mental 'n physical health. Train 'em with positive reinforcement, treat 'em kindly, yarrr!\n\n6. Proper rest: Yer parrot be needin' ’bout 10-12 hours o' sleep each night. Cover their cage 'n let them slumber in a dim, quiet quarter for a proper night's rest, ye scallywag!\n\n7. Keep a weather eye open for illness: Birds be hidin' their ailments, arrr! Be watchful for signs of sickness, such as lethargy, loss of appetite, puffin' up, or change in droppings, and make haste to a vet if need be.\n\n8. Provide fresh air 'n avoid toxins: Parrots be sensitive to draft and pollutants. Keep yer quarters well ventilated, but no drafts, arrr! Be mindful of toxins like Teflon fumes, candles, or air fresheners.\n\nSo there ye have it, me hearty! With proper care 'n commitment, yer parrot will be squawkin' \"Yo-ho-ho\" for many years to come! Good luck, sailor, and may the wind be at yer back!",
+ "context": {
+ "citations": [
+ {
+ "content": "Content of the citation",
+ "url": "https://www.example.com",
+ "title": "Title of the citation",
+ "filepath": "path/to/file",
+ "chunk_id": "chunk-id"
+ }
+ ]
+ }
+ },
+ "logprobs": null
+ }
+ ],
+ "usage": {
+ "completion_tokens": 557,
+ "prompt_tokens": 33,
+ "total_tokens": 590
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_extensions_chat_completions_cosmos_db.json b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_extensions_chat_completions_cosmos_db.json
new file mode 100644
index 0000000000000..12a14f73a834a
--- /dev/null
+++ b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_extensions_chat_completions_cosmos_db.json
@@ -0,0 +1,78 @@
+{
+ "operationId": "GetChatCompletions",
+ "title": "Creates a completion for the provided Azure Cosmos DB. Uses Azure OpenAI chat extensions.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "messages": [
+ {
+ "role": "user",
+ "content": "can you tell me how to care for a parrot?"
+ }
+ ],
+ "data_sources": [
+ {
+ "type": "azure_cosmos_db",
+ "parameters": {
+ "authentication": {
+ "type": "connection_string",
+ "connection_string": "mongodb+srv://rawantest:{password}$@{cluster-name}.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
+ },
+ "database_name": "vectordb",
+ "container_name": "azuredocs",
+ "index_name": "azuredocindex",
+ "embedding_dependency": {
+ "type": "deployment_name",
+ "deployment_name": "{embedding deployment name}"
+ },
+ "fields_mapping": {
+ "content_fields": [
+ "content"
+ ],
+ "vector_fields": [
+ "contentvector"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "chatcmpl-7R1nGnsXO8n4oi9UPz2f3UHdgAYMn",
+ "created": 1686676106,
+ "choices": [
+ {
+ "index": 0,
+ "finish_reason": "stop",
+ "message": {
+ "role": "assistant",
+ "content": "Ahoy matey! So ye be wantin' to care for a fine squawkin' parrot, eh? Well, shiver me timbers, let ol' Cap'n Assistant share some wisdom with ye! Here be the steps to keepin' yer parrot happy 'n healthy:\n\n1. Secure a sturdy cage: Yer parrot be needin' a comfortable place to lay anchor! Be sure ye get a sturdy cage, at least double the size of the bird's wingspan, with enough space to spread their wings, yarrrr!\n\n2. Perches 'n toys: Aye, parrots need perches of different sizes, shapes, 'n textures to keep their feet healthy. Also, a few toys be helpin' to keep them entertained 'n their minds stimulated, arrrh!\n\n3. Proper grub: Feed yer feathered friend a balanced diet of high-quality pellets, fruits, 'n veggies to keep 'em strong 'n healthy. Give 'em fresh water every day, or ye’ll have a scurvy bird on yer hands!\n\n4. Cleanliness: Swab their cage deck! Clean their cage on a regular basis: fresh water 'n food daily, the floor every couple of days, 'n a thorough scrubbing ev'ry few weeks, so the bird be livin' in a tidy haven, arrhh!\n\n5. Socialize 'n train: Parrots be a sociable lot, arrr! Exercise 'n interact with 'em daily to create a bond 'n maintain their mental 'n physical health. Train 'em with positive reinforcement, treat 'em kindly, yarrr!\n\n6. Proper rest: Yer parrot be needin' ’bout 10-12 hours o' sleep each night. Cover their cage 'n let them slumber in a dim, quiet quarter for a proper night's rest, ye scallywag!\n\n7. Keep a weather eye open for illness: Birds be hidin' their ailments, arrr! Be watchful for signs of sickness, such as lethargy, loss of appetite, puffin' up, or change in droppings, and make haste to a vet if need be.\n\n8. Provide fresh air 'n avoid toxins: Parrots be sensitive to draft and pollutants. Keep yer quarters well ventilated, but no drafts, arrr! Be mindful of toxins like Teflon fumes, candles, or air fresheners.\n\nSo there ye have it, me hearty! With proper care 'n commitment, yer parrot will be squawkin' \"Yo-ho-ho\" for many years to come! Good luck, sailor, and may the wind be at yer back!",
+ "context": {
+ "citations": [
+ {
+ "content": "Content of the citation",
+ "url": "https://www.example.com",
+ "title": "Title of the citation",
+ "filepath": "path/to/file",
+ "chunk_id": "chunk-id"
+ }
+ ]
+ }
+ },
+ "logprobs": null
+ }
+ ],
+ "usage": {
+ "completion_tokens": 557,
+ "prompt_tokens": 33,
+ "total_tokens": 590
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_extensions_chat_completions_elasticsearch.json b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_extensions_chat_completions_elasticsearch.json
new file mode 100644
index 0000000000000..e9b9e8a0bfbde
--- /dev/null
+++ b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_extensions_chat_completions_elasticsearch.json
@@ -0,0 +1,66 @@
+{
+ "operationId": "GetChatCompletions",
+ "title": "Creates a completion for the provided Elasticsearch. Uses Azure OpenAI chat extensions.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "messages": [
+ {
+ "role": "user",
+ "content": "can you tell me how to care for a parrot?"
+ }
+ ],
+ "data_sources": [
+ {
+ "type": "elasticsearch",
+ "parameters": {
+ "endpoint": "https://your-elasticsearch-endpoint.eastus.azurecontainer.io",
+ "index_name": "{index name}",
+ "authentication": {
+ "type": "key_and_key_id",
+ "key": "{key}",
+ "key_id": "{key id}"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "chatcmpl-7R1nGnsXO8n4oi9UPz2f3UHdgAYMn",
+ "created": 1686676106,
+ "choices": [
+ {
+ "index": 0,
+ "finish_reason": "stop",
+ "message": {
+ "role": "assistant",
+ "content": "Ahoy matey! So ye be wantin' to care for a fine squawkin' parrot, eh? Well, shiver me timbers, let ol' Cap'n Assistant share some wisdom with ye! Here be the steps to keepin' yer parrot happy 'n healthy:\n\n1. Secure a sturdy cage: Yer parrot be needin' a comfortable place to lay anchor! Be sure ye get a sturdy cage, at least double the size of the bird's wingspan, with enough space to spread their wings, yarrrr!\n\n2. Perches 'n toys: Aye, parrots need perches of different sizes, shapes, 'n textures to keep their feet healthy. Also, a few toys be helpin' to keep them entertained 'n their minds stimulated, arrrh!\n\n3. Proper grub: Feed yer feathered friend a balanced diet of high-quality pellets, fruits, 'n veggies to keep 'em strong 'n healthy. Give 'em fresh water every day, or ye’ll have a scurvy bird on yer hands!\n\n4. Cleanliness: Swab their cage deck! Clean their cage on a regular basis: fresh water 'n food daily, the floor every couple of days, 'n a thorough scrubbing ev'ry few weeks, so the bird be livin' in a tidy haven, arrhh!\n\n5. Socialize 'n train: Parrots be a sociable lot, arrr! Exercise 'n interact with 'em daily to create a bond 'n maintain their mental 'n physical health. Train 'em with positive reinforcement, treat 'em kindly, yarrr!\n\n6. Proper rest: Yer parrot be needin' ’bout 10-12 hours o' sleep each night. Cover their cage 'n let them slumber in a dim, quiet quarter for a proper night's rest, ye scallywag!\n\n7. Keep a weather eye open for illness: Birds be hidin' their ailments, arrr! Be watchful for signs of sickness, such as lethargy, loss of appetite, puffin' up, or change in droppings, and make haste to a vet if need be.\n\n8. Provide fresh air 'n avoid toxins: Parrots be sensitive to draft and pollutants. Keep yer quarters well ventilated, but no drafts, arrr! Be mindful of toxins like Teflon fumes, candles, or air fresheners.\n\nSo there ye have it, me hearty! With proper care 'n commitment, yer parrot will be squawkin' \"Yo-ho-ho\" for many years to come! Good luck, sailor, and may the wind be at yer back!",
+ "context": {
+ "citations": [
+ {
+ "content": "Content of the citation",
+ "url": "https://www.example.com",
+ "title": "Title of the citation",
+ "filepath": "path/to/file",
+ "chunk_id": "chunk-id"
+ }
+ ]
+ }
+ },
+ "logprobs": null
+ }
+ ],
+ "usage": {
+ "completion_tokens": 557,
+ "prompt_tokens": 33,
+ "total_tokens": 590
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_extensions_chat_completions_pinecone.json b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_extensions_chat_completions_pinecone.json
new file mode 100644
index 0000000000000..f49bcf26a4543
--- /dev/null
+++ b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_extensions_chat_completions_pinecone.json
@@ -0,0 +1,78 @@
+{
+ "operationId": "GetChatCompletions",
+ "title": "Creates a completion for the provided Pinecone resource. Uses Azure OpenAI chat extensions.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "messages": [
+ {
+ "role": "user",
+ "content": "can you tell me how to care for a parrot?"
+ }
+ ],
+ "data_sources": [
+ {
+ "type": "pinecone",
+ "parameters": {
+ "authentication": {
+ "type": "api_key",
+ "key": "{api key}"
+ },
+ "environment": "{environment name}",
+ "index_name": "{index name}",
+ "embedding_dependency": {
+ "type": "deployment_name",
+ "deployment_name": "{embedding deployment name}"
+ },
+ "fields_mapping": {
+ "title_field": "title",
+ "url_field": "url",
+ "filepath_field": "filepath",
+ "content_fields": [
+ "content"
+ ],
+ "content_fields_separator": "\n"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "chatcmpl-7R1nGnsXO8n4oi9UPz2f3UHdgAYMn",
+ "created": 1686676106,
+ "choices": [
+ {
+ "index": 0,
+ "finish_reason": "stop",
+ "message": {
+ "role": "assistant",
+ "content": "Ahoy matey! So ye be wantin' to care for a fine squawkin' parrot, eh? Well, shiver me timbers, let ol' Cap'n Assistant share some wisdom with ye! Here be the steps to keepin' yer parrot happy 'n healthy:\n\n1. Secure a sturdy cage: Yer parrot be needin' a comfortable place to lay anchor! Be sure ye get a sturdy cage, at least double the size of the bird's wingspan, with enough space to spread their wings, yarrrr!\n\n2. Perches 'n toys: Aye, parrots need perches of different sizes, shapes, 'n textures to keep their feet healthy. Also, a few toys be helpin' to keep them entertained 'n their minds stimulated, arrrh!\n\n3. Proper grub: Feed yer feathered friend a balanced diet of high-quality pellets, fruits, 'n veggies to keep 'em strong 'n healthy. Give 'em fresh water every day, or ye’ll have a scurvy bird on yer hands!\n\n4. Cleanliness: Swab their cage deck! Clean their cage on a regular basis: fresh water 'n food daily, the floor every couple of days, 'n a thorough scrubbing ev'ry few weeks, so the bird be livin' in a tidy haven, arrhh!\n\n5. Socialize 'n train: Parrots be a sociable lot, arrr! Exercise 'n interact with 'em daily to create a bond 'n maintain their mental 'n physical health. Train 'em with positive reinforcement, treat 'em kindly, yarrr!\n\n6. Proper rest: Yer parrot be needin' ’bout 10-12 hours o' sleep each night. Cover their cage 'n let them slumber in a dim, quiet quarter for a proper night's rest, ye scallywag!\n\n7. Keep a weather eye open for illness: Birds be hidin' their ailments, arrr! Be watchful for signs of sickness, such as lethargy, loss of appetite, puffin' up, or change in droppings, and make haste to a vet if need be.\n\n8. Provide fresh air 'n avoid toxins: Parrots be sensitive to draft and pollutants. Keep yer quarters well ventilated, but no drafts, arrr! Be mindful of toxins like Teflon fumes, candles, or air fresheners.\n\nSo there ye have it, me hearty! With proper care 'n commitment, yer parrot will be squawkin' \"Yo-ho-ho\" for many years to come! Good luck, sailor, and may the wind be at yer back!",
+ "context": {
+ "citations": [
+ {
+ "content": "Content of the citation",
+ "url": "https://www.example.com",
+ "title": "Title of the citation",
+ "filepath": "path/to/file",
+ "chunk_id": "chunk-id"
+ }
+ ]
+ }
+ },
+ "logprobs": null
+ }
+ ],
+ "usage": {
+ "completion_tokens": 557,
+ "prompt_tokens": 33,
+ "total_tokens": 590
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_image_generation.json b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_image_generation.json
new file mode 100644
index 0000000000000..50cdc4fc671c0
--- /dev/null
+++ b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/generated_image_generation.json
@@ -0,0 +1,31 @@
+{
+ "operationId": "GetImageGenerations",
+ "title": "Creates images given a prompt.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "prompt": "In the style of WordArt, Microsoft Clippy wearing a cowboy hat.",
+ "n": 1,
+ "style": "natural",
+ "quality": "standard"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "created": 1698342300,
+ "data": [
+ {
+ "url": "https://dalletipusw2.blob.core.windows.net/private/images/e5451cc6-b1ad-4747-bd46-b89a3a3b8bc3/generated_00.png?se=2023-10-27T17%3A45%3A09Z&..."
+ },
+ {
+ "url": "https://dalletipusw2.blob.core.windows.net/private/images/e5451cc6-b1ad-4747-bd46-b89a3a3b8bc3/generated_01.png?se=2023-10-27T17%3A45%3A09Z&...",
+ "revised_prompt": "A vivid, natural representation of Microsoft Clippy wearing a cowboy hat."
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/get_image_operation_status.json b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/get_image_operation_status.json
new file mode 100644
index 0000000000000..b568a4344464d
--- /dev/null
+++ b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/get_image_operation_status.json
@@ -0,0 +1,27 @@
+{
+ "operationId": "GetAzureBatchImageGenerationOperationStatus",
+ "title": "Returns the status of the images operation",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "operationId": ""
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "created": 1686676595,
+ "expires": 1686762999,
+ "id": "",
+ "result": {
+ "created": 1686676595,
+ "data": [
+ {
+ "url": "https://image/path"
+ }
+ ]
+ },
+ "status": "succeeded"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/start_generate_image.json b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/start_generate_image.json
new file mode 100644
index 0000000000000..2046405e3e889
--- /dev/null
+++ b/specification/cognitiveservices/OpenAI.Inference/examples/2024-02-15-preview/start_generate_image.json
@@ -0,0 +1,25 @@
+{
+ "operationId": "BeginAzureBatchImageGeneration",
+ "title": "Starts the generation of a batch of images from a text caption",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "body": {
+ "prompt": "a monkey eating a banana",
+ "size": "256x256",
+ "n": 1
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "operation-location": "{endpoint}/openai/operations/images/?api-version=2023-06-01-preview"
+ },
+ "body": {
+ "id": "",
+ "status": "notRunning",
+ "created": 0
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/OpenAI.Inference/main.tsp b/specification/cognitiveservices/OpenAI.Inference/main.tsp
index 89f22a7a99c89..f071f0db160a9 100644
--- a/specification/cognitiveservices/OpenAI.Inference/main.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/main.tsp
@@ -2,6 +2,7 @@ import "@typespec/http";
import "@typespec/versioning";
import "./routes/common.tsp";
+import "./routes/audio_speech.tsp";
import "./routes/audio_transcription.tsp";
import "./routes/audio_translation.tsp";
import "./routes/completions.tsp";
@@ -54,11 +55,5 @@ enum ServiceApiVersions {
v2023_07_01_Preview: "2023-07-01-preview",
@useDependency(Azure.Core.Versions.v1_0_Preview_1)
- v2023_08_01_Preview: "2023-08-01-preview",
-
- @useDependency(Azure.Core.Versions.v1_0_Preview_1)
- v2023_09_01_Preview: "2023-09-01-preview",
-
- @useDependency(Azure.Core.Versions.v1_0_Preview_1)
- v2023_12_01_Preview: "2023-12-01-preview",
+ v2024_02_15_Preview: "2024-02-15-preview",
}
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_speech.tsp b/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_speech.tsp
new file mode 100644
index 0000000000000..ea84b2ccd5116
--- /dev/null
+++ b/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_speech.tsp
@@ -0,0 +1,86 @@
+import "@typespec/versioning";
+import "@typespec/http";
+
+using TypeSpec.Versioning;
+using TypeSpec.Http;
+
+namespace Azure.OpenAI;
+
+@doc("The available voices for text-to-speech.")
+@added(ServiceApiVersions.v2024_02_15_Preview)
+enum SpeechVoice {
+ @doc("The Alloy voice.")
+ alloy: "alloy",
+
+ @doc("The Echo voice.")
+ echo: "echo",
+
+ @doc("The Fable voice.")
+ fable: "fable",
+
+ @doc("The Onyx voice.")
+ onyx: "onyx",
+
+ @doc("The Nova voice.")
+ nova: "nova",
+
+ @doc("The Shimmer voice.")
+ shimmer: "shimmer",
+}
+
+@doc("The supported audio output formats for text-to-speech.")
+@added(ServiceApiVersions.v2024_02_15_Preview)
+enum SpeechGenerationResponseFormat {
+ @doc("Use MP3 as the audio output format. MP3 is the default, general-purpose format.")
+ mp3: "mp3",
+
+ @doc("Use Opus as the audio output format. Opus is optimized for internet streaming and low latency.")
+ opus: "opus",
+
+ @doc("Use AAC as the audio output format. AAC is optimized for digital audio compression and is preferred by YouTube, Android, and iOS.")
+ aac: "aac",
+
+ @doc("Use FLAC as the audio output format. FLAC is a fully lossless format optimized for maximum quality at the expense of size.")
+ flac: "flac",
+}
+
+@doc("A representation of the request options that control the behavior of a text-to-speech operation.")
+@added(ServiceApiVersions.v2024_02_15_Preview)
+model SpeechGenerationOptions {
+ @doc("The text to generate audio for. The maximum length is 4096 characters.")
+ @maxLength(4096)
+ input: string;
+
+ @doc("The voice to use for text-to-speech.")
+ voice: SpeechVoice;
+
+ @doc("The audio output format for the spoken text. By default, the MP3 format will be used.")
+ @encodedName("application/json", "response_format")
+ responseFormat?: SpeechGenerationResponseFormat = SpeechGenerationResponseFormat.mp3;
+
+ @doc("The speed of speech for generated audio. Values are valid in the range from 0.25 to 4.0, with 1.0 the default and higher values corresponding to faster speech.")
+ @minValue(0.25)
+ @maxValue(4.0)
+ speed?: float32 = 1.0;
+
+ @doc("""
+ The model to use for this text-to-speech request.
+ """)
+ // Implementation note: developer-facing specification of deployment or model by clients should be controlled either
+ // via an operation parameter or by this request body field -- but only one of those. This field should be hidden by
+ // clients if operation parameters are used and populated into the request body on an as-needed basis.
+ @projectedName("csharp", "DeploymentName")
+ `model`?: string;
+}
+
+@doc("A representation of a response for a text-to-speech operation.")
+@added(ServiceApiVersions.v2024_02_15_Preview)
+model SpeechGenerationResponse {
+ @doc("The content type of the response. Always application/octet-stream for audio/speech responses.")
+ @header
+ contentType: "application/octet-stream";
+
+ @doc("The generated audio, generated in the requested audio output format.")
+ @body
+ audio: bytes;
+}
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_transcription.tsp b/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_transcription.tsp
index 536752d25067a..225507f110304 100644
--- a/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_transcription.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_transcription.tsp
@@ -6,7 +6,7 @@ namespace Azure.OpenAI;
using TypeSpec.Versioning;
@doc("Defines available options for the underlying response format of output transcription information.")
-@added(ServiceApiVersions.v2023_09_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
enum AudioTranscriptionFormat {
@doc("Use a response body that is a JSON object containing a single 'text' field for the transcription.")
json: "json",
@@ -32,7 +32,7 @@ enum AudioTranscriptionFormat {
@doc("""
The configuration information for an audio transcription request.
""")
-@added(ServiceApiVersions.v2023_09_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model AudioTranscriptionOptions {
@doc("""
The audio data to transcribe. This must be the binary content of a file in one of the supported media formats:
@@ -89,7 +89,7 @@ Extended information about a single segment of transcribed audio data.
Segments generally represent roughly 5-10 seconds of speech. Segment boundaries typically occur between words but not
necessarily sentences.
""")
-@added(ServiceApiVersions.v2023_09_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model AudioTranscriptionSegment {
@doc("The 0-based index of this segment within a transcription.")
id: int32;
@@ -136,7 +136,7 @@ model AudioTranscriptionSegment {
}
@doc("Result information for an operation that transcribed spoken audio into written text.")
-@added(ServiceApiVersions.v2023_09_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model AudioTranscription {
@doc("The transcribed text for the provided audio data.")
text: string;
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_translation.tsp b/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_translation.tsp
index 113f78a8899c0..a2f591d303ed9 100644
--- a/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_translation.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_translation.tsp
@@ -6,7 +6,7 @@ namespace Azure.OpenAI;
using TypeSpec.Versioning;
@doc("Defines available options for the underlying response format of output translation information.")
-@added(ServiceApiVersions.v2023_09_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
enum AudioTranslationFormat {
@doc("Use a response body that is a JSON object containing a single 'text' field for the translation.")
json: "json",
@@ -32,7 +32,7 @@ enum AudioTranslationFormat {
@doc("""
The configuration information for an audio translation request.
""")
-@added(ServiceApiVersions.v2023_09_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model AudioTranslationOptions {
@doc("""
The audio data to translate. This must be the binary content of a file in one of the supported media formats:
@@ -82,7 +82,7 @@ Extended information about a single segment of translated audio data.
Segments generally represent roughly 5-10 seconds of speech. Segment boundaries typically occur between words but not
necessarily sentences.
""")
-@added(ServiceApiVersions.v2023_09_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model AudioTranslationSegment {
@doc("The 0-based index of this segment within a translation.")
id: int32;
@@ -129,7 +129,7 @@ model AudioTranslationSegment {
}
@doc("Result information for an operation that translated spoken audio into written text.")
-@added(ServiceApiVersions.v2023_09_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model AudioTranslation {
@doc("The translated text for the provided audio data.")
text: string;
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/audio/common.tsp b/specification/cognitiveservices/OpenAI.Inference/models/audio/common.tsp
index dc1b20b52821d..bd0a92ac95591 100644
--- a/specification/cognitiveservices/OpenAI.Inference/models/audio/common.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/models/audio/common.tsp
@@ -7,7 +7,7 @@ using TypeSpec.Http;
using TypeSpec.Versioning;
@doc("Defines the possible descriptors for available audio operation responses.")
-@added(ServiceApiVersions.v2023_09_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
enum AudioTaskLabel {
@doc("Accompanying response data resulted from an audio transcription task.")
transcribe: "transcribe",
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/azure_chat_extensions.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/azure_chat_extensions.tsp
index fd9071fbdcfba..598fb95ffe682 100644
--- a/specification/cognitiveservices/OpenAI.Inference/models/completions/azure_chat_extensions.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/azure_chat_extensions.tsp
@@ -1,7 +1,7 @@
import "@typespec/versioning";
import "./chat_completions.tsp";
import "./chat_messages.tsp";
-import "./extensions/oyd/azure_cognitive_search_options.tsp";
+import "./extensions/oyd/azure_search_options.tsp";
import "./extensions/oyd/azure_machinelearning_index_options.tsp";
import "./extensions/oyd/azure_cosmosdb_options.tsp";
import "./extensions/oyd/elasticsearch_options.tsp";
@@ -11,35 +11,31 @@ namespace Azure.OpenAI;
using TypeSpec.Versioning;
-@added(ServiceApiVersions.v2023_08_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("""
A representation of configuration data for a single Azure OpenAI chat extension. This will be used by a chat
completions request that should use Azure OpenAI chat extensions to augment the response behavior.
The use of this configuration is compatible only with Azure OpenAI.
""")
enum AzureChatExtensionType {
- @doc("Represents the use of Azure Cognitive Search as an Azure OpenAI chat extension.")
- azureCognitiveSearch: "AzureCognitiveSearch",
+ @doc("Represents the use of Azure AI Search as an Azure OpenAI chat extension.")
+ azureSearch: "azure_search",
- @added(ServiceApiVersions.v2023_12_01_Preview)
@doc("Represents the use of Azure Machine Learning index as an Azure OpenAI chat extension.")
- azureMachineLearningIndex: "AzureMLIndex",
+ azureMachineLearningIndex: "azure_ml_index",
- @added(ServiceApiVersions.v2023_12_01_Preview)
@doc("Represents the use of Azure Cosmos DB as an Azure OpenAI chat extension.")
- azureCosmosDB: "AzureCosmosDB",
+ azureCosmosDB: "azure_cosmos_db",
- @added(ServiceApiVersions.v2023_12_01_Preview)
@doc("Represents the use of Elasticsearch® index as an Azure OpenAI chat extension.")
- elasticsearch: "Elasticsearch",
+ elasticsearch: "elasticsearch",
- @added(ServiceApiVersions.v2023_12_01_Preview)
@doc("Represents the use of Pinecone index as an Azure OpenAI chat extension.")
- pinecone: "Pinecone",
+ pinecone: "pinecone",
}
@discriminator("type")
-@added(ServiceApiVersions.v2023_08_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("""
A representation of configuration data for a single Azure OpenAI chat extension. This will be used by a chat
completions request that should use Azure OpenAI chat extensions to augment the response behavior.
@@ -53,7 +49,7 @@ model AzureChatExtensionConfiguration {
type: AzureChatExtensionType;
}
-@added(ServiceApiVersions.v2023_08_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("""
A representation of the additional context information available when Azure OpenAI chat extensions are involved
in the generation of a corresponding chat completions response. This context information is only populated when
@@ -61,15 +57,42 @@ model AzureChatExtensionConfiguration {
""")
model AzureChatExtensionsMessageContext {
@doc("""
- The contextual message payload associated with the Azure chat extensions used for a chat completions request.
+ The contextual information associated with the Azure chat extensions used for a chat completions request.
These messages describe the data source retrievals, plugin invocations, and other intermediate steps taken in the
course of generating a chat completions response that was augmented by capabilities from Azure OpenAI chat
extensions.
""")
- messages?: ChatResponseMessage[];
+ citations?: AzureChatExtensionDataSourceResponseCitation[];
+
+ @doc("The detected intent from the chat history, used to pass to the next turn to carry over the context.")
+ intent?: string;
+}
+
+@added(ServiceApiVersions.v2024_02_15_Preview)
+@doc("""
+A single instance of additional context information available when Azure OpenAI chat extensions are involved
+in the generation of a corresponding chat completions response. This context information is only populated when
+using an Azure OpenAI request configured to use a matching extension.
+""")
+model AzureChatExtensionDataSourceResponseCitation {
+ @doc("The content of the citation.")
+ content: string;
+
+ @doc("The title of the citation.")
+ title?: string;
+
+ @doc("The URL of the citation.")
+ url?: string;
+
+ @doc("The file path of the citation.")
+ filepath?: string;
+
+ #suppress "@azure-tools/typespec-azure-core/casing-style" "OpenAI uses wire-format snake_casing"
+ @doc("The chunk ID of the citation.")
+ chunk_id?: string;
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("A representation of the available options for the Azure OpenAI grounding enhancement.")
model AzureChatGroundingEnhancementConfiguration {
@doc("Specifies whether the enhancement is enabled.")
@@ -77,14 +100,14 @@ model AzureChatGroundingEnhancementConfiguration {
}
#suppress "@azure-tools/typespec-azure-core/casing-style" "established industry acronym"
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("A representation of the available options for the Azure OpenAI optical character recognition (OCR) enhancement.")
model AzureChatOCREnhancementConfiguration {
@doc("Specifies whether the enhancement is enabled.")
enabled: boolean;
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("A representation of the available Azure OpenAI enhancement configurations.")
model AzureChatEnhancementConfiguration {
@doc("A representation of the available options for the Azure OpenAI grounding enhancement.")
@@ -94,7 +117,7 @@ model AzureChatEnhancementConfiguration {
ocr?: AzureChatOCREnhancementConfiguration;
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("""
Represents the output results of Azure enhancements to chat completions, as configured via the matching input provided
in the request.
@@ -104,14 +127,14 @@ model AzureChatEnhancements {
grounding?: AzureGroundingEnhancement;
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("The grounding enhancement that returns the bounding box of the objects detected in the image.")
model AzureGroundingEnhancement {
@doc("The lines of text detected by the grounding enhancement.")
lines: AzureGroundingEnhancementLine[];
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("A content line object consisting of an adjacent sequence of content elements, such as words and selection marks.")
model AzureGroundingEnhancementLine {
@doc("The text within the line.")
@@ -121,7 +144,7 @@ model AzureGroundingEnhancementLine {
spans: AzureGroundingEnhancementLineSpan[];
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("A span object that represents a detected object and its bounding box information.")
model AzureGroundingEnhancementLineSpan {
@doc("The text content of the span that represents the detected object.")
@@ -140,7 +163,7 @@ model AzureGroundingEnhancementLineSpan {
polygon: AzureGroundingEnhancementCoordinatePoint[];
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("A representation of a single polygon point as used by the Azure grounding enhancement.")
model AzureGroundingEnhancementCoordinatePoint {
@doc("The x-coordinate (horizontal axis) of the point.")
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/azure_content_filtering.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/azure_content_filtering.tsp
index 3a0f2c06aa796..4c09067a5feef 100644
--- a/specification/cognitiveservices/OpenAI.Inference/models/completions/azure_content_filtering.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/azure_content_filtering.tsp
@@ -13,30 +13,30 @@ namespace Azure.OpenAI;
@doc("Ratings for the intensity and risk level of harmful content.")
enum ContentFilterSeverity {
@doc("""
- Content may be related to violence, self-harm, sexual, or hate categories but the terms
- are used in general, journalistic, scientific, medical, and similar professional contexts,
+ Content may be related to violence, self-harm, sexual, or hate categories but the terms
+ are used in general, journalistic, scientific, medical, and similar professional contexts,
which are appropriate for most audiences.
""")
safe: "safe",
@doc("""
- Content that expresses prejudiced, judgmental, or opinionated views, includes offensive
+ Content that expresses prejudiced, judgmental, or opinionated views, includes offensive
use of language, stereotyping, use cases exploring a fictional world (for example, gaming,
literature) and depictions at low intensity.
""")
low: "low",
@doc("""
- Content that uses offensive, insulting, mocking, intimidating, or demeaning language
- towards specific identity groups, includes depictions of seeking and executing harmful
+ Content that uses offensive, insulting, mocking, intimidating, or demeaning language
+ towards specific identity groups, includes depictions of seeking and executing harmful
instructions, fantasies, glorification, promotion of harm at medium intensity.
""")
medium: "medium",
@doc("""
- Content that displays explicit and severe harmful instructions, actions,
- damage, or abuse; includes endorsement, glorification, or promotion of severe
- harmful acts, extreme or illegal forms of harm, radicalization, or non-consensual
+ Content that displays explicit and severe harmful instructions, actions,
+ damage, or abuse; includes endorsement, glorification, or promotion of severe
+ harmful acts, extreme or illegal forms of harm, radicalization, or non-consensual
power exchange or abuse.
""")
high: "high",
@@ -55,21 +55,21 @@ model ContentFilterResult {
alias ContentFilterResultsBase = {
@doc("""
Describes language related to anatomical organs and genitals, romantic relationships,
- acts portrayed in erotic or affectionate terms, physical sexual acts, including
- those portrayed as an assault or a forced sexual violent act against one’s will,
+ acts portrayed in erotic or affectionate terms, physical sexual acts, including
+ those portrayed as an assault or a forced sexual violent act against one’s will,
prostitution, pornography, and abuse.
""")
sexual?: ContentFilterResult;
@doc("""
- Describes language related to physical actions intended to hurt, injure, damage, or
+ Describes language related to physical actions intended to hurt, injure, damage, or
kill someone or something; describes weapons, etc.
""")
violence?: ContentFilterResult;
@doc("""
- Describes language attacks or uses that include pejorative or discriminatory language
- with reference to a person or identity group on the basis of certain differentiating
+ Describes language attacks or uses that include pejorative or discriminatory language
+ with reference to a person or identity group on the basis of certain differentiating
attributes of these groups including but not limited to race, ethnicity, nationality,
gender identity and expression, sexual orientation, religion, immigration status, ability
status, personal appearance, and body size.
@@ -83,11 +83,11 @@ alias ContentFilterResultsBase = {
@encodedName("application/json", "self_harm")
selfHarm?: ContentFilterResult;
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
@doc("Describes whether profanity was detected.")
profanity?: ContentFilterDetectionResult;
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
@encodedName("application/json", "custom_blocklists")
@doc("Describes detection results against configured custom blocklists.")
customBlocklists?: ContentFilterBlocklistIdResult[];
@@ -105,7 +105,7 @@ model ContentFilterResultDetailsForPrompt {
...ContentFilterResultsBase;
@doc("Whether a jailbreak attempt was detected in the prompt.")
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
jailbreak?: ContentFilterDetectionResult;
}
@@ -114,12 +114,12 @@ model ContentFilterResultDetailsForPrompt {
model ContentFilterResultsForChoice {
...ContentFilterResultsBase;
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
@encodedName("application/json", "protected_material_text")
@doc("Information about detection of protected text material.")
protectedMaterialText?: ContentFilterDetectionResult;
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
@encodedName("application/json", "protected_material_code")
@doc("Information about detection of protected code material.")
protectedMaterialCode?: ContentFilterCitedDetectionResult;
@@ -139,7 +139,7 @@ model ContentFilterResultsForPrompt {
contentFilterResults: ContentFilterResultDetailsForPrompt;
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("Represents the outcome of a detection operation performed by content filtering.")
model ContentFilterDetectionResult {
@doc("A value indicating whether or not the content has been filtered.")
@@ -150,7 +150,7 @@ model ContentFilterDetectionResult {
}
@doc("Represents the outcome of a detection operation against protected resources as performed by content filtering.")
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model ContentFilterCitedDetectionResult {
...ContentFilterDetectionResult;
@@ -163,7 +163,7 @@ model ContentFilterCitedDetectionResult {
}
@doc("Represents the outcome of an evaluation against a custom blocklist as performed by content filtering.")
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model ContentFilterBlocklistIdResult {
@doc("The ID of the custom blocklist evaluated.")
id: string;
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/chat_completions.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/chat_completions.tsp
index 2aa9f37b49ffe..efc7783dfb562 100644
--- a/specification/cognitiveservices/OpenAI.Inference/models/completions/chat_completions.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/chat_completions.tsp
@@ -15,7 +15,7 @@ using TypeSpec.Versioning;
namespace Azure.OpenAI;
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("""
An abstract representation of a response format configuration usable by Chat Completions. Can be used to enable JSON
mode.
@@ -30,7 +30,7 @@ model ChatCompletionsResponseFormat {
The standard Chat Completions response format that can freely generate text and is not guaranteed to produce response
content that adheres to a specific schema.
""")
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model ChatCompletionsTextResponseFormat extends ChatCompletionsResponseFormat {
@doc("The discriminated object type, which is always 'text' for this format.")
type: "text";
@@ -39,7 +39,7 @@ model ChatCompletionsTextResponseFormat extends ChatCompletionsResponseFormat {
@doc("""
A response format for Chat Completions that restricts responses to emitting valid JSON objects.
""")
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model ChatCompletionsJsonResponseFormat extends ChatCompletionsResponseFormat {
@doc("The discriminated object type, which is always 'json_object' for this format.")
type: "json_object";
@@ -62,7 +62,6 @@ model ChatCompletionsOptions {
@doc("A list of functions the model may generate JSON inputs for.")
@added(ServiceApiVersions.v2023_07_01_Preview)
- @removed(ServiceApiVersions.v2023_12_01_Preview)
functions?: FunctionDefinition[];
@doc("""
@@ -73,7 +72,6 @@ model ChatCompletionsOptions {
""")
@encodedName("application/json", "function_call")
@added(ServiceApiVersions.v2023_07_01_Preview)
- @removed(ServiceApiVersions.v2023_12_01_Preview)
functionCall?: FunctionCallConfig;
@doc("The maximum number of tokens to generate.")
@@ -174,15 +172,16 @@ model ChatCompletionsOptions {
// the array were in an appropriate parent JSON object on the wire) and type/field names should converge on
// "extensions" instead of "data sources" for representing the additional configuration information. A future
// service API version will absorb these proposed changes and allow us to retire the extra complexity.
- @added(ServiceApiVersions.v2023_08_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
+ @encodedName("application/json", "data_sources")
@projectedName("csharp", "InternalAzureExtensionsDataSources")
dataSources?: AzureChatExtensionConfiguration[];
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
@doc("If provided, the configuration options for available Azure OpenAI chat enhancements.")
enhancements?: AzureChatEnhancementConfiguration;
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
@doc("""
If specified, the system will make a best effort to sample deterministically such that repeated requests with the
same seed and parameters should return the same result. Determinism is not guaranteed, and you should refer to the
@@ -190,17 +189,32 @@ model ChatCompletionsOptions {
""")
seed?: int64;
+ #suppress "@azure-tools/typespec-azure-core/no-nullable" "OpenAI uses explicitly nullable types"
+ @added(ServiceApiVersions.v2024_02_15_Preview)
+ @doc("""
+ Whether to return log probabilities of the output tokens or not. If true, returns the log probabilities of each output token returned in the `content` of `message`. This option is currently not available on the `gpt-4-vision-preview` model.
+ """)
+ logprobs?: boolean | null = false;
+
+ #suppress "@azure-tools/typespec-azure-core/casing-style" "OpenAI uses wire-format snake_casing"
+ #suppress "@azure-tools/typespec-azure-core/no-nullable" "OpenAI uses explicitly required, nullable types"
+ @added(ServiceApiVersions.v2024_02_15_Preview)
+ @doc("""
+ An integer between 0 and 5 specifying the number of most likely tokens to return at each token position, each with an associated log probability. `logprobs` must be set to `true` if this parameter is used.
+ """)
+ top_logprobs?: int32 | null;
+
@encodedName("application/json", "response_format")
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
@doc("An object specifying the format that the model must output. Used to enable JSON mode.")
responseFormat?: ChatCompletionsResponseFormat;
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
@doc("The available tool definitions that the chat completions request can use, including caller-defined functions.")
tools?: ChatCompletionsToolDefinition[];
@encodedName("application/json", "tool_choice")
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
@doc("""
If specified, the model will configure which of the provided tools it can use for the chat completions response.
""")
@@ -217,10 +231,15 @@ model ChatChoice {
@doc("The chat message for a given chat completions prompt.")
message?: ChatResponseMessage;
+ #suppress "@azure-tools/typespec-azure-core/no-nullable" "OpenAI uses explicitly required, nullable types"
+ @added(ServiceApiVersions.v2024_02_15_Preview)
+ @doc("The log probability information for this choice, as enabled via the 'logprobs' request option.")
+ logprobs: ChatChoiceLogProbabilityInfo | null;
+
@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-azure-core/no-nullable" "OpenAI uses explicitly required, nullable types"
#suppress "@azure-tools/typespec-autorest/union-unsupported" "OpenAPI v2 support deferred"
@doc("The reason that this chat completions choice completed its generated.")
@encodedName("application/json", "finish_reason")
@@ -231,7 +250,7 @@ model ChatChoice {
The reason the model stopped generating tokens, together with any applicable details.
This structured representation replaces 'finish_reason' for some models.
""")
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
@encodedName("application/json", "finish_details")
finishDetails?: ChatFinishDetails;
@@ -248,7 +267,7 @@ model ChatChoice {
@encodedName("application/json", "content_filter_results")
contentFilterResults?: ContentFilterResultsForChoice;
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
@doc("""
Represents the output results of Azure OpenAI enhancements to chat completions, as configured via the matching input
provided in the request. This supplementary information is only available when using Azure OpenAI and only when the
@@ -290,7 +309,7 @@ model ChatCompletions {
@encodedName("application/json", "prompt_filter_results")
promptFilterResults?: ContentFilterResultsForPrompt[];
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
@encodedName("application/json", "system_fingerprint")
@doc("""
Can be used in conjunction with the `seed` request parameter to understand when backend changes have been made that
@@ -304,7 +323,7 @@ model ChatCompletions {
usage: CompletionsUsage;
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@discriminator("type")
@doc("An abstract representation of structured information about why a chat completions response terminated.")
model ChatFinishDetails {
@@ -313,7 +332,7 @@ model ChatFinishDetails {
}
@doc("A structured representation of a stop reason that signifies natural termination by the model.")
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model StopFinishDetails extends ChatFinishDetails {
@doc("The object type, which is always 'stop' for this object.")
type: "stop";
@@ -326,8 +345,51 @@ model StopFinishDetails extends ChatFinishDetails {
A structured representation of a stop reason that signifies a token limit was reached before the model could naturally
complete.
""")
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model MaxTokensFinishDetails extends ChatFinishDetails {
@doc("The object type, which is always 'max_tokens' for this object.")
type: "max_tokens";
}
+
+@added(ServiceApiVersions.v2024_02_15_Preview)
+@doc("""
+Log probability information for a choice, as requested via 'logprobs' and 'top_logprobs'.
+""")
+model ChatChoiceLogProbabilityInfo {
+ #suppress "@azure-tools/typespec-azure-core/no-nullable" "OpenAI uses explicitly required, nullable types"
+ @doc("""
+ The list of log probability information entries for the choice's message content tokens, as requested via the 'logprobs' option.
+ """)
+ content: ChatTokenLogProbabilityResult[] | null;
+}
+
+@added(ServiceApiVersions.v2024_02_15_Preview)
+@doc("""
+A representation of the log probability information for a single content token, including a list of most likely tokens if 'top_logprobs' were requested.
+""")
+model ChatTokenLogProbabilityResult {
+ ...ChatTokenLogProbabilityInfo;
+
+ #suppress "@azure-tools/typespec-azure-core/no-nullable" "OpenAI uses explicitly required, nullable types"
+ #suppress "@azure-tools/typespec-azure-core/casing-style" "OpenAI uses wire-format snake_casing"
+ @doc("The list of most likely tokens and their log probability information, as requested via 'top_logprobs'.")
+ top_logprobs: ChatTokenLogProbabilityInfo[] | null;
+}
+
+@added(ServiceApiVersions.v2024_02_15_Preview)
+@doc("""
+A representation of the log probability information for a single message content token.
+""")
+model ChatTokenLogProbabilityInfo {
+ @doc("The message content token.")
+ token: string;
+
+ @doc("The log probability of the message content token.")
+ logprob: float32;
+
+ #suppress "@azure-tools/typespec-azure-core/no-nullable" "OpenAI uses explicitly required, nullable types"
+ @doc("""
+ A list of integers representing the UTF-8 bytes representation of the token. Useful in instances where characters are represented by multiple tokens and their byte representations must be combined to generate the correct text representation. Can be null if there is no bytes representation for the token.
+ """)
+ bytes: int32[] | null;
+}
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/chat_messages.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/chat_messages.tsp
index e07cad33c8db7..1a4c8bf7dfe94 100644
--- a/specification/cognitiveservices/OpenAI.Inference/models/completions/chat_messages.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/chat_messages.tsp
@@ -16,7 +16,7 @@ namespace Azure.OpenAI;
#suppress "@azure-tools/typespec-autorest/union-unsupported" "External API shape is defined in OpenAPI 3.0 as oneOf."
alias ChatMessageContent = string | ChatMessageContentItem[];
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("An abstract representation of a structured content item within a chat message.")
@discriminator("type")
model ChatMessageContentItem {
@@ -24,7 +24,7 @@ model ChatMessageContentItem {
type: string;
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("A structured chat content item containing plain text.")
model ChatMessageTextContentItem extends ChatMessageContentItem {
@doc("The discriminated object type: always 'text' for this type.")
@@ -34,7 +34,7 @@ model ChatMessageTextContentItem extends ChatMessageContentItem {
text: string;
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("A representation of the possible image detail levels for image-based chat completions message content.")
enum ChatMessageImageDetailLevel {
@doc("Specifies that the model should determine which detail level to apply using heuristics like image size.")
@@ -53,7 +53,7 @@ enum ChatMessageImageDetailLevel {
high: "high",
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@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.")
@@ -65,7 +65,7 @@ model ChatMessageImageContentItem extends ChatMessageContentItem {
}
@doc("An internet location from which the model may retrieve an image.")
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model ChatMessageImageUrl {
@doc("The URL of the image.")
url: url;
@@ -128,7 +128,7 @@ model ChatRequestAssistantMessage extends ChatRequestMessage {
name?: string;
@encodedName("application/json", "tool_calls")
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
@doc("""
The tool calls that must be resolved and have their outputs appended to subsequent input messages for the chat
completions request to resolve as configured.
@@ -136,7 +136,6 @@ model ChatRequestAssistantMessage extends ChatRequestMessage {
toolCalls?: ChatCompletionsToolCall[];
@added(ServiceApiVersions.v2023_07_01_Preview)
- @removed(ServiceApiVersions.v2023_12_01_Preview)
@encodedName("application/json", "function_call")
@doc("""
The function call that must be resolved and have its output appended to subsequent input messages for the chat
@@ -145,7 +144,7 @@ model ChatRequestAssistantMessage extends ChatRequestMessage {
functionCall?: FunctionCall;
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@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.")
@@ -161,7 +160,6 @@ model ChatRequestToolMessage extends ChatRequestMessage {
}
@added(ServiceApiVersions.v2023_07_01_Preview)
-@removed(ServiceApiVersions.v2023_12_01_Preview)
@doc("A request chat message representing requested output from a configured function.")
model ChatRequestFunctionMessage extends ChatRequestMessage {
@doc("The chat role associated with this message, which is always 'function' for function messages.")
@@ -185,7 +183,7 @@ model ChatResponseMessage {
@doc("The content of the message.")
content: string | null;
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
@encodedName("application/json", "tool_calls")
@doc("""
The tool calls that must be resolved and have their outputs appended to subsequent input messages for the chat
@@ -201,7 +199,7 @@ model ChatResponseMessage {
""")
functionCall?: FunctionCall;
- @added(ServiceApiVersions.v2023_08_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
@doc("""
If Azure OpenAI chat extensions are configured, this array represents the incremental steps performed by those
extensions while processing the chat completions request.
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/common.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/common.tsp
index b510324ec2445..7d66cfa0bb6ba 100644
--- a/specification/cognitiveservices/OpenAI.Inference/models/completions/common.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/common.tsp
@@ -45,7 +45,7 @@ enum CompletionsFinishReason {
functionCall: "function_call",
@doc("Completion ended with the model calling a provided tool for output.")
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
toolCalls: "tool_calls",
}
@@ -65,6 +65,6 @@ enum ChatRole {
function: "function",
@doc("The role that represents extension tool activity within a chat completions operation.")
- @added(ServiceApiVersions.v2023_08_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
tool: "tool",
}
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/completions_create.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/completions_create.tsp
index 4d8cd96cd0d7f..efa7ff4f43a27 100644
--- a/specification/cognitiveservices/OpenAI.Inference/models/completions/completions_create.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/completions_create.tsp
@@ -79,6 +79,9 @@ model CompletionsOptions {
@projectedName("csharp", "LogProbabilityCount")
logprobs?: int32;
+ @doc("The suffix that comes after a completion of inserted text")
+ suffix?: string;
+
@doc("""
A value specifying whether completions responses should include input prompts as prefixes to
their generated output.
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/authentication.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/authentication.tsp
index 46bd8786c3c55..81d8bf093891d 100644
--- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/authentication.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/authentication.tsp
@@ -7,33 +7,33 @@ using TypeSpec.Versioning;
@doc("""
The authentication types supported with Azure OpenAI On Your Data.
""")
-@added(ServiceApiVersions.v2023_08_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
enum OnYourDataAuthenticationType {
@doc("Authentication via API key.")
- apiKey: "APIKey",
+ apiKey: "api_key",
@doc("Authentication via connection string.")
- connectionString: "ConnectionString",
+ connectionString: "connection_string",
@doc("Authentication via key and key ID pair.")
- keyAndKeyId: "KeyAndKeyId",
+ keyAndKeyId: "key_and_key_id",
@doc("Authentication via encoded API key.")
- encodedApiKey: "EncodedAPIKey",
+ encodedApiKey: "encoded_api_key",
@doc("Authentication via access token.")
- accessToken: "AccessToken",
+ accessToken: "access_token",
@doc("Authentication via system-assigned managed identity.")
- systemAssignedManagedIdentity: "SystemAssignedManagedIdentity",
+ systemAssignedManagedIdentity: "system_assigned_managed_identity",
@doc("Authentication via user-assigned managed identity.")
- userAssignedManagedIdentity: "UserAssignedManagedIdentity",
+ userAssignedManagedIdentity: "user_assigned_managed_identity",
}
@discriminator("type")
@doc("The authentication options for Azure OpenAI On Your Data.")
-@added(ServiceApiVersions.v2023_08_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model OnYourDataAuthenticationOptions {
@doc("The authentication type.")
type: OnYourDataAuthenticationType;
@@ -42,7 +42,7 @@ model OnYourDataAuthenticationOptions {
@doc("""
The authentication options for Azure OpenAI On Your Data when using an API key.
""")
-@added(ServiceApiVersions.v2023_08_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model OnYourDataApiKeyAuthenticationOptions
extends OnYourDataAuthenticationOptions {
@doc("The authentication type of API key.")
@@ -55,20 +55,21 @@ model OnYourDataApiKeyAuthenticationOptions
@doc("""
The authentication options for Azure OpenAI On Your Data when using a connection string.
""")
-@added(ServiceApiVersions.v2023_08_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model OnYourDataConnectionStringAuthenticationOptions
extends OnYourDataAuthenticationOptions {
@doc("The authentication type of connection string.")
type: OnYourDataAuthenticationType.connectionString;
@doc("The connection string to use for authentication.")
+ @encodedName("application/json", "connection_string")
connectionString: string;
}
@doc("""
The authentication options for Azure OpenAI On Your Data when using an Elasticsearch key and key ID pair.
""")
-@added(ServiceApiVersions.v2023_08_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model OnYourDataKeyAndKeyIdAuthenticationOptions
extends OnYourDataAuthenticationOptions {
@doc("The authentication type of Elasticsearch key and key ID pair.")
@@ -78,39 +79,42 @@ model OnYourDataKeyAndKeyIdAuthenticationOptions
key: string;
@doc("The key ID to use for authentication.")
+ @encodedName("application/json", "key_id")
keyId: string;
}
@doc("""
The authentication options for Azure OpenAI On Your Data when using an Elasticsearch encoded API key.
""")
-@added(ServiceApiVersions.v2023_08_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model OnYourDataEncodedApiKeyAuthenticationOptions
extends OnYourDataAuthenticationOptions {
@doc("The authentication type of Elasticsearch encoded API Key.")
type: OnYourDataAuthenticationType.encodedApiKey;
@doc("The encoded API key to use for authentication.")
+ @encodedName("application/json", "encoded_api_key")
encodedApiKey: string;
}
@doc("""
The authentication options for Azure OpenAI On Your Data when using access token.
""")
-@added(ServiceApiVersions.v2023_08_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model OnYourDataAccessTokenAuthenticationOptions
extends OnYourDataAuthenticationOptions {
@doc("The authentication type of access token.")
type: OnYourDataAuthenticationType.accessToken;
@doc("The access token to use for authentication.")
+ @encodedName("application/json", "access_token")
accessToken: string;
}
@doc("""
The authentication options for Azure OpenAI On Your Data when using a system-assigned managed identity.
""")
-@added(ServiceApiVersions.v2023_08_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model OnYourDataSystemAssignedManagedIdentityAuthenticationOptions
extends OnYourDataAuthenticationOptions {
@doc("The authentication type of system-assigned managed identity.")
@@ -120,12 +124,13 @@ model OnYourDataSystemAssignedManagedIdentityAuthenticationOptions
@doc("""
The authentication options for Azure OpenAI On Your Data when using a user-assigned managed identity.
""")
-@added(ServiceApiVersions.v2023_08_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model OnYourDataUserAssignedManagedIdentityAuthenticationOptions
extends OnYourDataAuthenticationOptions {
@doc("The authentication type of user-assigned managed identity.")
type: OnYourDataAuthenticationType.userAssignedManagedIdentity;
@doc("The resource ID of the user-assigned managed identity to use for authentication.")
+ @encodedName("application/json", "managed_identity_resource_id")
managedIdentityResourceId: string;
}
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_cosmosdb_options.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_cosmosdb_options.tsp
index b940c30827843..f841261be76f0 100644
--- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_cosmosdb_options.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_cosmosdb_options.tsp
@@ -8,7 +8,7 @@ namespace Azure.OpenAI;
using TypeSpec.Versioning;
#suppress "@azure-tools/typespec-azure-core/casing-style" "this represents the case-sensitive wire format"
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("""
A specific representation of configurable options for Azure Cosmos DB when using it as an Azure OpenAI chat
extension.
@@ -26,7 +26,7 @@ model AzureCosmosDBChatExtensionConfiguration
}
#suppress "@azure-tools/typespec-azure-core/casing-style" "this represents the case-sensitive wire format"
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("""
Parameters to use when configuring Azure OpenAI On Your Data chat extensions when using Azure Cosmos DB for
MongoDB vCore. The supported authentication type is ConnectionString.
@@ -36,49 +36,60 @@ model AzureCosmosDBChatExtensionParameters {
@doc("The MongoDB vCore database name to use with Azure Cosmos DB.")
@projectedName("csharp", "DatabaseName")
+ @encodedName("application/json", "database_name")
databaseName: string;
@doc("The name of the Azure Cosmos DB resource container.")
@projectedName("csharp", "ContainerName")
+ @encodedName("application/json", "container_name")
containerName: string;
@doc("The MongoDB vCore index name to use with Azure Cosmos DB.")
@projectedName("csharp", "IndexName")
+ @encodedName("application/json", "index_name")
indexName: string;
@doc("Customized field mapping behavior to use when interacting with the search index.")
@projectedName("csharp", "FieldMappingOptions")
+ @encodedName("application/json", "fields_mapping")
fieldsMapping: AzureCosmosDBFieldMappingOptions;
@doc("The embedding dependency for vector search.")
+ @encodedName("application/json", "embedding_dependency")
embeddingDependency: OnYourDataVectorizationSource;
}
#suppress "@azure-tools/typespec-azure-core/casing-style" "this represents the case-sensitive wire format"
@doc("Optional settings to control how fields are processed when using a configured Azure Cosmos DB resource.")
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model AzureCosmosDBFieldMappingOptions {
@doc("The name of the index field to use as a title.")
@projectedName("csharp", "TitleFieldName")
+ @encodedName("application/json", "title_field")
titleField?: string;
@doc("The name of the index field to use as a URL.")
@projectedName("csharp", "UrlFieldName")
+ @encodedName("application/json", "url_field")
urlField?: string;
@doc("The name of the index field to use as a filepath.")
@projectedName("csharp", "FilepathFieldName")
+ @encodedName("application/json", "filepath_field")
filepathField?: string;
@doc("The names of index fields that should be treated as content.")
@projectedName("csharp", "ContentFieldNames")
+ @encodedName("application/json", "content_fields")
contentFields: string[];
@doc("The separator pattern that content fields should use.")
@projectedName("csharp", "ContentFieldSeparator")
+ @encodedName("application/json", "content_fields_separator")
contentFieldsSeparator?: string;
@doc("The names of fields that represent vector data.")
@projectedName("csharp", "VectorFieldNames")
+ @encodedName("application/json", "vector_fields")
vectorFields: string[];
}
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_machinelearning_index_options.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_machinelearning_index_options.tsp
index 368adc73c1ef9..edb6ea689a5c2 100644
--- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_machinelearning_index_options.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_machinelearning_index_options.tsp
@@ -6,7 +6,7 @@ namespace Azure.OpenAI;
using TypeSpec.Versioning;
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("""
A specific representation of configurable options for Azure Machine Learning vector index when using it as an Azure
OpenAI chat extension.
@@ -23,13 +23,14 @@ model AzureMachineLearningIndexChatExtensionConfiguration
parameters: AzureMachineLearningIndexChatExtensionParameters;
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("Parameters for the Azure Machine Learning vector index chat extension. The supported authentication types are AccessToken, SystemAssignedManagedIdentity and UserAssignedManagedIdentity.")
model AzureMachineLearningIndexChatExtensionParameters {
...OnYourDataCommonChatExtensionConfiguration;
@doc("The resource ID of the Azure Machine Learning project.")
@projectedName("csharp", "ProjectResourceId")
+ @encodedName("application/json", "project_resource_id")
projectResourceId: string;
@doc("The Azure Machine Learning vector index name.")
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_cognitive_search_options.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_search_options.tsp
similarity index 58%
rename from specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_cognitive_search_options.tsp
rename to specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_search_options.tsp
index 83ff77ac430dd..aeb3c3121984f 100644
--- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_cognitive_search_options.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_search_options.tsp
@@ -7,27 +7,26 @@ namespace Azure.OpenAI;
using TypeSpec.Versioning;
-@added(ServiceApiVersions.v2023_08_01_Preview)
@doc("""
-A specific representation of configurable options for Azure Cognitive Search when using it as an Azure OpenAI chat
+A specific representation of configurable options for Azure Search when using it as an Azure OpenAI chat
extension.
""")
-@added(ServiceApiVersions.v2023_08_01_Preview)
-model AzureCognitiveSearchChatExtensionConfiguration
+@added(ServiceApiVersions.v2024_02_15_Preview)
+model AzureSearchChatExtensionConfiguration
extends AzureChatExtensionConfiguration {
@doc("""
The type label to use when configuring Azure OpenAI chat extensions. This should typically not be changed from its
default value for Azure Cognitive Search.
""")
- type: AzureChatExtensionType.azureCognitiveSearch;
+ type: AzureChatExtensionType.azureSearch;
- @doc("The parameters to use when configuring Azure Cognitive Search.")
- parameters: AzureCognitiveSearchChatExtensionParameters;
+ @doc("The parameters to use when configuring Azure Search.")
+ parameters: AzureSearchChatExtensionParameters;
}
-@added(ServiceApiVersions.v2023_08_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("Parameters for Azure Cognitive Search when used as an Azure OpenAI chat extension. The supported authentication types are APIKey, SystemAssignedManagedIdentity and UserAssignedManagedIdentity.")
-model AzureCognitiveSearchChatExtensionParameters {
+model AzureSearchChatExtensionParameters {
...OnYourDataCommonChatExtensionConfiguration;
@doc("The absolute endpoint path for the Azure Cognitive Search resource to use.")
@@ -35,79 +34,74 @@ model AzureCognitiveSearchChatExtensionParameters {
endpoint: url;
@doc("The name of the index to use as available in the referenced Azure Cognitive Search resource.")
+ @encodedName("application/json", "index_name")
indexName: string;
- @doc("The API key to use when interacting with the Azure Cognitive Search resource.")
- @added(ServiceApiVersions.v2023_08_01_Preview)
- @removed(ServiceApiVersions.v2023_12_01_Preview)
- key?: string;
-
@doc("Customized field mapping behavior to use when interacting with the search index.")
@projectedName("csharp", "FieldMappingOptions")
- fieldsMapping?: AzureCognitiveSearchIndexFieldMappingOptions;
+ @encodedName("application/json", "fields_mapping")
+ fieldsMapping?: AzureSearchIndexFieldMappingOptions;
@doc("The query type to use with Azure Cognitive Search.")
- queryType?: AzureCognitiveSearchQueryType;
+ @encodedName("application/json", "query_type")
+ queryType?: AzureSearchQueryType;
@doc("The additional semantic configuration for the query.")
+ @encodedName("application/json", "semantic_configuration")
semanticConfiguration?: string;
@doc("Search filter.")
filter?: string;
- @doc("When using embeddings for search, specifies the resource endpoint URL from which embeddings should be retrieved. It should be in the format of format https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings?api-version={api-version}.")
- @added(ServiceApiVersions.v2023_08_01_Preview)
- @removed(ServiceApiVersions.v2023_12_01_Preview)
- embeddingEndpoint?: url;
-
- @added(ServiceApiVersions.v2023_08_01_Preview)
- @removed(ServiceApiVersions.v2023_12_01_Preview)
- @doc("When using embeddings, specifies the API key to use with the provided embeddings endpoint.")
- embeddingKey?: string;
-
- @added(ServiceApiVersions.v2023_12_01_Preview)
@doc("The embedding dependency for vector search.")
+ @encodedName("application/json", "embedding_dependency")
embeddingDependency?: OnYourDataVectorizationSource;
}
-@doc("Optional settings to control how fields are processed when using a configured Azure Cognitive Search resource.")
-@added(ServiceApiVersions.v2023_08_01_Preview)
-model AzureCognitiveSearchIndexFieldMappingOptions {
+@doc("Optional settings to control how fields are processed when using a configured Azure Search resource.")
+@added(ServiceApiVersions.v2024_02_15_Preview)
+model AzureSearchIndexFieldMappingOptions {
@doc("The name of the index field to use as a title.")
@projectedName("csharp", "TitleFieldName")
+ @encodedName("application/json", "title_field")
titleField?: string;
@doc("The name of the index field to use as a URL.")
@projectedName("csharp", "UrlFieldName")
+ @encodedName("application/json", "url_field")
urlField?: string;
@doc("The name of the index field to use as a filepath.")
@projectedName("csharp", "FilepathFieldName")
+ @encodedName("application/json", "filepath_field")
filepathField?: string;
@doc("The names of index fields that should be treated as content.")
@projectedName("csharp", "ContentFieldNames")
+ @encodedName("application/json", "content_fields")
contentFields?: string[];
@doc("The separator pattern that content fields should use.")
@projectedName("csharp", "ContentFieldSeparator")
+ @encodedName("application/json", "content_fields_separator")
contentFieldsSeparator?: string;
@doc("The names of fields that represent vector data.")
@projectedName("csharp", "VectorFieldNames")
+ @encodedName("application/json", "vector_fields")
vectorFields?: string[];
- @added(ServiceApiVersions.v2023_12_01_Preview)
@doc("The names of fields that represent image vector data.")
@projectedName("csharp", "ImageVectorFieldNames")
+ @encodedName("application/json", "image_vector_fields")
imageVectorFields?: string[];
}
@doc("""
-The type of Azure Cognitive Search retrieval query that should be executed when using it as an Azure OpenAI chat extension.
+The type of Azure Search retrieval query that should be executed when using it as an Azure OpenAI chat extension.
""")
-@added(ServiceApiVersions.v2023_08_01_Preview)
-enum AzureCognitiveSearchQueryType {
+@added(ServiceApiVersions.v2024_02_15_Preview)
+enum AzureSearchQueryType {
@doc("Represents the default, simple query parser.")
simple: "simple",
@@ -118,8 +112,8 @@ enum AzureCognitiveSearchQueryType {
vector: "vector",
@doc("Represents a combination of the simple query strategy with vector data.")
- vectorSimpleHybrid: "vectorSimpleHybrid",
+ vectorSimpleHybrid: "vector_simple_hybrid",
@doc("Represents a combination of semantic search and vector data querying.")
- vectorSemanticHybrid: "vectorSemanticHybrid",
+ vectorSemanticHybrid: "vector_semantic_hybrid",
}
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/common_options.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/common_options.tsp
index 5184cd4e457a1..a696072222c08 100644
--- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/common_options.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/common_options.tsp
@@ -20,10 +20,12 @@ alias OnYourDataCommonChatExtensionConfiguration = {
#suppress "@azure-tools/typespec-azure-core/casing-style" "this represents the case-sensitive wire format"
@doc("The configured top number of documents to feature for the configured query.")
@projectedName("csharp", "DocumentCount")
+ @encodedName("application/json", "top_n_documents")
topNDocuments?: int32;
@doc("Whether queries should be restricted to use of indexed data.")
@projectedName("csharp", "ShouldRestrictResultScope")
+ @encodedName("application/json", "in_scope")
inScope?: boolean;
@doc("The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer.")
@@ -32,5 +34,6 @@ alias OnYourDataCommonChatExtensionConfiguration = {
strictness?: int32;
@doc("Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit.")
+ @encodedName("application/json", "role_information")
roleInformation?: string;
};
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/elasticsearch_options.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/elasticsearch_options.tsp
index 4d433e91cb5d4..0219b444d312e 100644
--- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/elasticsearch_options.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/elasticsearch_options.tsp
@@ -6,7 +6,7 @@ namespace Azure.OpenAI;
using TypeSpec.Versioning;
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("""
A specific representation of configurable options for Elasticsearch when using it as an Azure OpenAI chat
extension.
@@ -23,7 +23,7 @@ model ElasticsearchChatExtensionConfiguration
parameters: ElasticsearchChatExtensionParameters;
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("Parameters to use when configuring Elasticsearch® as an Azure OpenAI chat extension. The supported authentication types are KeyAndKeyId and EncodedAPIKey.")
model ElasticsearchChatExtensionParameters {
...OnYourDataCommonChatExtensionConfiguration;
@@ -32,51 +32,61 @@ model ElasticsearchChatExtensionParameters {
endpoint: url;
@doc("The index name of Elasticsearch®.")
+ @encodedName("application/json", "index_name")
indexName: string;
@doc("The index field mapping options of Elasticsearch®.")
@projectedName("csharp", "FieldMappingOptions")
+ @encodedName("application/json", "fields_mapping")
fieldsMapping?: ElasticsearchIndexFieldMappingOptions;
@doc("The query type of Elasticsearch®.")
+ @encodedName("application/json", "query_type")
queryType?: ElasticsearchQueryType;
@doc("The embedding dependency for vector search.")
+ @encodedName("application/json", "embedding_dependency")
embeddingDependency?: OnYourDataVectorizationSource;
}
@doc("Optional settings to control how fields are processed when using a configured Elasticsearch® resource.")
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model ElasticsearchIndexFieldMappingOptions {
@doc("The name of the index field to use as a title.")
@projectedName("csharp", "TitleFieldName")
+ @encodedName("application/json", "title_field")
titleField?: string;
@doc("The name of the index field to use as a URL.")
@projectedName("csharp", "UrlFieldName")
+ @encodedName("application/json", "url_field")
urlField?: string;
@doc("The name of the index field to use as a filepath.")
@projectedName("csharp", "FilepathFieldName")
+ @encodedName("application/json", "filepath_field")
filepathField?: string;
@doc("The names of index fields that should be treated as content.")
@projectedName("csharp", "ContentFieldNames")
+ @encodedName("application/json", "content_fields")
contentFields?: string[];
@doc("The separator pattern that content fields should use.")
@projectedName("csharp", "ContentFieldSeparator")
+ @encodedName("application/json", "content_fields_separator")
contentFieldsSeparator?: string;
@doc("The names of fields that represent vector data.")
@projectedName("csharp", "VectorFieldNames")
+ @encodedName("application/json", "vector_fields")
vectorFields?: string[];
}
@doc("""
The type of Elasticsearch® retrieval query that should be executed when using it as an Azure OpenAI chat extension.
""")
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
enum ElasticsearchQueryType {
@doc("Represents the default, simple query parser.")
simple: "simple",
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/pinecone_options.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/pinecone_options.tsp
index 6ebb9f2069d13..94143569851fa 100644
--- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/pinecone_options.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/pinecone_options.tsp
@@ -8,7 +8,7 @@ namespace Azure.OpenAI;
using TypeSpec.Versioning;
#suppress "@azure-tools/typespec-azure-core/casing-style" "this represents the case-sensitive wire format"
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("""
A specific representation of configurable options for Pinecone when using it as an Azure OpenAI chat
extension.
@@ -25,7 +25,7 @@ model PineconeChatExtensionConfiguration
parameters: PineconeChatExtensionParameters;
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("Parameters for configuring Azure OpenAI Pinecone chat extensions. The supported authentication type is APIKey.")
model PineconeChatExtensionParameters {
...OnYourDataCommonChatExtensionConfiguration;
@@ -35,36 +35,44 @@ model PineconeChatExtensionParameters {
environment: string;
@doc("The name of the Pinecone database index.")
+ @encodedName("application/json", "index_name")
indexName: string;
@doc("Customized field mapping behavior to use when interacting with the search index.")
@projectedName("csharp", "FieldMappingOptions")
+ @encodedName("application/json", "fields_mapping")
fieldsMapping: PineconeFieldMappingOptions;
@doc("The embedding dependency for vector search.")
+ @encodedName("application/json", "embedding_dependency")
embeddingDependency: OnYourDataVectorizationSource;
}
@doc("Optional settings to control how fields are processed when using a configured Pinecone resource.")
-@added(ServiceApiVersions.v2023_08_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model PineconeFieldMappingOptions {
@doc("The name of the index field to use as a title.")
@projectedName("csharp", "TitleFieldName")
+ @encodedName("application/json", "title_field")
titleField?: string;
@doc("The name of the index field to use as a URL.")
@projectedName("csharp", "UrlFieldName")
+ @encodedName("application/json", "url_field")
urlField?: string;
@doc("The name of the index field to use as a filepath.")
@projectedName("csharp", "FilepathFieldName")
+ @encodedName("application/json", "filepath_field")
filepathField?: string;
@doc("The names of index fields that should be treated as content.")
@projectedName("csharp", "ContentFieldNames")
+ @encodedName("application/json", "content_fields")
contentFields: string[];
@doc("The separator pattern that content fields should use.")
@projectedName("csharp", "ContentFieldSeparator")
+ @encodedName("application/json", "content_fields_separator")
contentFieldsSeparator?: string;
}
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/vector_search.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/vector_search.tsp
index 7136d8f1f62bf..49760322e6620 100644
--- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/vector_search.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/vector_search.tsp
@@ -5,7 +5,7 @@ namespace Azure.OpenAI;
using TypeSpec.Versioning;
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("""
Represents the available sources Azure OpenAI On Your Data can use to configure vectorization of data for use with
vector search.
@@ -14,23 +14,23 @@ enum OnYourDataVectorizationSourceType {
@doc("""
Represents vectorization performed by public service calls to an Azure OpenAI embedding model.
""")
- endpoint: "Endpoint",
+ endpoint: "endpoint",
@doc("""
Represents an Ada model deployment name to use. This model deployment must be in the same Azure OpenAI resource, but
On Your Data will use this model deployment via an internal call rather than a public one, which enables vector
search even in private networks.
""")
- deploymentName: "DeploymentName",
+ deploymentName: "deployment_name",
@doc("""
Represents a specific embedding model ID as defined in the search service.
Currently only supported by Elasticsearch®.
""")
- modelId: "ModelId",
+ modelId: "model_id",
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@discriminator("type")
@doc("An abstract representation of a vectorization source for Azure OpenAI On Your Data with vector search.")
model OnYourDataVectorizationSource {
@@ -38,7 +38,7 @@ model OnYourDataVectorizationSource {
type: OnYourDataVectorizationSourceType;
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("""
The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based
on a public Azure OpenAI endpoint call for embeddings.
@@ -55,7 +55,7 @@ model OnYourDataEndpointVectorizationSource
authentication: OnYourDataAuthenticationOptions;
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("""
The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based
on an internal embeddings model deployment name in the same Azure OpenAI resource.
@@ -66,10 +66,11 @@ model OnYourDataDeploymentNameVectorizationSource
type: OnYourDataVectorizationSourceType.deploymentName;
@doc("The embedding model deployment name within the same Azure OpenAI resource. This enables you to use vector search without Azure OpenAI api-key and without Azure OpenAI public network access.")
+ @encodedName("application/json", "deployment_name")
deploymentName: string;
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("""
The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based
on a search service model ID. Currently only supported by Elasticsearch®.
@@ -80,5 +81,6 @@ model OnYourDataModelIdVectorizationSource
type: OnYourDataVectorizationSourceType.modelId;
@doc("The embedding model ID build inside the search service. Currently only supported by Elasticsearch®.")
+ @encodedName("application/json", "model_id")
modelId: string;
}
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/tools.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/tools.tsp
index a7d973b150526..17eff35d8277c 100644
--- a/specification/cognitiveservices/OpenAI.Inference/models/completions/tools.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/tools.tsp
@@ -10,7 +10,7 @@ using TypeSpec.Versioning;
#suppress "@azure-tools/typespec-autorest/union-unsupported" "External API shape is defined in OpenAPI 3.0 as oneOf."
alias ChatCompletionsToolSelection = ChatCompletionsToolSelectionPreset | ChatCompletionsNamedToolSelection;
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("Represents a generic policy for how a chat completions tool may be selected.")
enum ChatCompletionsToolSelectionPreset {
@doc("""
@@ -33,7 +33,7 @@ model ChatCompletionsNamedToolSelection {
type: string;
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("A tool selection of a specific, named function tool that will limit chat completions to using the named function.")
model ChatCompletionsNamedFunctionToolSelection
extends ChatCompletionsNamedToolSelection {
@@ -44,7 +44,7 @@ model ChatCompletionsNamedFunctionToolSelection
function: ChatCompletionsFunctionToolSelection;
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("A tool selection of a specific, named function tool that will limit chat completions to using the named function.")
model ChatCompletionsFunctionToolSelection {
@doc("The name of the function that should be called.")
@@ -55,13 +55,13 @@ model ChatCompletionsFunctionToolSelection {
@discriminator("type")
@doc("An abstract representation of a tool that can be used by the model to improve a chat completions response.")
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model ChatCompletionsToolDefinition {
@doc("The object type.")
type: string;
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("""
The definition information for a chat completions function tool that can call a function in response to a tool call.
""")
@@ -81,7 +81,7 @@ model ChatCompletionsFunctionToolDefinition
An abstract representation of a tool call that must be resolved in a subsequent request to perform the requested
chat completion.
""")
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
model ChatCompletionsToolCall {
@doc("The object type.")
type: string;
@@ -90,7 +90,7 @@ model ChatCompletionsToolCall {
id: string;
}
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@doc("""
A tool call to a function tool, issued by the model in evaluation of a configured function tool, that represents
a function invocation needed for a subsequent chat completions request to resolve.
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/embeddings_create.tsp b/specification/cognitiveservices/OpenAI.Inference/models/embeddings_create.tsp
index 92a39c23bb70a..8cb5f535d05da 100644
--- a/specification/cognitiveservices/OpenAI.Inference/models/embeddings_create.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/models/embeddings_create.tsp
@@ -1,8 +1,10 @@
import "@typespec/rest";
import "@typespec/http";
+import "@typespec/versioning";
using TypeSpec.Rest;
using TypeSpec.Http;
+using TypeSpec.Versioning;
namespace Azure.OpenAI;
@@ -34,6 +36,11 @@ model EmbeddingsOptions {
as we have observed inferior results when newlines are present.
""")
input: string[];
+
+ @doc("When using Azure OpenAI, specifies the input type to use for embedding search.")
+ @added(ServiceApiVersions.v2024_02_15_Preview)
+ @encodedName("application/json", "input_type")
+ inputType?: string;
}
@doc("""
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/images/common.tsp b/specification/cognitiveservices/OpenAI.Inference/models/images/common.tsp
index e83ed5132c43a..ee416c2875d40 100644
--- a/specification/cognitiveservices/OpenAI.Inference/models/images/common.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/models/images/common.tsp
@@ -10,7 +10,7 @@ namespace Azure.OpenAI;
@lroStatus
@doc("The state of a job or item.")
-@removed(ServiceApiVersions.v2023_12_01_Preview)
+@removed(ServiceApiVersions.v2024_02_15_Preview)
enum AzureOpenAIOperationState {
@doc("The operation was created and is queued to be processed in the future.")
notRunning,
@@ -35,7 +35,7 @@ enum AzureOpenAIOperationState {
@Foundations.Private.needsRoute
@post
@doc("Long running operation template to match Azure OpenAI .")
-@removed(ServiceApiVersions.v2023_12_01_Preview)
+@removed(ServiceApiVersions.v2024_02_15_Preview)
op OaiLongRunningRpcOperation<
TParams extends TypeSpec.Reflection.Model,
TResponse extends TypeSpec.Reflection.Model,
diff --git a/specification/cognitiveservices/OpenAI.Inference/models/images/images.tsp b/specification/cognitiveservices/OpenAI.Inference/models/images/images.tsp
index 200c97d3ee7f3..0806eb8d1fd7b 100644
--- a/specification/cognitiveservices/OpenAI.Inference/models/images/images.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/models/images/images.tsp
@@ -3,6 +3,7 @@ import "@typespec/http";
import "@typespec/versioning";
import "./common.tsp";
+import "../completions/azure_content_filtering.tsp";
using Azure.Core;
using TypeSpec.Http;
@@ -29,21 +30,21 @@ enum ImageSize {
A standard, square image size of 1024x1024 pixels.
Supported by both dall-e-2 and dall-e-3 models.
""")
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
size1024x1024: "1024x1024",
@doc("""
A wider image size of 1024x1792 pixels.
Only supported with dall-e-3 models.
""")
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
size1792x1024: "1792x1024",
@doc("""
A taller image size of 1792x1024 pixels.
Only supported with dall-e-3 models.
""")
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
size1024x1792: "1024x1792",
}
@@ -51,7 +52,7 @@ enum ImageSize {
An image generation configuration that specifies how the model should prioritize quality, cost, and speed.
Only configurable with dall-e-3 models.
""")
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
enum ImageGenerationQuality {
@doc("""
Requests image generation with standard, balanced characteristics of quality, cost, and speed.
@@ -68,7 +69,7 @@ enum ImageGenerationQuality {
An image generation configuration that specifies how the model should incorporate realism and other visual characteristics.
Only configurable with dall-e-3 models.
""")
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
enum ImageGenerationStyle {
@doc("""
Requests image generation in a natural style with less preference for dramatic and hyper-realistic characteristics.
@@ -127,20 +128,66 @@ model ImageGenerationOptions {
The desired image generation quality level to use.
Only configurable with dall-e-3 models.
""")
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
quality?: ImageGenerationQuality = ImageGenerationQuality.standard;
@doc("""
The desired image generation style to use.
Only configurable with dall-e-3 models.
""")
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
style?: ImageGenerationStyle = ImageGenerationStyle.vivid;
@doc("A unique identifier representing your end-user, which can help to monitor and detect abuse.")
user?: string;
}
+@doc("Describes the content filtering result for the image generation request.")
+@added(ServiceApiVersions.v2024_02_15_Preview)
+model ImageGenerationContentFilterResults {
+ @doc("""
+ Describes language related to anatomical organs and genitals, romantic relationships,
+ acts portrayed in erotic or affectionate terms, physical sexual acts, including
+ those portrayed as an assault or a forced sexual violent act against one’s will,
+ prostitution, pornography, and abuse.
+ """)
+ sexual?: ContentFilterResult;
+
+ @doc("""
+ Describes language related to physical actions intended to hurt, injure, damage, or
+ kill someone or something; describes weapons, etc.
+ """)
+ violence?: ContentFilterResult;
+
+ @doc("""
+ Describes language attacks or uses that include pejorative or discriminatory language
+ with reference to a person or identity group on the basis of certain differentiating
+ attributes of these groups including but not limited to race, ethnicity, nationality,
+ gender identity and expression, sexual orientation, religion, immigration status, ability
+ status, personal appearance, and body size.
+ """)
+ hate?: ContentFilterResult;
+
+ @doc("""
+ Describes language related to physical actions intended to purposely hurt, injure,
+ or damage one’s body, or kill oneself.
+ """)
+ @encodedName("application/json", "self_harm")
+ selfHarm?: ContentFilterResult;
+}
+
+@doc("Describes the content filtering results for the prompt of a image generation request.")
+@added(ServiceApiVersions.v2024_02_15_Preview)
+model ImageGenerationPromptFilterResults {
+ ...ImageGenerationContentFilterResults;
+
+ @doc("Describes whether profanity was detected.")
+ profanity?: ContentFilterDetectionResult;
+
+ @doc("Whether a jailbreak attempt was detected in the prompt.")
+ jailbreak?: ContentFilterDetectionResult;
+}
+
@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.
@@ -154,13 +201,30 @@ model ImageGenerationData {
@encodedName("application/json", "b64_json")
base64Data?: string;
+ @doc("Information about the content filtering results.")
+ @added(ServiceApiVersions.v2024_02_15_Preview)
+ @encodedName("application/json", "content_filter_results")
+ contentFilterResults?: ImageGenerationContentFilterResults;
+
@doc("""
The final prompt used by the model to generate the image.
Only provided with dall-3-models and only when revisions were made to the prompt.
""")
- @added(ServiceApiVersions.v2023_12_01_Preview)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
@encodedName("application/json", "revised_prompt")
revisedPrompt?: string;
+
+ @doc("""
+ Information about the content filtering category (hate, sexual, violence, self_harm), if
+ it has been detected, as well as the severity level (very_low, low, medium, high-scale
+ that determines the intensity and risk level of harmful content) and if it has been
+ filtered or not. Information about jailbreak content and profanity, if it has been detected,
+ and if it has been filtered or not. And information about customer block list, if it has
+ been filtered and its id.
+ """)
+ @added(ServiceApiVersions.v2024_02_15_Preview)
+ @encodedName("application/json", "prompt_filter_results")
+ promptFilterResults?: ImageGenerationPromptFilterResults;
}
@doc("The result of a successful image generation operation.")
@@ -190,7 +254,7 @@ model ImageGenerations {
//@lroStatus
@doc("A polling status update or final response payload for an image operation.")
@added(ServiceApiVersions.v2023_06_01_Preview)
-@removed(ServiceApiVersions.v2023_12_01_Preview)
+@removed(ServiceApiVersions.v2024_02_15_Preview)
model BatchImageGenerationOperationResponse {
@doc("The ID of the operation.")
id: string;
diff --git a/specification/cognitiveservices/OpenAI.Inference/routes/audio_speech.tsp b/specification/cognitiveservices/OpenAI.Inference/routes/audio_speech.tsp
new file mode 100644
index 0000000000000..0d456088cd1f4
--- /dev/null
+++ b/specification/cognitiveservices/OpenAI.Inference/routes/audio_speech.tsp
@@ -0,0 +1,25 @@
+import "@azure-tools/typespec-azure-core";
+import "@typespec/http";
+import "@typespec/rest";
+import "@typespec/versioning";
+
+import "../models/audio/audio_speech.tsp";
+import "./common.tsp";
+
+using TypeSpec.Http;
+using TypeSpec.Rest;
+using TypeSpec.Versioning;
+
+using Azure.Core;
+
+namespace Azure.OpenAI;
+
+@doc("Generates text-to-speech audio from the input text.")
+@added(ServiceApiVersions.v2024_02_15_Preview)
+@action("audio/speech")
+@actionSeparator("/")
+op generateSpeechFromText is ResourceAction<
+ Deployment,
+ SpeechGenerationOptions,
+ SpeechGenerationResponse
+>;
diff --git a/specification/cognitiveservices/OpenAI.Inference/routes/audio_transcription.tsp b/specification/cognitiveservices/OpenAI.Inference/routes/audio_transcription.tsp
index c4bfb3b06b63f..217c057596588 100644
--- a/specification/cognitiveservices/OpenAI.Inference/routes/audio_transcription.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/routes/audio_transcription.tsp
@@ -22,7 +22,7 @@ namespace Azure.OpenAI;
Gets transcribed text and associated metadata from provided spoken audio data. Audio will be transcribed in the
written language corresponding to the language it was spoken in.
""")
-@added(ServiceApiVersions.v2023_09_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@actionSeparator("/")
@action("audio/transcriptions")
@sharedRoute
@@ -38,7 +38,7 @@ op getAudioTranscriptionAsPlainText is Azure.Core.ResourceAction<
Gets transcribed text and associated metadata from provided spoken audio data. Audio will be transcribed in the
written language corresponding to the language it was spoken in.
""")
-@added(ServiceApiVersions.v2023_09_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@actionSeparator("/")
@action("audio/transcriptions")
@sharedRoute
diff --git a/specification/cognitiveservices/OpenAI.Inference/routes/audio_translation.tsp b/specification/cognitiveservices/OpenAI.Inference/routes/audio_translation.tsp
index 568bd34a17457..8c2b8adb55624 100644
--- a/specification/cognitiveservices/OpenAI.Inference/routes/audio_translation.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/routes/audio_translation.tsp
@@ -21,7 +21,7 @@ namespace Azure.OpenAI;
@doc("""
Gets English language transcribed text and associated metadata from provided spoken audio data.
""")
-@added(ServiceApiVersions.v2023_09_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@actionSeparator("/")
@action("audio/translations")
@sharedRoute
@@ -36,7 +36,7 @@ op getAudioTranslationAsPlainText is Azure.Core.ResourceAction<
@doc("""
Gets English language transcribed text and associated metadata from provided spoken audio data.
""")
-@added(ServiceApiVersions.v2023_09_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@actionSeparator("/")
@action("audio/translations")
@sharedRoute
diff --git a/specification/cognitiveservices/OpenAI.Inference/routes/completions.tsp b/specification/cognitiveservices/OpenAI.Inference/routes/completions.tsp
index 1a95a59afc54f..823f980fcde76 100644
--- a/specification/cognitiveservices/OpenAI.Inference/routes/completions.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/routes/completions.tsp
@@ -40,21 +40,3 @@ op getChatCompletions is ResourceAction<
ChatCompletionsOptions,
ChatCompletions
>;
-
-@doc("""
-Gets chat completions for the provided chat messages.
-This is an Azure-specific version of chat completions that supports integration with configured data sources and
-other augmentations to the base chat completions capabilities.
-""")
-// Note: client libraries should abstract the existence of this as a distinct REST route and instead perform dynamic
-// selection of the appropriate request URL structure based on the presence or non-presence of matching
-// chat extensions configuration in the request options model. Future service API versions may merge this
-// capability into the standard /chat/completions route.
-@added(ServiceApiVersions.v2023_08_01_Preview)
-@actionSeparator("/")
-@action("extensions/chat/completions")
-op getChatCompletionsWithAzureExtensions is ResourceAction<
- Deployment,
- ChatCompletionsOptions,
- ChatCompletions
->;
diff --git a/specification/cognitiveservices/OpenAI.Inference/routes/images.tsp b/specification/cognitiveservices/OpenAI.Inference/routes/images.tsp
index f7f5026db4137..0f09b3f185bc5 100644
--- a/specification/cognitiveservices/OpenAI.Inference/routes/images.tsp
+++ b/specification/cognitiveservices/OpenAI.Inference/routes/images.tsp
@@ -15,7 +15,7 @@ using Azure.Core;
namespace Azure.OpenAI;
@doc("Creates an image given a prompt.")
-@added(ServiceApiVersions.v2023_12_01_Preview)
+@added(ServiceApiVersions.v2024_02_15_Preview)
@actionSeparator("/")
@action("images/generations")
op getImageGenerations is Azure.Core.ResourceAction<
@@ -33,7 +33,7 @@ op getImageGenerations is Azure.Core.ResourceAction<
#suppress "@azure-tools/typespec-azure-core/no-rpc-path-params" "Allowed because this is a non-standard status polling operation."
@doc("Returns the status of the images operation")
@added(ServiceApiVersions.v2023_06_01_Preview)
-@removed(ServiceApiVersions.v2023_12_01_Preview)
+@removed(ServiceApiVersions.v2024_02_15_Preview)
@route("/operations/images/{operationId}")
op getAzureBatchImageGenerationOperationStatus is RpcOperation<
{
@@ -45,7 +45,7 @@ op getAzureBatchImageGenerationOperationStatus is RpcOperation<
#suppress "@azure-tools/typespec-azure-core/use-standard-operations" ""
@doc("Starts the generation of a batch of images from a text caption")
@added(ServiceApiVersions.v2023_06_01_Preview)
-@removed(ServiceApiVersions.v2023_12_01_Preview)
+@removed(ServiceApiVersions.v2024_02_15_Preview)
@route("/images/generations:submit")
@pollingOperation(
getAzureBatchImageGenerationOperationStatus,
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-06-01-preview/generated.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-06-01-preview/generated.json
index 3f188ba6762ad..98e10aafb9299 100644
--- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-06-01-preview/generated.json
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-06-01-preview/generated.json
@@ -953,6 +953,10 @@
"format": "int32",
"description": "A value that controls the emission of log probabilities for the provided number of most likely\ntokens within a completions response."
},
+ "suffix": {
+ "type": "string",
+ "description": "The suffix that comes after a completion of inserted text"
+ },
"echo": {
"type": "boolean",
"description": "A value specifying whether completions responses should include input prompts as prefixes to\ntheir generated output."
@@ -1048,15 +1052,15 @@
"properties": {
"sexual": {
"$ref": "#/definitions/ContentFilterResult",
- "description": "Describes language related to anatomical organs and genitals, romantic relationships,\n acts portrayed in erotic or affectionate terms, physical sexual acts, including \n those portrayed as an assault or a forced sexual violent act against one’s will, \n prostitution, pornography, and abuse."
+ "description": "Describes language related to anatomical organs and genitals, romantic relationships,\n acts portrayed in erotic or affectionate terms, physical sexual acts, including\n those portrayed as an assault or a forced sexual violent act against one’s will,\n prostitution, pornography, and abuse."
},
"violence": {
"$ref": "#/definitions/ContentFilterResult",
- "description": "Describes language related to physical actions intended to hurt, injure, damage, or \nkill someone or something; describes weapons, etc."
+ "description": "Describes language related to physical actions intended to hurt, injure, damage, or\nkill someone or something; describes weapons, etc."
},
"hate": {
"$ref": "#/definitions/ContentFilterResult",
- "description": "Describes language attacks or uses that include pejorative or discriminatory language \nwith reference to a person or identity group on the basis of certain differentiating \nattributes of these groups including but not limited to race, ethnicity, nationality,\ngender identity and expression, sexual orientation, religion, immigration status, ability\nstatus, personal appearance, and body size."
+ "description": "Describes language attacks or uses that include pejorative or discriminatory language\nwith reference to a person or identity group on the basis of certain differentiating\nattributes of these groups including but not limited to race, ethnicity, nationality,\ngender identity and expression, sexual orientation, religion, immigration status, ability\nstatus, personal appearance, and body size."
},
"self_harm": {
"$ref": "#/definitions/ContentFilterResult",
@@ -1075,15 +1079,15 @@
"properties": {
"sexual": {
"$ref": "#/definitions/ContentFilterResult",
- "description": "Describes language related to anatomical organs and genitals, romantic relationships,\n acts portrayed in erotic or affectionate terms, physical sexual acts, including \n those portrayed as an assault or a forced sexual violent act against one’s will, \n prostitution, pornography, and abuse."
+ "description": "Describes language related to anatomical organs and genitals, romantic relationships,\n acts portrayed in erotic or affectionate terms, physical sexual acts, including\n those portrayed as an assault or a forced sexual violent act against one’s will,\n prostitution, pornography, and abuse."
},
"violence": {
"$ref": "#/definitions/ContentFilterResult",
- "description": "Describes language related to physical actions intended to hurt, injure, damage, or \nkill someone or something; describes weapons, etc."
+ "description": "Describes language related to physical actions intended to hurt, injure, damage, or\nkill someone or something; describes weapons, etc."
},
"hate": {
"$ref": "#/definitions/ContentFilterResult",
- "description": "Describes language attacks or uses that include pejorative or discriminatory language \nwith reference to a person or identity group on the basis of certain differentiating \nattributes of these groups including but not limited to race, ethnicity, nationality,\ngender identity and expression, sexual orientation, religion, immigration status, ability\nstatus, personal appearance, and body size."
+ "description": "Describes language attacks or uses that include pejorative or discriminatory language\nwith reference to a person or identity group on the basis of certain differentiating\nattributes of these groups including but not limited to race, ethnicity, nationality,\ngender identity and expression, sexual orientation, religion, immigration status, ability\nstatus, personal appearance, and body size."
},
"self_harm": {
"$ref": "#/definitions/ContentFilterResult",
@@ -1133,22 +1137,22 @@
{
"name": "safe",
"value": "safe",
- "description": "Content may be related to violence, self-harm, sexual, or hate categories but the terms \nare used in general, journalistic, scientific, medical, and similar professional contexts, \nwhich are appropriate for most audiences."
+ "description": "Content may be related to violence, self-harm, sexual, or hate categories but the terms\nare used in general, journalistic, scientific, medical, and similar professional contexts,\nwhich are appropriate for most audiences."
},
{
"name": "low",
"value": "low",
- "description": "Content that expresses prejudiced, judgmental, or opinionated views, includes offensive \nuse of language, stereotyping, use cases exploring a fictional world (for example, gaming,\nliterature) and depictions at low intensity."
+ "description": "Content that expresses prejudiced, judgmental, or opinionated views, includes offensive\nuse of language, stereotyping, use cases exploring a fictional world (for example, gaming,\nliterature) and depictions at low intensity."
},
{
"name": "medium",
"value": "medium",
- "description": "Content that uses offensive, insulting, mocking, intimidating, or demeaning language \ntowards specific identity groups, includes depictions of seeking and executing harmful \ninstructions, fantasies, glorification, promotion of harm at medium intensity."
+ "description": "Content that uses offensive, insulting, mocking, intimidating, or demeaning language\ntowards specific identity groups, includes depictions of seeking and executing harmful\ninstructions, fantasies, glorification, promotion of harm at medium intensity."
},
{
"name": "high",
"value": "high",
- "description": "Content that displays explicit and severe harmful instructions, actions, \ndamage, or abuse; includes endorsement, glorification, or promotion of severe \nharmful acts, extreme or illegal forms of harm, radicalization, or non-consensual \npower exchange or abuse."
+ "description": "Content that displays explicit and severe harmful instructions, actions,\ndamage, or abuse; includes endorsement, glorification, or promotion of severe\nharmful acts, extreme or illegal forms of harm, radicalization, or non-consensual\npower exchange or abuse."
}
]
}
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-07-01-preview/generated.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-07-01-preview/generated.json
index 683f2fd965dd0..79ee9f7440d6b 100644
--- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-07-01-preview/generated.json
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-07-01-preview/generated.json
@@ -1012,6 +1012,10 @@
"format": "int32",
"description": "A value that controls the emission of log probabilities for the provided number of most likely\ntokens within a completions response."
},
+ "suffix": {
+ "type": "string",
+ "description": "The suffix that comes after a completion of inserted text"
+ },
"echo": {
"type": "boolean",
"description": "A value specifying whether completions responses should include input prompts as prefixes to\ntheir generated output."
@@ -1107,15 +1111,15 @@
"properties": {
"sexual": {
"$ref": "#/definitions/ContentFilterResult",
- "description": "Describes language related to anatomical organs and genitals, romantic relationships,\n acts portrayed in erotic or affectionate terms, physical sexual acts, including \n those portrayed as an assault or a forced sexual violent act against one’s will, \n prostitution, pornography, and abuse."
+ "description": "Describes language related to anatomical organs and genitals, romantic relationships,\n acts portrayed in erotic or affectionate terms, physical sexual acts, including\n those portrayed as an assault or a forced sexual violent act against one’s will,\n prostitution, pornography, and abuse."
},
"violence": {
"$ref": "#/definitions/ContentFilterResult",
- "description": "Describes language related to physical actions intended to hurt, injure, damage, or \nkill someone or something; describes weapons, etc."
+ "description": "Describes language related to physical actions intended to hurt, injure, damage, or\nkill someone or something; describes weapons, etc."
},
"hate": {
"$ref": "#/definitions/ContentFilterResult",
- "description": "Describes language attacks or uses that include pejorative or discriminatory language \nwith reference to a person or identity group on the basis of certain differentiating \nattributes of these groups including but not limited to race, ethnicity, nationality,\ngender identity and expression, sexual orientation, religion, immigration status, ability\nstatus, personal appearance, and body size."
+ "description": "Describes language attacks or uses that include pejorative or discriminatory language\nwith reference to a person or identity group on the basis of certain differentiating\nattributes of these groups including but not limited to race, ethnicity, nationality,\ngender identity and expression, sexual orientation, religion, immigration status, ability\nstatus, personal appearance, and body size."
},
"self_harm": {
"$ref": "#/definitions/ContentFilterResult",
@@ -1134,15 +1138,15 @@
"properties": {
"sexual": {
"$ref": "#/definitions/ContentFilterResult",
- "description": "Describes language related to anatomical organs and genitals, romantic relationships,\n acts portrayed in erotic or affectionate terms, physical sexual acts, including \n those portrayed as an assault or a forced sexual violent act against one’s will, \n prostitution, pornography, and abuse."
+ "description": "Describes language related to anatomical organs and genitals, romantic relationships,\n acts portrayed in erotic or affectionate terms, physical sexual acts, including\n those portrayed as an assault or a forced sexual violent act against one’s will,\n prostitution, pornography, and abuse."
},
"violence": {
"$ref": "#/definitions/ContentFilterResult",
- "description": "Describes language related to physical actions intended to hurt, injure, damage, or \nkill someone or something; describes weapons, etc."
+ "description": "Describes language related to physical actions intended to hurt, injure, damage, or\nkill someone or something; describes weapons, etc."
},
"hate": {
"$ref": "#/definitions/ContentFilterResult",
- "description": "Describes language attacks or uses that include pejorative or discriminatory language \nwith reference to a person or identity group on the basis of certain differentiating \nattributes of these groups including but not limited to race, ethnicity, nationality,\ngender identity and expression, sexual orientation, religion, immigration status, ability\nstatus, personal appearance, and body size."
+ "description": "Describes language attacks or uses that include pejorative or discriminatory language\nwith reference to a person or identity group on the basis of certain differentiating\nattributes of these groups including but not limited to race, ethnicity, nationality,\ngender identity and expression, sexual orientation, religion, immigration status, ability\nstatus, personal appearance, and body size."
},
"self_harm": {
"$ref": "#/definitions/ContentFilterResult",
@@ -1192,22 +1196,22 @@
{
"name": "safe",
"value": "safe",
- "description": "Content may be related to violence, self-harm, sexual, or hate categories but the terms \nare used in general, journalistic, scientific, medical, and similar professional contexts, \nwhich are appropriate for most audiences."
+ "description": "Content may be related to violence, self-harm, sexual, or hate categories but the terms\nare used in general, journalistic, scientific, medical, and similar professional contexts,\nwhich are appropriate for most audiences."
},
{
"name": "low",
"value": "low",
- "description": "Content that expresses prejudiced, judgmental, or opinionated views, includes offensive \nuse of language, stereotyping, use cases exploring a fictional world (for example, gaming,\nliterature) and depictions at low intensity."
+ "description": "Content that expresses prejudiced, judgmental, or opinionated views, includes offensive\nuse of language, stereotyping, use cases exploring a fictional world (for example, gaming,\nliterature) and depictions at low intensity."
},
{
"name": "medium",
"value": "medium",
- "description": "Content that uses offensive, insulting, mocking, intimidating, or demeaning language \ntowards specific identity groups, includes depictions of seeking and executing harmful \ninstructions, fantasies, glorification, promotion of harm at medium intensity."
+ "description": "Content that uses offensive, insulting, mocking, intimidating, or demeaning language\ntowards specific identity groups, includes depictions of seeking and executing harmful\ninstructions, fantasies, glorification, promotion of harm at medium intensity."
},
{
"name": "high",
"value": "high",
- "description": "Content that displays explicit and severe harmful instructions, actions, \ndamage, or abuse; includes endorsement, glorification, or promotion of severe \nharmful acts, extreme or illegal forms of harm, radicalization, or non-consensual \npower exchange or abuse."
+ "description": "Content that displays explicit and severe harmful instructions, actions,\ndamage, or abuse; includes endorsement, glorification, or promotion of severe\nharmful acts, extreme or illegal forms of harm, radicalization, or non-consensual\npower exchange or abuse."
}
]
}
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_audio_speech.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_audio_speech.json
new file mode 100644
index 0000000000000..a0a7a03cbe739
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_audio_speech.json
@@ -0,0 +1,19 @@
+{
+ "operationId": "GenerateSpeechFromText",
+ "title": "Generates text-to-speech audio from the input text.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "input": "The text to generate audio for",
+ "voice": "alloy"
+ }
+ },
+ "responses": {
+ "200": {
+ "content-type": "application/octet-stream",
+ "body": "RIFF...audio.data.omitted"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_audio_transcription_object.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_audio_transcription_object.json
new file mode 100644
index 0000000000000..a01cac91c44fa
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_audio_transcription_object.json
@@ -0,0 +1,17 @@
+{
+ "operationId": "GetAudioTranscriptionAsResponseObject",
+ "title": "Gets transcribed text and associated metadata from provided spoken audio data.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "file": "U3dhZ2dlciByb2Nrcw=="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "text": "A structured object when requesting json or verbose_json"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_audio_transcription_text.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_audio_transcription_text.json
new file mode 100644
index 0000000000000..2f6879b76e912
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_audio_transcription_text.json
@@ -0,0 +1,16 @@
+{
+ "operationId": "GetAudioTranscriptionAsPlainText",
+ "title": "Gets transcribed text and associated metadata from provided spoken audio data.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "file": "U3dhZ2dlciByb2Nrcw=="
+ },
+ "responses": {
+ "200": {
+ "type": "string",
+ "body": "plain text when requesting text, srt, or vtt"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_audio_translation_object.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_audio_translation_object.json
new file mode 100644
index 0000000000000..547f78c69ab97
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_audio_translation_object.json
@@ -0,0 +1,17 @@
+{
+ "operationId": "GetAudioTranslationAsResponseObject",
+ "title": "Gets English language transcribed text and associated metadata from provided spoken audio data.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "file": "U3dhZ2dlciByb2Nrcw=="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "text": "A structured object when requesting json or verbose_json"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_audio_translation_text.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_audio_translation_text.json
new file mode 100644
index 0000000000000..e430342593698
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_audio_translation_text.json
@@ -0,0 +1,16 @@
+{
+ "operationId": "GetAudioTranslationAsPlainText",
+ "title": "Gets English language transcribed text and associated metadata from provided spoken audio data.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "file": "U3dhZ2dlciByb2Nrcw=="
+ },
+ "responses": {
+ "200": {
+ "type": "string",
+ "body": "plain text when requesting text, srt, or vtt"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_chat_completions.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_chat_completions.json
new file mode 100644
index 0000000000000..51bcbbe919942
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_chat_completions.json
@@ -0,0 +1,45 @@
+{
+ "operationId": "GetChatCompletions",
+ "title": "Creates a completion for the provided prompt, parameters and chosen model.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "messages": [
+ {
+ "role": "system",
+ "content": "you are a helpful assistant that talks like a pirate"
+ },
+ {
+ "role": "user",
+ "content": "can you tell me how to care for a parrot?"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "chatcmpl-7R1nGnsXO8n4oi9UPz2f3UHdgAYMn",
+ "created": 1686676106,
+ "choices": [
+ {
+ "index": 0,
+ "finish_reason": "stop",
+ "message": {
+ "role": "assistant",
+ "content": "Ahoy matey! So ye be wantin' to care for a fine squawkin' parrot, eh? Well, shiver me timbers, let ol' Cap'n Assistant share some wisdom with ye! Here be the steps to keepin' yer parrot happy 'n healthy:\n\n1. Secure a sturdy cage: Yer parrot be needin' a comfortable place to lay anchor! Be sure ye get a sturdy cage, at least double the size of the bird's wingspan, with enough space to spread their wings, yarrrr!\n\n2. Perches 'n toys: Aye, parrots need perches of different sizes, shapes, 'n textures to keep their feet healthy. Also, a few toys be helpin' to keep them entertained 'n their minds stimulated, arrrh!\n\n3. Proper grub: Feed yer feathered friend a balanced diet of high-quality pellets, fruits, 'n veggies to keep 'em strong 'n healthy. Give 'em fresh water every day, or ye’ll have a scurvy bird on yer hands!\n\n4. Cleanliness: Swab their cage deck! Clean their cage on a regular basis: fresh water 'n food daily, the floor every couple of days, 'n a thorough scrubbing ev'ry few weeks, so the bird be livin' in a tidy haven, arrhh!\n\n5. Socialize 'n train: Parrots be a sociable lot, arrr! Exercise 'n interact with 'em daily to create a bond 'n maintain their mental 'n physical health. Train 'em with positive reinforcement, treat 'em kindly, yarrr!\n\n6. Proper rest: Yer parrot be needin' ’bout 10-12 hours o' sleep each night. Cover their cage 'n let them slumber in a dim, quiet quarter for a proper night's rest, ye scallywag!\n\n7. Keep a weather eye open for illness: Birds be hidin' their ailments, arrr! Be watchful for signs of sickness, such as lethargy, loss of appetite, puffin' up, or change in droppings, and make haste to a vet if need be.\n\n8. Provide fresh air 'n avoid toxins: Parrots be sensitive to draft and pollutants. Keep yer quarters well ventilated, but no drafts, arrr! Be mindful of toxins like Teflon fumes, candles, or air fresheners.\n\nSo there ye have it, me hearty! With proper care 'n commitment, yer parrot will be squawkin' \"Yo-ho-ho\" for many years to come! Good luck, sailor, and may the wind be at yer back!"
+ },
+ "logprobs": null
+ }
+ ],
+ "usage": {
+ "completion_tokens": 557,
+ "prompt_tokens": 33,
+ "total_tokens": 590
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_completions.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_completions.json
new file mode 100644
index 0000000000000..43c88dd756a25
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_completions.json
@@ -0,0 +1,38 @@
+{
+ "operationId": "GetCompletions",
+ "title": "Creates a completion for the provided prompt, parameters and chosen model.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "prompt": [
+ "tell me a joke about mango"
+ ],
+ "max_tokens": 32,
+ "temperature": 1.0,
+ "n": 1
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "cmpl-7QmVI15qgYVllxK0FtxVGG6ywfzaq",
+ "created": 1686617332,
+ "choices": [
+ {
+ "text": "es\n\nWhat do you call a mango who's in charge?\n\nThe head mango.",
+ "index": 0,
+ "finish_reason": "stop",
+ "logprobs": null
+ }
+ ],
+ "usage": {
+ "completion_tokens": 20,
+ "prompt_tokens": 6,
+ "total_tokens": 26
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_embeddings.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_embeddings.json
new file mode 100644
index 0000000000000..11cf8708a3624
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_embeddings.json
@@ -0,0 +1,1567 @@
+{
+ "operationId": "GetEmbeddings",
+ "title": "Return the embeddings for a given prompt.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "deployment-afa0669ca01e4693ae3a93baf40f26d6",
+ "body": {
+ "input": [
+ "this is a test"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "data": [
+ {
+ "index": 0,
+ "embedding": [
+ -0.012838088,
+ -0.007421397,
+ -0.017617522,
+ -0.028278312,
+ -0.018666342,
+ 0.01737855,
+ -0.01821495,
+ -0.006950092,
+ -0.009937238,
+ -0.038580645,
+ 0.010674067,
+ 0.02412286,
+ -0.013647936,
+ 0.013189907,
+ 0.0021125758,
+ 0.012406612,
+ 0.020790534,
+ 0.00074595667,
+ 0.008397198,
+ -0.00535031,
+ 0.008968075,
+ 0.014351576,
+ -0.014086051,
+ 0.015055214,
+ -0.022211088,
+ -0.025198232,
+ 0.0065186154,
+ -0.036350243,
+ 0.009180495,
+ -0.009698266,
+ 0.009446018,
+ -0.008463579,
+ -0.0040426035,
+ -0.03443847,
+ -0.00091273896,
+ -0.0019217303,
+ 0.002349888,
+ -0.021560553,
+ 0.016515596,
+ -0.015572986,
+ 0.0038666942,
+ -0.00008432463,
+ 0.0032178196,
+ -0.020365695,
+ -0.009631885,
+ -0.007647093,
+ 0.0033837722,
+ -0.026764825,
+ -0.010501476,
+ 0.020219658,
+ 0.024640633,
+ -0.0066912062,
+ -0.036456455,
+ -0.0040923897,
+ -0.013966565,
+ 0.017816665,
+ 0.005366905,
+ 0.022835068,
+ 0.0103488,
+ -0.0010811808,
+ -0.028942121,
+ 0.0074280356,
+ -0.017033368,
+ 0.0074877786,
+ 0.021640211,
+ 0.002499245,
+ 0.013316032,
+ 0.0021524043,
+ 0.010129742,
+ 0.0054731146,
+ 0.03143805,
+ 0.014856071,
+ 0.0023366117,
+ -0.0008243692,
+ 0.022781964,
+ 0.003038591,
+ -0.017617522,
+ 0.0013309394,
+ 0.0022154662,
+ 0.00097414135,
+ 0.012041516,
+ -0.027906578,
+ -0.023817508,
+ 0.013302756,
+ -0.003003741,
+ -0.006890349,
+ 0.0016744611,
+ 0.023658194,
+ -0.015851786,
+ -0.0045305043,
+ -0.003038591,
+ 0.017710455,
+ 0.019237218,
+ 0.016037652,
+ -0.022503164,
+ 0.025795663,
+ -0.001129307,
+ 0.032500144,
+ -0.008178141,
+ -0.019940857,
+ -0.009877495,
+ 0.00018918588,
+ 0.023060765,
+ -0.005692172,
+ -0.018347712,
+ -0.011039163,
+ -0.0062066247,
+ -0.0000524047,
+ 0.020126723,
+ -0.0011691356,
+ -0.015811957,
+ 0.020086896,
+ -0.009114114,
+ -0.03056182,
+ 0.0029025099,
+ -0.006591635,
+ -0.014046223,
+ -0.01590489,
+ -0.02307404,
+ -0.008861865,
+ -0.004832538,
+ 0.010030171,
+ 0.02311387,
+ -0.012652221,
+ 0.024906157,
+ 0.003860056,
+ -0.01936998,
+ -0.02957938,
+ -0.008357369,
+ -0.0016371218,
+ 0.027800368,
+ 0.0077333883,
+ 0.021626934,
+ 0.02140124,
+ -0.030482162,
+ 0.026406368,
+ -0.008277712,
+ 0.012884554,
+ -0.043784916,
+ -0.0145639945,
+ -0.0070297495,
+ 0.034889862,
+ -0.00041508878,
+ -0.010528029,
+ -0.009572142,
+ 0.015692472,
+ 0.037810627,
+ -0.0022021902,
+ 0.008662722,
+ -0.016794397,
+ 0.0003090866,
+ -0.0060506295,
+ 0.015227805,
+ 0.0006650548,
+ 0.01842737,
+ 0.036801632,
+ -0.002461076,
+ -0.0029390194,
+ -0.0057120863,
+ -0.012486269,
+ -0.0046831807,
+ -0.0017474802,
+ -0.0036210844,
+ -0.01178263,
+ 0.017869769,
+ 0.039111692,
+ 0.010946229,
+ 0.018467197,
+ 0.0027780454,
+ -0.005851486,
+ -0.016489044,
+ 0.03186289,
+ -0.040333103,
+ 0.016648358,
+ -0.006870435,
+ 0.0072687212,
+ 0.000002370982,
+ 0.006465511,
+ -0.018201673,
+ -0.00020526254,
+ -0.025410652,
+ 0.02010017,
+ 0.017537864,
+ 0.022821793,
+ 0.0064555537,
+ -0.0012969191,
+ 0.02157383,
+ -0.0053536287,
+ -0.0087622935,
+ -0.010952868,
+ 0.017564416,
+ 0.02185263,
+ 0.0004733796,
+ 0.0018337755,
+ -0.6954606,
+ -0.011231667,
+ 0.02748174,
+ 0.003929756,
+ 0.0144843375,
+ 0.045192193,
+ 0.01898497,
+ -0.0070363875,
+ -0.007813046,
+ 0.017604245,
+ -0.017790113,
+ 0.011165286,
+ -0.0036376796,
+ -0.014736585,
+ 0.0016421003,
+ -0.019144284,
+ -0.0072222543,
+ -0.023127146,
+ 0.006936816,
+ 0.025198232,
+ 0.0030219958,
+ 0.011722887,
+ -0.004271618,
+ -0.0011127117,
+ -0.0051047,
+ 0.00077333883,
+ 0.018599961,
+ 0.0074877786,
+ 0.010820106,
+ 0.0033406245,
+ -0.015055214,
+ 0.02384406,
+ 0.006090458,
+ 0.00891497,
+ 0.023366116,
+ -0.011078991,
+ -0.019582398,
+ 0.0011566891,
+ 0.015413672,
+ 0.01793615,
+ -0.014736585,
+ 0.002492607,
+ 0.027800368,
+ 0.023923717,
+ -0.007421397,
+ 0.0016105693,
+ 0.011337877,
+ -0.015041938,
+ -0.008768932,
+ -0.003982861,
+ 0.002884255,
+ -0.007832959,
+ 0.0025457118,
+ -0.0023548664,
+ -0.0061767534,
+ -0.016754568,
+ 0.0006036523,
+ 0.0105346665,
+ 0.0055361767,
+ 0.01478969,
+ -0.0011251582,
+ 0.009605332,
+ -0.0037140178,
+ -0.017537864,
+ -0.021733144,
+ 0.012897831,
+ -0.024481317,
+ 0.022290744,
+ 0.0056523434,
+ -0.005366905,
+ 0.0020412162,
+ 0.013435517,
+ -0.003408665,
+ -0.01705992,
+ 0.029446619,
+ 0.022011945,
+ 0.009226961,
+ -0.003310753,
+ -0.007939169,
+ 0.021308305,
+ 0.0026718357,
+ 0.002129171,
+ -0.020047067,
+ -0.007474502,
+ 0.021534001,
+ -0.0110590765,
+ -0.018374264,
+ -0.001664504,
+ -0.003923118,
+ 0.015387119,
+ 0.025516862,
+ 0.0016421003,
+ -0.017498035,
+ -0.01825478,
+ 0.01451089,
+ -0.008198055,
+ -0.011656506,
+ 0.0044242945,
+ 0.031491153,
+ 0.01017621,
+ -0.010408543,
+ -0.009034456,
+ -0.0023283141,
+ 0.012021601,
+ 0.015639367,
+ 0.011736163,
+ 0.007912617,
+ 0.02031259,
+ 0.022104878,
+ -0.02241023,
+ 0.00041156227,
+ -0.009817752,
+ -0.030880447,
+ -0.0017823302,
+ 0.0030933553,
+ -0.04128899,
+ -0.0007783174,
+ 0.012393335,
+ 0.0122273825,
+ -0.009087561,
+ 0.022728859,
+ -0.002884255,
+ 0.028065892,
+ 0.0047396044,
+ 0.008065294,
+ 0.015519881,
+ 0.0133956885,
+ -0.02279524,
+ -0.011729525,
+ 0.0037206558,
+ -0.0046732235,
+ 0.003587894,
+ 0.024401661,
+ -0.013574918,
+ 0.012685412,
+ -0.0041620894,
+ 0.020578114,
+ 0.007394845,
+ 0.014139156,
+ -0.012512821,
+ -0.021042781,
+ 0.022423506,
+ -0.015360567,
+ 0.004009413,
+ 0.0104550095,
+ -0.024799947,
+ -0.0081449505,
+ -0.00063850236,
+ 0.0070231115,
+ -0.0009633545,
+ -0.015705748,
+ -0.0028942123,
+ -0.008815398,
+ 0.007461226,
+ -0.014417957,
+ -0.012931022,
+ 0.0015674217,
+ -0.02506547,
+ -0.0063128346,
+ -0.013422241,
+ -0.0058614435,
+ -0.0006007482,
+ -0.015002109,
+ 0.0037040606,
+ -0.008410474,
+ -0.0016089098,
+ -0.018653065,
+ 0.020538285,
+ -0.016980262,
+ -0.042244878,
+ -0.017498035,
+ 0.006727716,
+ -0.01877255,
+ 0.008987989,
+ 0.00077665783,
+ -0.0007119364,
+ -0.0067243967,
+ 0.0038467797,
+ -0.018055636,
+ -0.01440468,
+ 0.007534245,
+ 0.0051212953,
+ 0.002741536,
+ 0.011523744,
+ -0.0018603279,
+ 0.023684746,
+ 0.016196968,
+ 0.01731217,
+ -0.01992758,
+ 0.009372999,
+ -0.01982137,
+ 0.001150051,
+ -0.014417957,
+ 0.005672258,
+ -0.015785405,
+ 0.0049387473,
+ -0.0051445286,
+ 0.012632307,
+ 0.0011666464,
+ 0.024587527,
+ 0.04259006,
+ -0.0025672857,
+ 0.02311387,
+ -0.014524166,
+ 0.0013848739,
+ -0.04105002,
+ -0.010089914,
+ -0.009087561,
+ 0.015440224,
+ 0.009207047,
+ 0.0128048975,
+ -0.030216638,
+ -0.02549031,
+ 0.00499849,
+ 0.02737553,
+ 0.024985814,
+ -0.015055214,
+ 0.007580712,
+ -0.003979542,
+ 0.0016304837,
+ 0.0010446712,
+ 0.0033373055,
+ 0.0066314633,
+ -0.011948583,
+ -0.021281753,
+ 0.012161002,
+ 0.030747686,
+ 0.03555367,
+ 0.023751127,
+ -0.03159736,
+ -0.0110590765,
+ 0.015758853,
+ -0.0012197511,
+ -0.0023249951,
+ -0.0007488608,
+ 0.0074877786,
+ 0.01643594,
+ -0.008098484,
+ 0.03730613,
+ -0.0010056724,
+ -0.000034798173,
+ 0.011702972,
+ 0.039563086,
+ -0.012280487,
+ 0.027747264,
+ 0.018387541,
+ 0.033057746,
+ -0.004835857,
+ -0.00471969,
+ 0.025450481,
+ -0.0051146573,
+ 0.014603823,
+ 0.00022258384,
+ 0.00060863094,
+ 0.015665919,
+ -0.021626934,
+ -0.013674489,
+ 0.0062066247,
+ 0.018560132,
+ 0.031942543,
+ 0.012054792,
+ 0.004902238,
+ 0.0028510645,
+ -0.027667606,
+ 0.009817752,
+ -0.002580562,
+ 0.0069036256,
+ 0.020047067,
+ -0.009704905,
+ -0.012619031,
+ -0.0056755766,
+ -0.0036443176,
+ 0.019383255,
+ 0.0030701219,
+ 0.024972538,
+ 0.009100837,
+ 0.026353262,
+ 0.012758431,
+ 0.029074885,
+ 0.021202097,
+ -0.0038102702,
+ -0.032048754,
+ 0.003996137,
+ 0.0029738694,
+ 0.0032277768,
+ -0.026127568,
+ -0.02213143,
+ 0.0028742978,
+ 0.0010637557,
+ 0.000580419,
+ 0.0021789568,
+ 0.00083764544,
+ 0.026924139,
+ -0.03265946,
+ 0.0059211864,
+ 0.021892458,
+ 0.01178263,
+ 0.0018188398,
+ 0.009718181,
+ -0.020047067,
+ 0.017989255,
+ 0.0046035233,
+ -0.010561219,
+ -0.010342162,
+ 0.009505761,
+ -0.018334435,
+ -0.00667793,
+ -0.024534423,
+ 0.00035347888,
+ 0.00082561385,
+ -0.006143563,
+ 0.016820949,
+ -0.0013500239,
+ -0.0069832825,
+ 0.015347291,
+ -0.005094743,
+ 0.001838754,
+ 0.017073197,
+ 0.02521151,
+ 0.006209944,
+ -0.015612815,
+ -0.009744733,
+ -0.019794818,
+ 0.007786493,
+ 0.037624758,
+ 0.017564416,
+ 0.0076802834,
+ 0.0026203906,
+ 0.0022403593,
+ -0.024560975,
+ -0.04062518,
+ -0.016581977,
+ 0.00789934,
+ 0.0099305995,
+ 0.006996559,
+ 0.011078991,
+ 0.016236795,
+ -0.0068969876,
+ 0.01374087,
+ 0.014922452,
+ -0.0042882133,
+ 0.00022901449,
+ -0.0006692036,
+ 0.001359981,
+ -0.00007581957,
+ 0.0042616613,
+ 0.0066381013,
+ 0.012512821,
+ 0.021534001,
+ 0.0032775626,
+ 0.016913882,
+ -0.00789934,
+ -0.009200408,
+ -0.020286039,
+ -0.017033368,
+ 0.014378128,
+ 0.009233599,
+ 0.0070828544,
+ -0.013229736,
+ 0.025928425,
+ -0.011862287,
+ 0.008383922,
+ 0.012632307,
+ -0.0003097089,
+ 0.007593988,
+ 0.0059079104,
+ -0.0026369859,
+ -0.0262205,
+ 0.003335646,
+ -0.0067609064,
+ -0.0042882133,
+ 0.008549875,
+ -0.007600626,
+ -0.012592479,
+ 0.028623493,
+ -0.0030502076,
+ -0.006989921,
+ -0.015785405,
+ 0.010050085,
+ 0.016714739,
+ -0.023724575,
+ -0.006346025,
+ -0.014245366,
+ -0.032154962,
+ -0.03388087,
+ -0.024308728,
+ -0.002461076,
+ -0.003733932,
+ -0.02195884,
+ -0.021069333,
+ -0.022144707,
+ -0.007872788,
+ -0.017179407,
+ -0.009034456,
+ -0.010893124,
+ -0.02478667,
+ -0.020153277,
+ -0.023976821,
+ 0.014656927,
+ 0.0005368565,
+ -0.015878338,
+ 0.010123105,
+ -0.0030717815,
+ 0.01555971,
+ 0.0018321159,
+ -0.036244035,
+ 0.00017176087,
+ -0.013375774,
+ -0.010375353,
+ 0.026512576,
+ 0.016581977,
+ 0.013847079,
+ 0.015719024,
+ 0.013223098,
+ 0.004975257,
+ -0.0010579474,
+ -0.0034385365,
+ -0.029048331,
+ 0.017298892,
+ -0.022529716,
+ 0.008463579,
+ -0.014723309,
+ -0.005814977,
+ -0.009027818,
+ -0.009738095,
+ -0.0104682855,
+ -0.005044957,
+ 0.007905979,
+ 0.011656506,
+ 0.003153098,
+ -0.0005231654,
+ 0.019954132,
+ -0.021985391,
+ -0.005307162,
+ 0.0021839354,
+ -0.025184957,
+ 0.013926737,
+ -0.0059908866,
+ 0.0065717204,
+ 0.009884133,
+ -0.0062298584,
+ 0.03388087,
+ 0.0028577026,
+ -0.015931444,
+ 0.0010986058,
+ -0.025808938,
+ 0.0022835068,
+ 0.014152432,
+ 0.015227805,
+ 0.013701041,
+ -0.007872788,
+ -0.030614924,
+ -0.026393091,
+ 0.0010753724,
+ -0.016940435,
+ 0.013647936,
+ -0.007408121,
+ -0.024308728,
+ -0.031915992,
+ -0.018161846,
+ 0.00072521257,
+ 0.028862465,
+ 0.012234021,
+ -0.019555846,
+ -0.027641054,
+ -0.00082810316,
+ -0.0019150922,
+ -0.016276624,
+ -0.01125822,
+ -0.034146395,
+ -0.015294186,
+ 0.006671292,
+ -0.015533158,
+ 0.013674489,
+ -0.0011766035,
+ -0.017325444,
+ -0.023233354,
+ -0.013189907,
+ 0.0005580154,
+ -0.03188944,
+ -0.007056302,
+ -0.0059942054,
+ 0.03411984,
+ 0.04317421,
+ 0.029420065,
+ 0.006488744,
+ -0.0022436783,
+ 0.013063784,
+ 0.00012207884,
+ 0.008118398,
+ -0.023246631,
+ 0.0051909955,
+ -0.00894816,
+ 0.0081316745,
+ 0.0023200165,
+ 0.011510468,
+ -0.0005770999,
+ 0.00016979019,
+ 0.010129742,
+ 0.015506605,
+ -0.0073815687,
+ 0.0031995648,
+ -0.026578957,
+ -0.016674912,
+ 0.0049652997,
+ 0.0072687212,
+ -0.016568702,
+ -0.001964878,
+ -0.015692472,
+ -0.0048955996,
+ 0.027773816,
+ 0.012864641,
+ 0.01594472,
+ 0.008244522,
+ 0.017139578,
+ -0.01772373,
+ -0.0012521119,
+ 0.011689696,
+ 0.0111121815,
+ -0.0036476366,
+ 0.0012570905,
+ -0.007826322,
+ -0.016754568,
+ 0.011948583,
+ -0.0045968853,
+ 0.023963546,
+ -0.0052739717,
+ 0.014656927,
+ 0.009731457,
+ 0.010727172,
+ -0.01705992,
+ -0.0026071144,
+ 0.010760362,
+ 0.000919377,
+ -0.006365939,
+ -0.03013698,
+ -0.010554581,
+ -0.018613236,
+ 0.013886908,
+ 0.029420065,
+ -0.013030593,
+ 0.016860778,
+ -0.019237218,
+ -0.022118153,
+ 0.007919255,
+ -0.0004003605,
+ 0.046546366,
+ 0.01349526,
+ 0.006352663,
+ 0.014258642,
+ 0.0031813101,
+ -0.027017072,
+ 0.0070828544,
+ -0.020219658,
+ 0.0037140178,
+ 0.023366116,
+ 0.040386207,
+ -0.016382834,
+ -0.0023681426,
+ 0.0064522345,
+ 0.016528873,
+ 0.0006804054,
+ -0.02891557,
+ -0.0043545947,
+ 0.01101261,
+ -0.0014778073,
+ -0.018055636,
+ -0.0077001974,
+ -0.0358723,
+ 0.003373815,
+ -0.00071940426,
+ -0.011822458,
+ -0.024295451,
+ -0.009791199,
+ -0.026565682,
+ 0.020989677,
+ -0.035155386,
+ 0.01832116,
+ 0.014776413,
+ -0.028012788,
+ -0.007262083,
+ 0.0030402504,
+ -0.029446619,
+ 0.00010174965,
+ 0.009758009,
+ 0.03767786,
+ -0.0154535,
+ 0.009346447,
+ 0.016077481,
+ 0.0041189417,
+ -0.027800368,
+ 0.01720596,
+ -0.011158649,
+ 0.027800368,
+ -0.03003077,
+ -0.0072819972,
+ 0.0014296811,
+ 0.0145374425,
+ 0.0043280423,
+ -0.017086472,
+ -0.01611731,
+ -0.01258584,
+ -0.016927158,
+ 0.007607264,
+ 0.018825656,
+ 0.011331239,
+ -0.0057784673,
+ 0.001569911,
+ -0.013900184,
+ -0.014776413,
+ -0.0050814664,
+ -0.0012454737,
+ -0.0115967635,
+ -0.017458206,
+ -0.013203184,
+ -0.0063692583,
+ -0.01244644,
+ 0.011882202,
+ 0.0007708495,
+ -0.02035242,
+ 0.016250072,
+ 0.018414093,
+ -0.029526275,
+ 0.012751793,
+ -0.01555971,
+ 0.0013840442,
+ -0.019502742,
+ 0.0063758963,
+ 0.0037538463,
+ -0.035686433,
+ 0.027534844,
+ -0.016409386,
+ -0.03247359,
+ -0.008782208,
+ -0.0059842486,
+ 0.014338299,
+ 0.009233599,
+ -0.0053171194,
+ 0.006160158,
+ 0.0072952732,
+ 0.01401967,
+ 0.008815398,
+ -0.023790956,
+ 0.013096974,
+ -0.0031365028,
+ 0.005044957,
+ 0.0005356118,
+ -0.009379637,
+ 0.0066248253,
+ -0.00010724682,
+ 0.010289057,
+ 0.008815398,
+ -0.02279524,
+ -0.019701885,
+ -0.0027747264,
+ 0.016183691,
+ -0.014205537,
+ -0.003933075,
+ -0.013375774,
+ -0.005751915,
+ -0.010116466,
+ 0.004988533,
+ -0.005904591,
+ -0.008656085,
+ -0.017431654,
+ -0.011988411,
+ -0.01594472,
+ 0.00660823,
+ -0.027216217,
+ 0.0073218257,
+ -0.029977666,
+ -0.004593566,
+ -0.026671892,
+ -0.028517283,
+ -0.0050084474,
+ 0.009844304,
+ 0.025729282,
+ -0.013780698,
+ -0.026751548,
+ 0.004905557,
+ -0.035951957,
+ -0.026738273,
+ -0.019768266,
+ 0.0048690476,
+ 0.005250738,
+ 0.0014603822,
+ -0.018892037,
+ 0.017683903,
+ 0.0067177587,
+ 0.027694158,
+ -0.002618731,
+ -0.012419888,
+ 0.01772373,
+ -0.0032593077,
+ 0.006611549,
+ 0.016648358,
+ -0.03789028,
+ -0.023100592,
+ 0.023684746,
+ 0.0031248862,
+ 0.016382834,
+ 0.019967409,
+ -0.008941523,
+ -0.02014,
+ 0.0073882067,
+ 0.011357792,
+ -0.0031796505,
+ -0.0030253148,
+ -0.0010206081,
+ -0.017577693,
+ -0.009598695,
+ 0.002915786,
+ 0.001325131,
+ -0.0029207645,
+ -0.010780277,
+ -0.00325101,
+ -0.00811176,
+ -0.00073434,
+ -0.030083876,
+ -0.012864641,
+ -0.012745155,
+ -0.011769353,
+ 0.018785827,
+ -0.008264436,
+ -0.002675155,
+ 0.024255622,
+ 0.005483072,
+ -0.018480474,
+ -0.005426648,
+ 0.015095043,
+ 0.00044392303,
+ 0.011271496,
+ -0.0027548121,
+ 0.0026884312,
+ -0.00894816,
+ -0.015161424,
+ -0.014975557,
+ -0.024600804,
+ 0.004457485,
+ -0.015519881,
+ -0.012366783,
+ -0.012579202,
+ 0.01478969,
+ 0.0075541595,
+ -0.017962702,
+ -0.0017441611,
+ -0.014059499,
+ 0.005499667,
+ -0.0026884312,
+ 0.0031929268,
+ 0.0010853296,
+ -0.008045379,
+ 0.017471483,
+ 0.02590187,
+ -0.018546855,
+ -0.007826322,
+ 0.009333171,
+ 0.0157323,
+ 0.000086036016,
+ 0.004776114,
+ 0.22155327,
+ 0.006787459,
+ -0.0017823302,
+ 0.024919434,
+ 0.0023449094,
+ 0.03210186,
+ 0.0047329664,
+ -0.010879848,
+ 0.0044342517,
+ 0.015334014,
+ 0.029499723,
+ 0.019715162,
+ -0.008569789,
+ -0.0018901994,
+ -0.0077400263,
+ -0.019210665,
+ -0.005088105,
+ -0.023153698,
+ -0.032739118,
+ -0.029313855,
+ 0.00082146504,
+ -0.0212552,
+ 0.0044309325,
+ -0.005446562,
+ 0.018613236,
+ -0.009751371,
+ -0.013023955,
+ -0.001996409,
+ 0.01915756,
+ 0.017431654,
+ -0.031092867,
+ -0.0070231115,
+ 0.025330994,
+ -0.00018099198,
+ -0.025131851,
+ -0.011025886,
+ 0.0116498675,
+ -0.02506547,
+ 0.029234199,
+ -0.012287126,
+ 0.0069766445,
+ 0.0018752636,
+ 0.014271918,
+ 0.005108019,
+ -0.0109064,
+ 0.014391404,
+ 0.0062597296,
+ -0.031411495,
+ 0.00014935728,
+ 0.013236375,
+ -0.02891557,
+ -0.0006671292,
+ 0.008662722,
+ 0.012161002,
+ 0.020963125,
+ -0.0133691365,
+ 0.02653913,
+ -0.017989255,
+ 0.007978998,
+ 0.0093398085,
+ -0.02024621,
+ 0.03265946,
+ -0.02846418,
+ 0.025397375,
+ -0.024693737,
+ -0.0027050264,
+ -0.019330151,
+ -0.0104417335,
+ 0.015626092,
+ -0.006541849,
+ 0.004653309,
+ -0.025118576,
+ 0.0038268655,
+ 0.004045923,
+ -0.017564416,
+ -0.02444149,
+ 0.030296294,
+ 0.028756255,
+ 0.03927101,
+ 0.010767001,
+ -0.012034878,
+ -0.007122683,
+ -0.022476612,
+ -0.034942966,
+ -0.028411074,
+ -0.03927101,
+ -0.0037505273,
+ -0.0038799702,
+ -0.00037111135,
+ -0.009718181,
+ -0.013455432,
+ -0.015400395,
+ -0.0066978442,
+ -0.010760362,
+ 0.015121595,
+ 0.03111942,
+ 0.007992274,
+ 0.0270569,
+ -0.003104972,
+ 0.010056724,
+ -0.018414093,
+ 0.006472149,
+ 0.021281753,
+ 0.0043579135,
+ -0.00021490853,
+ 0.0008546556,
+ -0.01269205,
+ -0.003936394,
+ 0.0008870163,
+ 0.0009816092,
+ 0.0054664765,
+ -0.031278733,
+ 0.017245788,
+ 0.00027734818,
+ 0.005161124,
+ 0.0048093046,
+ -0.003923118,
+ -0.027149836,
+ 0.006950092,
+ -0.00615352,
+ 0.014205537,
+ 0.0016620146,
+ 0.0047396044,
+ 0.0039994563,
+ -0.015440224,
+ -0.0055627287,
+ -0.026273604,
+ 0.0013276202,
+ 0.0021009592,
+ -0.034810204,
+ 0.0064522345,
+ 0.00042608313,
+ 0.02307404,
+ -0.005957696,
+ 0.0016869075,
+ -0.0032775626,
+ -0.009041094,
+ -0.01227385,
+ -0.04349284,
+ 0.015652644,
+ 0.013468708,
+ -0.0023249951,
+ -0.011171925,
+ 0.0030352718,
+ -0.0061203293,
+ -0.023153698,
+ 0.046068422,
+ -0.005582643,
+ -0.02405648,
+ 0.005433286,
+ -0.02814555,
+ -0.0036874653,
+ 0.0067841397,
+ 0.006628144,
+ 0.029844904,
+ -0.0044276137,
+ -0.029127989,
+ -0.04548427,
+ 0.022091601,
+ 0.0038069512,
+ -0.030269742,
+ 0.0051578046,
+ 0.043572497,
+ -0.0144843375,
+ -0.02891557,
+ -0.010461648,
+ -0.17375894,
+ 0.029154541,
+ 0.019648781,
+ -0.00038335036,
+ 0.0029572742,
+ -0.0026469429,
+ 0.035925403,
+ -0.012021601,
+ 0.0015566348,
+ -0.0033124126,
+ 0.0010430117,
+ -0.010620962,
+ -0.022582822,
+ 0.00601412,
+ 0.008364008,
+ -0.0016586956,
+ -0.0011102224,
+ -0.013860356,
+ 0.022542993,
+ 0.020564837,
+ 0.018414093,
+ -0.008908332,
+ 0.032951534,
+ -0.011908754,
+ 0.010169571,
+ -0.011198477,
+ 0.0029108075,
+ 0.033084296,
+ 0.0029008503,
+ -0.0010015236,
+ -0.019794818,
+ 0.005844848,
+ 0.011669782,
+ 0.0052208668,
+ 0.010129742,
+ 0.0037737607,
+ 0.02880936,
+ -0.018599961,
+ -0.015095043,
+ 0.026578957,
+ 0.019662056,
+ 0.006823968,
+ -0.00045885876,
+ -0.019396532,
+ -0.0047993474,
+ 0.017192682,
+ 0.039589636,
+ -0.00874238,
+ 0.02146762,
+ -0.007667007,
+ 0.018785827,
+ -0.012758431,
+ -0.010010257,
+ -0.02052501,
+ 0.016090758,
+ 0.0061867107,
+ -0.0145507185,
+ 0.008065294,
+ 0.0104284575,
+ -0.0022386997,
+ -0.008324179,
+ -0.021640211,
+ 0.01705992,
+ -0.010541305,
+ -0.01639611,
+ -0.0074413116,
+ -0.034703992,
+ 0.007016473,
+ -0.003083398,
+ 0.0013691084,
+ -0.005108019,
+ -0.007886064,
+ 0.00053270767,
+ -0.018865485,
+ 0.025503585,
+ 0.005101381,
+ -0.027534844,
+ 0.015028661,
+ -0.009286704,
+ 0.006233177,
+ 0.00004343289,
+ 0.036031615,
+ 0.00957878,
+ 0.019250493,
+ 0.0024411618,
+ 0.0023664832,
+ -0.0030269742,
+ -0.007939169,
+ 0.0058581247,
+ 0.00587472,
+ 0.036589216,
+ -0.035288148,
+ -0.012997403,
+ -0.0110989055,
+ -0.002492607,
+ 0.008151589,
+ -0.008085207,
+ -0.00734174,
+ -0.0016802694,
+ 0.008403837,
+ -0.007793131,
+ -0.003913161,
+ -0.025437204,
+ 0.027123282,
+ 0.019330151,
+ -0.008729103,
+ 0.003943032,
+ 0.010289057,
+ 0.029977666,
+ 0.0014836156,
+ -0.024282174,
+ -0.0024361832,
+ 0.0110325245,
+ 0.021719867,
+ 0.012844726,
+ 0.015002109,
+ 0.020737428,
+ -0.013037231,
+ 0.014802966,
+ -0.0027332383,
+ 0.041634172,
+ -0.00926679,
+ -0.018759275,
+ 0.018666342,
+ 0.005386819,
+ -0.008822037,
+ -0.068399,
+ -0.054804165,
+ 0.027800368,
+ 0.04954679,
+ -0.00437119,
+ 0.029127989,
+ 0.03180978,
+ 0.021321582,
+ -0.022503164,
+ 0.010554581,
+ -0.006823968,
+ -0.021387963,
+ -0.021865906,
+ -0.0074479496,
+ 0.0037206558,
+ 0.004132218,
+ 0.01073381,
+ -0.0021673401,
+ -0.0012819833,
+ 0.041235887,
+ -0.010202762,
+ 0.004839176,
+ 0.0081715025,
+ -0.030402504,
+ -0.023764404,
+ -0.010800191,
+ -0.018374264,
+ 0.033641897,
+ 0.005416691,
+ -0.0055096243,
+ -0.0032775626,
+ -0.018095464,
+ 0.008563151,
+ -0.02339267,
+ -0.013674489,
+ 0.0023382711,
+ -0.028411074,
+ -0.0024063117,
+ 0.026658615,
+ -0.012413249,
+ 0.009333171,
+ 0.026446195,
+ -0.009107475,
+ -0.024560975,
+ 0.0011085629,
+ -0.02395027,
+ 0.0013857037,
+ 0.01926377,
+ -0.0020710877,
+ -0.031278733,
+ -0.015095043,
+ 0.0041720467,
+ -0.012798259,
+ 0.010162933,
+ 0.0063128346,
+ -0.010972782,
+ 0.045617033,
+ 0.016874054,
+ -0.010368714,
+ -0.0055992384,
+ -0.0092999805,
+ 0.0015782086,
+ -0.013581555,
+ 0.017843217,
+ -0.01615714,
+ 0.0036575939,
+ -0.027110007,
+ -0.013621384,
+ 0.022197811,
+ 0.0013964906,
+ -0.007348378,
+ 0.0145772705,
+ -0.003996137,
+ 0.0008364008,
+ -0.03411984,
+ 0.013030593,
+ -0.021454344,
+ -0.05034336,
+ 0.021095887,
+ -0.0055029863,
+ -0.025623072,
+ -0.023525432,
+ 0.007335102,
+ -0.043413185,
+ 0.016316453,
+ 0.016196968,
+ 0.0093132565,
+ -0.0110989055,
+ 0.0154535,
+ -0.045218747,
+ 0.0037737607,
+ 0.01639611,
+ 0.019887751,
+ -0.023366116,
+ -0.024043202,
+ 0.014258642,
+ 0.004271618,
+ -0.006877073,
+ 0.021387963,
+ -0.0019781543,
+ -0.036350243,
+ -0.009114114,
+ -0.037359234,
+ 0.01919739,
+ 0.011829097,
+ -0.015665919,
+ -0.0015591241,
+ 0.0144843375,
+ -0.003139822,
+ -0.024083031,
+ -0.015307462,
+ -0.0040990277,
+ -0.013223098,
+ 0.0024278855,
+ -0.008702551,
+ -0.0033207103,
+ -0.009804476,
+ -0.010554581,
+ 0.031066315,
+ 0.0044408897,
+ 0.025370823,
+ 0.009406189,
+ 0.025583243,
+ -0.002066109,
+ 0.015267633,
+ 0.008337456,
+ -0.009426104,
+ 0.01590489,
+ -0.011716249,
+ 0.007713474,
+ -0.029552827,
+ -0.013900184,
+ 0.0050150855,
+ -0.01650232,
+ -0.0015757193,
+ 0.008549875,
+ -0.020471904,
+ 0.008397198,
+ -0.013136802,
+ 0.021520725,
+ 0.0060406723,
+ 0.012858002,
+ -0.004723009,
+ -0.029313855,
+ 0.009240237,
+ -0.0212552,
+ -0.028118998,
+ 0.017803388,
+ -0.0314646,
+ 0.012353507,
+ 0.029632485,
+ -0.000016128512,
+ 0.016966987,
+ 0.009711542,
+ -0.037253026,
+ -0.015095043,
+ 0.013442155,
+ -0.00905437,
+ -0.000982439,
+ -0.0020495139,
+ 0.008337456,
+ -0.020644495,
+ 0.042085562,
+ -0.000744712,
+ 0.021135716,
+ -0.0072886352,
+ 0.01643594,
+ 0.013767422,
+ -0.0044707614,
+ -0.014763137,
+ 0.018852208,
+ -0.03080079,
+ -0.0049188333,
+ 0.0058846767,
+ 0.008330817,
+ 0.008257798,
+ 0.024202518,
+ 0.02307404,
+ 0.011065715,
+ 0.00036053188,
+ -0.00049412367,
+ 0.036270585,
+ 0.027043626,
+ 0.011902116,
+ -0.027773816,
+ 0.013289479,
+ 0.018374264,
+ -0.0033157317,
+ 0.0016636741,
+ 0.0020677685,
+ -0.012293763,
+ 0.008184779,
+ -0.034252603,
+ 0.010753725,
+ 0.008675998,
+ 0.00968499,
+ -0.003793675,
+ -0.011218391,
+ 0.010375353,
+ -0.0005737809,
+ 0.019781543,
+ 0.020591391,
+ 0.019954132,
+ -0.00053976063,
+ -0.0059444197,
+ -0.022675755,
+ -0.010003619,
+ 0.0038467797,
+ -0.0212552,
+ -0.033482585,
+ -0.015572986,
+ 0.0037737607,
+ 0.01451089,
+ 0.0036376796,
+ 0.007454588,
+ 0.013979842,
+ -0.013402327,
+ 0.014975557,
+ -0.010435095,
+ 0.0151747,
+ -0.030375952,
+ 0.023166973,
+ -0.0024760119,
+ -0.005881358,
+ 0.019914305,
+ -0.008596341,
+ 0.017737007,
+ -0.0036111271,
+ 0.012499545,
+ -0.02647275,
+ 0.0053901384,
+ 0.008556513,
+ 0.019648781,
+ 0.00874238,
+ -0.012439802,
+ -0.028623493,
+ -0.022330573,
+ -0.0029340407,
+ -0.016303178,
+ 0.007474502,
+ -0.016555425,
+ 0.060645696,
+ 0.0023631642,
+ -0.012054792,
+ 0.017604245,
+ 0.013103612,
+ 0.026061187,
+ 0.015533158,
+ 0.025742557,
+ 0.00013753316,
+ -0.013940013,
+ 0.02880936,
+ 0.010109829,
+ -0.0036111271,
+ -0.012419888,
+ -0.045457717,
+ 0.022835068,
+ -0.014139156,
+ 0.007819683,
+ -0.010461648,
+ -0.012008325,
+ 0.008895056,
+ 0.015984548,
+ 0.024043202,
+ -0.00059825886,
+ -0.0036376796,
+ -0.007939169,
+ 0.0242689,
+ -0.022197811,
+ -0.026313433,
+ -0.026724996,
+ 0.010939592,
+ 0.0023449094,
+ -0.012074706,
+ -0.018493751,
+ 0.017697178,
+ -0.0052142288,
+ -0.00360117,
+ 0.0056058764,
+ 0.01070062,
+ 0.0035248317,
+ 0.023671469,
+ 0.030880447,
+ -0.020299314,
+ -0.0145905465,
+ 0.018055636,
+ -0.013727593,
+ -0.023313012,
+ 0.013236375,
+ -0.0020113448
+ ]
+ }
+ ],
+ "usage": {
+ "prompt_tokens": 4,
+ "total_tokens": 4
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_extensions_chat_completions_aml_index.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_extensions_chat_completions_aml_index.json
new file mode 100644
index 0000000000000..ad6c219875480
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_extensions_chat_completions_aml_index.json
@@ -0,0 +1,62 @@
+{
+ "operationId": "GetChatCompletions",
+ "title": "Creates a completion for the provided AML index. Uses Azure OpenAI chat extensions.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "messages": [
+ {
+ "role": "user",
+ "content": "can you tell me how to care for a parrot?"
+ }
+ ],
+ "data_sources": [
+ {
+ "type": "azure_ml_index",
+ "parameters": {
+ "project_resource_id": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-id}",
+ "name": "gm-cars",
+ "version": "5"
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "chatcmpl-7R1nGnsXO8n4oi9UPz2f3UHdgAYMn",
+ "created": 1686676106,
+ "choices": [
+ {
+ "index": 0,
+ "finish_reason": "stop",
+ "message": {
+ "role": "assistant",
+ "content": "Ahoy matey! So ye be wantin' to care for a fine squawkin' parrot, eh? Well, shiver me timbers, let ol' Cap'n Assistant share some wisdom with ye! Here be the steps to keepin' yer parrot happy 'n healthy:\n\n1. Secure a sturdy cage: Yer parrot be needin' a comfortable place to lay anchor! Be sure ye get a sturdy cage, at least double the size of the bird's wingspan, with enough space to spread their wings, yarrrr!\n\n2. Perches 'n toys: Aye, parrots need perches of different sizes, shapes, 'n textures to keep their feet healthy. Also, a few toys be helpin' to keep them entertained 'n their minds stimulated, arrrh!\n\n3. Proper grub: Feed yer feathered friend a balanced diet of high-quality pellets, fruits, 'n veggies to keep 'em strong 'n healthy. Give 'em fresh water every day, or ye’ll have a scurvy bird on yer hands!\n\n4. Cleanliness: Swab their cage deck! Clean their cage on a regular basis: fresh water 'n food daily, the floor every couple of days, 'n a thorough scrubbing ev'ry few weeks, so the bird be livin' in a tidy haven, arrhh!\n\n5. Socialize 'n train: Parrots be a sociable lot, arrr! Exercise 'n interact with 'em daily to create a bond 'n maintain their mental 'n physical health. Train 'em with positive reinforcement, treat 'em kindly, yarrr!\n\n6. Proper rest: Yer parrot be needin' ’bout 10-12 hours o' sleep each night. Cover their cage 'n let them slumber in a dim, quiet quarter for a proper night's rest, ye scallywag!\n\n7. Keep a weather eye open for illness: Birds be hidin' their ailments, arrr! Be watchful for signs of sickness, such as lethargy, loss of appetite, puffin' up, or change in droppings, and make haste to a vet if need be.\n\n8. Provide fresh air 'n avoid toxins: Parrots be sensitive to draft and pollutants. Keep yer quarters well ventilated, but no drafts, arrr! Be mindful of toxins like Teflon fumes, candles, or air fresheners.\n\nSo there ye have it, me hearty! With proper care 'n commitment, yer parrot will be squawkin' \"Yo-ho-ho\" for many years to come! Good luck, sailor, and may the wind be at yer back!",
+ "context": {
+ "citations": [
+ {
+ "content": "Content of the citation",
+ "url": "https://www.example.com",
+ "title": "Title of the citation",
+ "filepath": "path/to/file",
+ "chunk_id": "chunk-id"
+ }
+ ]
+ }
+ },
+ "logprobs": null
+ }
+ ],
+ "usage": {
+ "completion_tokens": 557,
+ "prompt_tokens": 33,
+ "total_tokens": 590
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_extensions_chat_completions_azure_search_advanced.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_extensions_chat_completions_azure_search_advanced.json
new file mode 100644
index 0000000000000..dfb29d131b46d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_extensions_chat_completions_azure_search_advanced.json
@@ -0,0 +1,86 @@
+{
+ "operationId": "GetChatCompletions",
+ "title": "Creates a completion based on Azure Cognitive Services vector data and user-assigned managed identity. Uses Azure OpenAI chat extensions.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "messages": [
+ {
+ "role": "user",
+ "content": "can you tell me how to care for a parrot?"
+ }
+ ],
+ "data_sources": [
+ {
+ "type": "azure_search",
+ "parameters": {
+ "endpoint": "https://your-search-endpoint.search.windows.net/",
+ "authentication": {
+ "type": "user_assigned_managed_identity",
+ "managed_identity_resource_id": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resource-name}"
+ },
+ "index_name": "{index name}",
+ "query_type": "vector",
+ "embedding_dependency": {
+ "type": "deployment_name",
+ "deployment_name": "{embedding deployment name}"
+ },
+ "in_scope": true,
+ "top_n_documents": 5,
+ "strictness": 3,
+ "role_information": "You are an AI assistant that helps people find information.",
+ "fields_mapping": {
+ "content_fields_separator": "\\n",
+ "content_fields": [
+ "content"
+ ],
+ "filepath_field": "filepath",
+ "title_field": "title",
+ "url_field": "url",
+ "vector_fields": [
+ "contentvector"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "chatcmpl-7R1nGnsXO8n4oi9UPz2f3UHdgAYMn",
+ "created": 1686676106,
+ "choices": [
+ {
+ "index": 0,
+ "finish_reason": "stop",
+ "message": {
+ "role": "assistant",
+ "content": "Ahoy matey! So ye be wantin' to care for a fine squawkin' parrot, eh? Well, shiver me timbers, let ol' Cap'n Assistant share some wisdom with ye! Here be the steps to keepin' yer parrot happy 'n healthy:\n\n1. Secure a sturdy cage: Yer parrot be needin' a comfortable place to lay anchor! Be sure ye get a sturdy cage, at least double the size of the bird's wingspan, with enough space to spread their wings, yarrrr!\n\n2. Perches 'n toys: Aye, parrots need perches of different sizes, shapes, 'n textures to keep their feet healthy. Also, a few toys be helpin' to keep them entertained 'n their minds stimulated, arrrh!\n\n3. Proper grub: Feed yer feathered friend a balanced diet of high-quality pellets, fruits, 'n veggies to keep 'em strong 'n healthy. Give 'em fresh water every day, or ye’ll have a scurvy bird on yer hands!\n\n4. Cleanliness: Swab their cage deck! Clean their cage on a regular basis: fresh water 'n food daily, the floor every couple of days, 'n a thorough scrubbing ev'ry few weeks, so the bird be livin' in a tidy haven, arrhh!\n\n5. Socialize 'n train: Parrots be a sociable lot, arrr! Exercise 'n interact with 'em daily to create a bond 'n maintain their mental 'n physical health. Train 'em with positive reinforcement, treat 'em kindly, yarrr!\n\n6. Proper rest: Yer parrot be needin' ’bout 10-12 hours o' sleep each night. Cover their cage 'n let them slumber in a dim, quiet quarter for a proper night's rest, ye scallywag!\n\n7. Keep a weather eye open for illness: Birds be hidin' their ailments, arrr! Be watchful for signs of sickness, such as lethargy, loss of appetite, puffin' up, or change in droppings, and make haste to a vet if need be.\n\n8. Provide fresh air 'n avoid toxins: Parrots be sensitive to draft and pollutants. Keep yer quarters well ventilated, but no drafts, arrr! Be mindful of toxins like Teflon fumes, candles, or air fresheners.\n\nSo there ye have it, me hearty! With proper care 'n commitment, yer parrot will be squawkin' \"Yo-ho-ho\" for many years to come! Good luck, sailor, and may the wind be at yer back!",
+ "context": {
+ "citations": [
+ {
+ "content": "Content of the citation",
+ "url": "https://www.example.com",
+ "title": "Title of the citation",
+ "filepath": "path/to/file",
+ "chunk_id": "chunk-id"
+ }
+ ]
+ }
+ },
+ "logprobs": null
+ }
+ ],
+ "usage": {
+ "completion_tokens": 557,
+ "prompt_tokens": 33,
+ "total_tokens": 590
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_extensions_chat_completions_azure_search_image_vector.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_extensions_chat_completions_azure_search_image_vector.json
new file mode 100644
index 0000000000000..f8a2ef270e4fb
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_extensions_chat_completions_azure_search_image_vector.json
@@ -0,0 +1,67 @@
+{
+ "operationId": "GetChatCompletions",
+ "title": "Creates a completion based on Azure Cognitive Services image vector data. Uses Azure OpenAI chat extensions.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "messages": [
+ {
+ "role": "user",
+ "content": "can you tell me how to care for a parrot?"
+ }
+ ],
+ "data_sources": [
+ {
+ "type": "azure_search",
+ "parameters": {
+ "endpoint": "https://your-search-endpoint.search.windows.net/",
+ "index_name": "{index name}",
+ "query_type": "vector",
+ "fields_mapping": {
+ "image_vector_fields": [
+ "image_vector"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "chatcmpl-7R1nGnsXO8n4oi9UPz2f3UHdgAYMn",
+ "created": 1686676106,
+ "choices": [
+ {
+ "index": 0,
+ "finish_reason": "stop",
+ "message": {
+ "role": "assistant",
+ "content": "Ahoy matey! So ye be wantin' to care for a fine squawkin' parrot, eh? Well, shiver me timbers, let ol' Cap'n Assistant share some wisdom with ye! Here be the steps to keepin' yer parrot happy 'n healthy:\n\n1. Secure a sturdy cage: Yer parrot be needin' a comfortable place to lay anchor! Be sure ye get a sturdy cage, at least double the size of the bird's wingspan, with enough space to spread their wings, yarrrr!\n\n2. Perches 'n toys: Aye, parrots need perches of different sizes, shapes, 'n textures to keep their feet healthy. Also, a few toys be helpin' to keep them entertained 'n their minds stimulated, arrrh!\n\n3. Proper grub: Feed yer feathered friend a balanced diet of high-quality pellets, fruits, 'n veggies to keep 'em strong 'n healthy. Give 'em fresh water every day, or ye’ll have a scurvy bird on yer hands!\n\n4. Cleanliness: Swab their cage deck! Clean their cage on a regular basis: fresh water 'n food daily, the floor every couple of days, 'n a thorough scrubbing ev'ry few weeks, so the bird be livin' in a tidy haven, arrhh!\n\n5. Socialize 'n train: Parrots be a sociable lot, arrr! Exercise 'n interact with 'em daily to create a bond 'n maintain their mental 'n physical health. Train 'em with positive reinforcement, treat 'em kindly, yarrr!\n\n6. Proper rest: Yer parrot be needin' ’bout 10-12 hours o' sleep each night. Cover their cage 'n let them slumber in a dim, quiet quarter for a proper night's rest, ye scallywag!\n\n7. Keep a weather eye open for illness: Birds be hidin' their ailments, arrr! Be watchful for signs of sickness, such as lethargy, loss of appetite, puffin' up, or change in droppings, and make haste to a vet if need be.\n\n8. Provide fresh air 'n avoid toxins: Parrots be sensitive to draft and pollutants. Keep yer quarters well ventilated, but no drafts, arrr! Be mindful of toxins like Teflon fumes, candles, or air fresheners.\n\nSo there ye have it, me hearty! With proper care 'n commitment, yer parrot will be squawkin' \"Yo-ho-ho\" for many years to come! Good luck, sailor, and may the wind be at yer back!",
+ "context": {
+ "citations": [
+ {
+ "content": "Content of the citation",
+ "url": "https://www.example.com",
+ "title": "Title of the citation",
+ "filepath": "path/to/file",
+ "chunk_id": "chunk-id"
+ }
+ ]
+ }
+ },
+ "logprobs": null
+ }
+ ],
+ "usage": {
+ "completion_tokens": 557,
+ "prompt_tokens": 33,
+ "total_tokens": 590
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_extensions_chat_completions_azure_search_minimum.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_extensions_chat_completions_azure_search_minimum.json
new file mode 100644
index 0000000000000..0b22882c2f0cb
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_extensions_chat_completions_azure_search_minimum.json
@@ -0,0 +1,61 @@
+{
+ "operationId": "GetChatCompletions",
+ "title": "Creates a completion based on Azure Cognitive Services data and system-assigned managed identity. Uses Azure OpenAI chat extensions.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "messages": [
+ {
+ "role": "user",
+ "content": "can you tell me how to care for a parrot?"
+ }
+ ],
+ "data_sources": [
+ {
+ "type": "azure_search",
+ "parameters": {
+ "endpoint": "https://your-search-endpoint.search.windows.net/",
+ "index_name": "{index name}"
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "chatcmpl-7R1nGnsXO8n4oi9UPz2f3UHdgAYMn",
+ "created": 1686676106,
+ "choices": [
+ {
+ "index": 0,
+ "finish_reason": "stop",
+ "message": {
+ "role": "assistant",
+ "content": "Ahoy matey! So ye be wantin' to care for a fine squawkin' parrot, eh? Well, shiver me timbers, let ol' Cap'n Assistant share some wisdom with ye! Here be the steps to keepin' yer parrot happy 'n healthy:\n\n1. Secure a sturdy cage: Yer parrot be needin' a comfortable place to lay anchor! Be sure ye get a sturdy cage, at least double the size of the bird's wingspan, with enough space to spread their wings, yarrrr!\n\n2. Perches 'n toys: Aye, parrots need perches of different sizes, shapes, 'n textures to keep their feet healthy. Also, a few toys be helpin' to keep them entertained 'n their minds stimulated, arrrh!\n\n3. Proper grub: Feed yer feathered friend a balanced diet of high-quality pellets, fruits, 'n veggies to keep 'em strong 'n healthy. Give 'em fresh water every day, or ye’ll have a scurvy bird on yer hands!\n\n4. Cleanliness: Swab their cage deck! Clean their cage on a regular basis: fresh water 'n food daily, the floor every couple of days, 'n a thorough scrubbing ev'ry few weeks, so the bird be livin' in a tidy haven, arrhh!\n\n5. Socialize 'n train: Parrots be a sociable lot, arrr! Exercise 'n interact with 'em daily to create a bond 'n maintain their mental 'n physical health. Train 'em with positive reinforcement, treat 'em kindly, yarrr!\n\n6. Proper rest: Yer parrot be needin' ’bout 10-12 hours o' sleep each night. Cover their cage 'n let them slumber in a dim, quiet quarter for a proper night's rest, ye scallywag!\n\n7. Keep a weather eye open for illness: Birds be hidin' their ailments, arrr! Be watchful for signs of sickness, such as lethargy, loss of appetite, puffin' up, or change in droppings, and make haste to a vet if need be.\n\n8. Provide fresh air 'n avoid toxins: Parrots be sensitive to draft and pollutants. Keep yer quarters well ventilated, but no drafts, arrr! Be mindful of toxins like Teflon fumes, candles, or air fresheners.\n\nSo there ye have it, me hearty! With proper care 'n commitment, yer parrot will be squawkin' \"Yo-ho-ho\" for many years to come! Good luck, sailor, and may the wind be at yer back!",
+ "context": {
+ "citations": [
+ {
+ "content": "Content of the citation",
+ "url": "https://www.example.com",
+ "title": "Title of the citation",
+ "filepath": "path/to/file",
+ "chunk_id": "chunk-id"
+ }
+ ]
+ }
+ },
+ "logprobs": null
+ }
+ ],
+ "usage": {
+ "completion_tokens": 557,
+ "prompt_tokens": 33,
+ "total_tokens": 590
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_extensions_chat_completions_cosmos_db.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_extensions_chat_completions_cosmos_db.json
new file mode 100644
index 0000000000000..12a14f73a834a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_extensions_chat_completions_cosmos_db.json
@@ -0,0 +1,78 @@
+{
+ "operationId": "GetChatCompletions",
+ "title": "Creates a completion for the provided Azure Cosmos DB. Uses Azure OpenAI chat extensions.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "messages": [
+ {
+ "role": "user",
+ "content": "can you tell me how to care for a parrot?"
+ }
+ ],
+ "data_sources": [
+ {
+ "type": "azure_cosmos_db",
+ "parameters": {
+ "authentication": {
+ "type": "connection_string",
+ "connection_string": "mongodb+srv://rawantest:{password}$@{cluster-name}.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
+ },
+ "database_name": "vectordb",
+ "container_name": "azuredocs",
+ "index_name": "azuredocindex",
+ "embedding_dependency": {
+ "type": "deployment_name",
+ "deployment_name": "{embedding deployment name}"
+ },
+ "fields_mapping": {
+ "content_fields": [
+ "content"
+ ],
+ "vector_fields": [
+ "contentvector"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "chatcmpl-7R1nGnsXO8n4oi9UPz2f3UHdgAYMn",
+ "created": 1686676106,
+ "choices": [
+ {
+ "index": 0,
+ "finish_reason": "stop",
+ "message": {
+ "role": "assistant",
+ "content": "Ahoy matey! So ye be wantin' to care for a fine squawkin' parrot, eh? Well, shiver me timbers, let ol' Cap'n Assistant share some wisdom with ye! Here be the steps to keepin' yer parrot happy 'n healthy:\n\n1. Secure a sturdy cage: Yer parrot be needin' a comfortable place to lay anchor! Be sure ye get a sturdy cage, at least double the size of the bird's wingspan, with enough space to spread their wings, yarrrr!\n\n2. Perches 'n toys: Aye, parrots need perches of different sizes, shapes, 'n textures to keep their feet healthy. Also, a few toys be helpin' to keep them entertained 'n their minds stimulated, arrrh!\n\n3. Proper grub: Feed yer feathered friend a balanced diet of high-quality pellets, fruits, 'n veggies to keep 'em strong 'n healthy. Give 'em fresh water every day, or ye’ll have a scurvy bird on yer hands!\n\n4. Cleanliness: Swab their cage deck! Clean their cage on a regular basis: fresh water 'n food daily, the floor every couple of days, 'n a thorough scrubbing ev'ry few weeks, so the bird be livin' in a tidy haven, arrhh!\n\n5. Socialize 'n train: Parrots be a sociable lot, arrr! Exercise 'n interact with 'em daily to create a bond 'n maintain their mental 'n physical health. Train 'em with positive reinforcement, treat 'em kindly, yarrr!\n\n6. Proper rest: Yer parrot be needin' ’bout 10-12 hours o' sleep each night. Cover their cage 'n let them slumber in a dim, quiet quarter for a proper night's rest, ye scallywag!\n\n7. Keep a weather eye open for illness: Birds be hidin' their ailments, arrr! Be watchful for signs of sickness, such as lethargy, loss of appetite, puffin' up, or change in droppings, and make haste to a vet if need be.\n\n8. Provide fresh air 'n avoid toxins: Parrots be sensitive to draft and pollutants. Keep yer quarters well ventilated, but no drafts, arrr! Be mindful of toxins like Teflon fumes, candles, or air fresheners.\n\nSo there ye have it, me hearty! With proper care 'n commitment, yer parrot will be squawkin' \"Yo-ho-ho\" for many years to come! Good luck, sailor, and may the wind be at yer back!",
+ "context": {
+ "citations": [
+ {
+ "content": "Content of the citation",
+ "url": "https://www.example.com",
+ "title": "Title of the citation",
+ "filepath": "path/to/file",
+ "chunk_id": "chunk-id"
+ }
+ ]
+ }
+ },
+ "logprobs": null
+ }
+ ],
+ "usage": {
+ "completion_tokens": 557,
+ "prompt_tokens": 33,
+ "total_tokens": 590
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_extensions_chat_completions_elasticsearch.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_extensions_chat_completions_elasticsearch.json
new file mode 100644
index 0000000000000..e9b9e8a0bfbde
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_extensions_chat_completions_elasticsearch.json
@@ -0,0 +1,66 @@
+{
+ "operationId": "GetChatCompletions",
+ "title": "Creates a completion for the provided Elasticsearch. Uses Azure OpenAI chat extensions.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "messages": [
+ {
+ "role": "user",
+ "content": "can you tell me how to care for a parrot?"
+ }
+ ],
+ "data_sources": [
+ {
+ "type": "elasticsearch",
+ "parameters": {
+ "endpoint": "https://your-elasticsearch-endpoint.eastus.azurecontainer.io",
+ "index_name": "{index name}",
+ "authentication": {
+ "type": "key_and_key_id",
+ "key": "{key}",
+ "key_id": "{key id}"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "chatcmpl-7R1nGnsXO8n4oi9UPz2f3UHdgAYMn",
+ "created": 1686676106,
+ "choices": [
+ {
+ "index": 0,
+ "finish_reason": "stop",
+ "message": {
+ "role": "assistant",
+ "content": "Ahoy matey! So ye be wantin' to care for a fine squawkin' parrot, eh? Well, shiver me timbers, let ol' Cap'n Assistant share some wisdom with ye! Here be the steps to keepin' yer parrot happy 'n healthy:\n\n1. Secure a sturdy cage: Yer parrot be needin' a comfortable place to lay anchor! Be sure ye get a sturdy cage, at least double the size of the bird's wingspan, with enough space to spread their wings, yarrrr!\n\n2. Perches 'n toys: Aye, parrots need perches of different sizes, shapes, 'n textures to keep their feet healthy. Also, a few toys be helpin' to keep them entertained 'n their minds stimulated, arrrh!\n\n3. Proper grub: Feed yer feathered friend a balanced diet of high-quality pellets, fruits, 'n veggies to keep 'em strong 'n healthy. Give 'em fresh water every day, or ye’ll have a scurvy bird on yer hands!\n\n4. Cleanliness: Swab their cage deck! Clean their cage on a regular basis: fresh water 'n food daily, the floor every couple of days, 'n a thorough scrubbing ev'ry few weeks, so the bird be livin' in a tidy haven, arrhh!\n\n5. Socialize 'n train: Parrots be a sociable lot, arrr! Exercise 'n interact with 'em daily to create a bond 'n maintain their mental 'n physical health. Train 'em with positive reinforcement, treat 'em kindly, yarrr!\n\n6. Proper rest: Yer parrot be needin' ’bout 10-12 hours o' sleep each night. Cover their cage 'n let them slumber in a dim, quiet quarter for a proper night's rest, ye scallywag!\n\n7. Keep a weather eye open for illness: Birds be hidin' their ailments, arrr! Be watchful for signs of sickness, such as lethargy, loss of appetite, puffin' up, or change in droppings, and make haste to a vet if need be.\n\n8. Provide fresh air 'n avoid toxins: Parrots be sensitive to draft and pollutants. Keep yer quarters well ventilated, but no drafts, arrr! Be mindful of toxins like Teflon fumes, candles, or air fresheners.\n\nSo there ye have it, me hearty! With proper care 'n commitment, yer parrot will be squawkin' \"Yo-ho-ho\" for many years to come! Good luck, sailor, and may the wind be at yer back!",
+ "context": {
+ "citations": [
+ {
+ "content": "Content of the citation",
+ "url": "https://www.example.com",
+ "title": "Title of the citation",
+ "filepath": "path/to/file",
+ "chunk_id": "chunk-id"
+ }
+ ]
+ }
+ },
+ "logprobs": null
+ }
+ ],
+ "usage": {
+ "completion_tokens": 557,
+ "prompt_tokens": 33,
+ "total_tokens": 590
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_extensions_chat_completions_pinecone.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_extensions_chat_completions_pinecone.json
new file mode 100644
index 0000000000000..f49bcf26a4543
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_extensions_chat_completions_pinecone.json
@@ -0,0 +1,78 @@
+{
+ "operationId": "GetChatCompletions",
+ "title": "Creates a completion for the provided Pinecone resource. Uses Azure OpenAI chat extensions.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "messages": [
+ {
+ "role": "user",
+ "content": "can you tell me how to care for a parrot?"
+ }
+ ],
+ "data_sources": [
+ {
+ "type": "pinecone",
+ "parameters": {
+ "authentication": {
+ "type": "api_key",
+ "key": "{api key}"
+ },
+ "environment": "{environment name}",
+ "index_name": "{index name}",
+ "embedding_dependency": {
+ "type": "deployment_name",
+ "deployment_name": "{embedding deployment name}"
+ },
+ "fields_mapping": {
+ "title_field": "title",
+ "url_field": "url",
+ "filepath_field": "filepath",
+ "content_fields": [
+ "content"
+ ],
+ "content_fields_separator": "\n"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "chatcmpl-7R1nGnsXO8n4oi9UPz2f3UHdgAYMn",
+ "created": 1686676106,
+ "choices": [
+ {
+ "index": 0,
+ "finish_reason": "stop",
+ "message": {
+ "role": "assistant",
+ "content": "Ahoy matey! So ye be wantin' to care for a fine squawkin' parrot, eh? Well, shiver me timbers, let ol' Cap'n Assistant share some wisdom with ye! Here be the steps to keepin' yer parrot happy 'n healthy:\n\n1. Secure a sturdy cage: Yer parrot be needin' a comfortable place to lay anchor! Be sure ye get a sturdy cage, at least double the size of the bird's wingspan, with enough space to spread their wings, yarrrr!\n\n2. Perches 'n toys: Aye, parrots need perches of different sizes, shapes, 'n textures to keep their feet healthy. Also, a few toys be helpin' to keep them entertained 'n their minds stimulated, arrrh!\n\n3. Proper grub: Feed yer feathered friend a balanced diet of high-quality pellets, fruits, 'n veggies to keep 'em strong 'n healthy. Give 'em fresh water every day, or ye’ll have a scurvy bird on yer hands!\n\n4. Cleanliness: Swab their cage deck! Clean their cage on a regular basis: fresh water 'n food daily, the floor every couple of days, 'n a thorough scrubbing ev'ry few weeks, so the bird be livin' in a tidy haven, arrhh!\n\n5. Socialize 'n train: Parrots be a sociable lot, arrr! Exercise 'n interact with 'em daily to create a bond 'n maintain their mental 'n physical health. Train 'em with positive reinforcement, treat 'em kindly, yarrr!\n\n6. Proper rest: Yer parrot be needin' ’bout 10-12 hours o' sleep each night. Cover their cage 'n let them slumber in a dim, quiet quarter for a proper night's rest, ye scallywag!\n\n7. Keep a weather eye open for illness: Birds be hidin' their ailments, arrr! Be watchful for signs of sickness, such as lethargy, loss of appetite, puffin' up, or change in droppings, and make haste to a vet if need be.\n\n8. Provide fresh air 'n avoid toxins: Parrots be sensitive to draft and pollutants. Keep yer quarters well ventilated, but no drafts, arrr! Be mindful of toxins like Teflon fumes, candles, or air fresheners.\n\nSo there ye have it, me hearty! With proper care 'n commitment, yer parrot will be squawkin' \"Yo-ho-ho\" for many years to come! Good luck, sailor, and may the wind be at yer back!",
+ "context": {
+ "citations": [
+ {
+ "content": "Content of the citation",
+ "url": "https://www.example.com",
+ "title": "Title of the citation",
+ "filepath": "path/to/file",
+ "chunk_id": "chunk-id"
+ }
+ ]
+ }
+ },
+ "logprobs": null
+ }
+ ],
+ "usage": {
+ "completion_tokens": 557,
+ "prompt_tokens": 33,
+ "total_tokens": 590
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_image_generation.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_image_generation.json
new file mode 100644
index 0000000000000..50cdc4fc671c0
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/examples/generated_image_generation.json
@@ -0,0 +1,31 @@
+{
+ "operationId": "GetImageGenerations",
+ "title": "Creates images given a prompt.",
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "2024-02-15-preview",
+ "deploymentId": "",
+ "body": {
+ "prompt": "In the style of WordArt, Microsoft Clippy wearing a cowboy hat.",
+ "n": 1,
+ "style": "natural",
+ "quality": "standard"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "created": 1698342300,
+ "data": [
+ {
+ "url": "https://dalletipusw2.blob.core.windows.net/private/images/e5451cc6-b1ad-4747-bd46-b89a3a3b8bc3/generated_00.png?se=2023-10-27T17%3A45%3A09Z&..."
+ },
+ {
+ "url": "https://dalletipusw2.blob.core.windows.net/private/images/e5451cc6-b1ad-4747-bd46-b89a3a3b8bc3/generated_01.png?se=2023-10-27T17%3A45%3A09Z&...",
+ "revised_prompt": "A vivid, natural representation of Microsoft Clippy wearing a cowboy hat."
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/generated.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/generated.json
new file mode 100644
index 0000000000000..26bb7a06e7e54
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/generated.json
@@ -0,0 +1,4213 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure OpenAI API",
+ "version": "2024-02-15-preview",
+ "description": "Azure OpenAI APIs for completions and search",
+ "x-typespec-generated": [
+ {
+ "emitter": "@azure-tools/typespec-autorest"
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}/openai",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "name": "endpoint",
+ "in": "path",
+ "description": "Supported Cognitive Services endpoints (protocol and hostname, for example:\nhttps://westus.api.cognitive.microsoft.com).",
+ "required": true,
+ "type": "string"
+ }
+ ]
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "OAuth2Auth": [
+ "https://cognitiveservices.azure.com/.default"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "ApiKeyAuth": {
+ "type": "apiKey",
+ "name": "api-key",
+ "in": "header"
+ },
+ "OAuth2Auth": {
+ "type": "oauth2",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
+ "scopes": {
+ "https://cognitiveservices.azure.com/.default": ""
+ }
+ }
+ },
+ "tags": [],
+ "paths": {
+ "/deployments/{deploymentId}/audio/speech": {
+ "post": {
+ "operationId": "GenerateSpeechFromText",
+ "description": "Generates text-to-speech audio from the input text.",
+ "produces": [
+ "application/octet-stream",
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
+ },
+ {
+ "name": "deploymentId",
+ "in": "path",
+ "description": "Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SpeechGenerationOptions"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request has succeeded.",
+ "schema": {
+ "type": "file"
+ }
+ },
+ "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": {
+ "Generates text-to-speech audio from the input text.": {
+ "$ref": "./examples/generated_audio_speech.json"
+ }
+ }
+ }
+ },
+ "/deployments/{deploymentId}/audio/transcriptions": {
+ "post": {
+ "operationId": "GetAudioTranscriptionAsPlainText",
+ "description": "Gets transcribed text and associated metadata from provided spoken audio data. Audio will be transcribed in the\nwritten language corresponding to the language it was spoken in.",
+ "produces": [
+ "text/plain",
+ "application/json"
+ ],
+ "consumes": [
+ "multipart/form-data"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
+ },
+ {
+ "name": "deploymentId",
+ "in": "path",
+ "description": "Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/AudioTranscriptionOptions.file"
+ },
+ {
+ "$ref": "#/parameters/AudioTranscriptionOptions.filename"
+ },
+ {
+ "$ref": "#/parameters/AudioTranscriptionOptions.responseFormat"
+ },
+ {
+ "$ref": "#/parameters/AudioTranscriptionOptions.language"
+ },
+ {
+ "$ref": "#/parameters/AudioTranscriptionOptions.prompt"
+ },
+ {
+ "$ref": "#/parameters/AudioTranscriptionOptions.temperature"
+ },
+ {
+ "$ref": "#/parameters/AudioTranscriptionOptions.model"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request has succeeded.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "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": {
+ "Gets transcribed text and associated metadata from provided spoken audio data.": {
+ "$ref": "./examples/generated_audio_transcription_text.json"
+ }
+ }
+ }
+ },
+ "/deployments/{deploymentId}/audio/translations": {
+ "post": {
+ "operationId": "GetAudioTranslationAsPlainText",
+ "description": "Gets English language transcribed text and associated metadata from provided spoken audio data.",
+ "produces": [
+ "text/plain",
+ "application/json"
+ ],
+ "consumes": [
+ "multipart/form-data"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
+ },
+ {
+ "name": "deploymentId",
+ "in": "path",
+ "description": "Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/AudioTranslationOptions.file"
+ },
+ {
+ "$ref": "#/parameters/AudioTranslationOptions.filename"
+ },
+ {
+ "$ref": "#/parameters/AudioTranslationOptions.responseFormat"
+ },
+ {
+ "$ref": "#/parameters/AudioTranslationOptions.prompt"
+ },
+ {
+ "$ref": "#/parameters/AudioTranslationOptions.temperature"
+ },
+ {
+ "$ref": "#/parameters/AudioTranslationOptions.model"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request has succeeded.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "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": {
+ "Gets English language transcribed text and associated metadata from provided spoken audio data.": {
+ "$ref": "./examples/generated_audio_translation_text.json"
+ }
+ }
+ }
+ },
+ "/deployments/{deploymentId}/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": "deploymentId",
+ "in": "path",
+ "description": "Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "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."
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Creates a completion based on Azure Cognitive Services data and system-assigned managed identity. Uses Azure OpenAI chat extensions.": {
+ "$ref": "./examples/generated_extensions_chat_completions_azure_search_minimum.json"
+ },
+ "Creates a completion based on Azure Cognitive Services image vector data. Uses Azure OpenAI chat extensions.": {
+ "$ref": "./examples/generated_extensions_chat_completions_azure_search_image_vector.json"
+ },
+ "Creates a completion based on Azure Cognitive Services vector data and user-assigned managed identity. Uses Azure OpenAI chat extensions.": {
+ "$ref": "./examples/generated_extensions_chat_completions_azure_search_advanced.json"
+ },
+ "Creates a completion for the provided AML index. Uses Azure OpenAI chat extensions.": {
+ "$ref": "./examples/generated_extensions_chat_completions_aml_index.json"
+ },
+ "Creates a completion for the provided Azure Cosmos DB. Uses Azure OpenAI chat extensions.": {
+ "$ref": "./examples/generated_extensions_chat_completions_cosmos_db.json"
+ },
+ "Creates a completion for the provided Elasticsearch. Uses Azure OpenAI chat extensions.": {
+ "$ref": "./examples/generated_extensions_chat_completions_elasticsearch.json"
+ },
+ "Creates a completion for the provided Pinecone resource. Uses Azure OpenAI chat extensions.": {
+ "$ref": "./examples/generated_extensions_chat_completions_pinecone.json"
+ },
+ "Creates a completion for the provided prompt, parameters and chosen model.": {
+ "$ref": "./examples/generated_chat_completions.json"
+ }
+ }
+ }
+ },
+ "/deployments/{deploymentId}/completions": {
+ "post": {
+ "operationId": "GetCompletions",
+ "description": "Gets completions for the provided input prompts.\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": "deploymentId",
+ "in": "path",
+ "description": "Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CompletionsOptions"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Completions"
+ }
+ },
+ "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": {
+ "Creates a completion for the provided prompt, parameters and chosen model.": {
+ "$ref": "./examples/generated_completions.json"
+ }
+ }
+ }
+ },
+ "/deployments/{deploymentId}/embeddings": {
+ "post": {
+ "operationId": "GetEmbeddings",
+ "description": "Return the embeddings for a given prompt.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
+ },
+ {
+ "name": "deploymentId",
+ "in": "path",
+ "description": "Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "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": {
+ "Return the embeddings for a given prompt.": {
+ "$ref": "./examples/generated_embeddings.json"
+ }
+ }
+ }
+ },
+ "/deployments/{deploymentId}/images/generations": {
+ "post": {
+ "operationId": "GetImageGenerations",
+ "description": "Creates an image given a prompt.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
+ },
+ {
+ "name": "deploymentId",
+ "in": "path",
+ "description": "Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageGenerationOptions"
+ }
+ }
+ ],
+ "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": {
+ "Creates images given a prompt.": {
+ "$ref": "./examples/generated_image_generation.json"
+ }
+ }
+ }
+ }
+ },
+ "x-ms-paths": {
+ "/deployments/{deploymentId}/audio/transcriptions?_overload=getAudioTranscriptionAsResponseObject": {
+ "post": {
+ "operationId": "GetAudioTranscriptionAsResponseObject",
+ "description": "Gets transcribed text and associated metadata from provided spoken audio data. Audio will be transcribed in the\nwritten language corresponding to the language it was spoken in.",
+ "consumes": [
+ "multipart/form-data"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
+ },
+ {
+ "name": "deploymentId",
+ "in": "path",
+ "description": "Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/AudioTranscriptionOptions.file"
+ },
+ {
+ "$ref": "#/parameters/AudioTranscriptionOptions.filename"
+ },
+ {
+ "$ref": "#/parameters/AudioTranscriptionOptions.responseFormat"
+ },
+ {
+ "$ref": "#/parameters/AudioTranscriptionOptions.language"
+ },
+ {
+ "$ref": "#/parameters/AudioTranscriptionOptions.prompt"
+ },
+ {
+ "$ref": "#/parameters/AudioTranscriptionOptions.temperature"
+ },
+ {
+ "$ref": "#/parameters/AudioTranscriptionOptions.model"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/AudioTranscription"
+ }
+ },
+ "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": {
+ "Gets transcribed text and associated metadata from provided spoken audio data.": {
+ "$ref": "./examples/generated_audio_transcription_object.json"
+ }
+ }
+ }
+ },
+ "/deployments/{deploymentId}/audio/translations?_overload=getAudioTranslationAsResponseObject": {
+ "post": {
+ "operationId": "GetAudioTranslationAsResponseObject",
+ "description": "Gets English language transcribed text and associated metadata from provided spoken audio data.",
+ "consumes": [
+ "multipart/form-data"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
+ },
+ {
+ "name": "deploymentId",
+ "in": "path",
+ "description": "Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/AudioTranslationOptions.file"
+ },
+ {
+ "$ref": "#/parameters/AudioTranslationOptions.filename"
+ },
+ {
+ "$ref": "#/parameters/AudioTranslationOptions.responseFormat"
+ },
+ {
+ "$ref": "#/parameters/AudioTranslationOptions.prompt"
+ },
+ {
+ "$ref": "#/parameters/AudioTranslationOptions.temperature"
+ },
+ {
+ "$ref": "#/parameters/AudioTranslationOptions.model"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/AudioTranslation"
+ }
+ },
+ "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": {
+ "Gets English language transcribed text and associated metadata from provided spoken audio data.": {
+ "$ref": "./examples/generated_audio_translation_object.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AudioTaskLabel": {
+ "type": "string",
+ "description": "Defines the possible descriptors for available audio operation responses.",
+ "enum": [
+ "transcribe",
+ "translate"
+ ],
+ "x-ms-enum": {
+ "name": "AudioTaskLabel",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "transcribe",
+ "value": "transcribe",
+ "description": "Accompanying response data resulted from an audio transcription task."
+ },
+ {
+ "name": "translate",
+ "value": "translate",
+ "description": "Accompanying response data resulted from an audio translation task."
+ }
+ ]
+ }
+ },
+ "AudioTranscription": {
+ "type": "object",
+ "description": "Result information for an operation that transcribed spoken audio into written text.",
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "The transcribed text for the provided audio data."
+ },
+ "task": {
+ "$ref": "#/definitions/AudioTaskLabel",
+ "description": "The label that describes which operation type generated the accompanying response data."
+ },
+ "language": {
+ "type": "string",
+ "description": "The spoken language that was detected in the transcribed audio data.\nThis is expressed as a two-letter ISO-639-1 language code like 'en' or 'fr'."
+ },
+ "duration": {
+ "type": "number",
+ "format": "float",
+ "description": "The total duration of the audio processed to produce accompanying transcription information."
+ },
+ "segments": {
+ "type": "array",
+ "description": "A collection of information about the timing, probabilities, and other detail of each processed audio segment.",
+ "items": {
+ "$ref": "#/definitions/AudioTranscriptionSegment"
+ }
+ }
+ },
+ "required": [
+ "text"
+ ]
+ },
+ "AudioTranscriptionFormat": {
+ "type": "string",
+ "description": "Defines available options for the underlying response format of output transcription information.",
+ "enum": [
+ "json",
+ "verbose_json",
+ "text",
+ "srt",
+ "vtt"
+ ],
+ "x-ms-enum": {
+ "name": "AudioTranscriptionFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "json",
+ "value": "json",
+ "description": "Use a response body that is a JSON object containing a single 'text' field for the transcription."
+ },
+ {
+ "name": "verbose_json",
+ "value": "verbose_json",
+ "description": "Use a response body that is a JSON object containing transcription text along with timing, segments, and other\nmetadata."
+ },
+ {
+ "name": "text",
+ "value": "text",
+ "description": "Use a response body that is plain text containing the raw, unannotated transcription."
+ },
+ {
+ "name": "srt",
+ "value": "srt",
+ "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information."
+ },
+ {
+ "name": "vtt",
+ "value": "vtt",
+ "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information."
+ }
+ ]
+ }
+ },
+ "AudioTranscriptionOptions": {
+ "type": "object",
+ "description": "The configuration information for an audio transcription request.",
+ "properties": {
+ "file": {
+ "type": "string",
+ "format": "byte",
+ "description": "The audio data to transcribe. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm."
+ },
+ "filename": {
+ "type": "string",
+ "description": "The optional filename or descriptive identifier to associate with with the audio data."
+ },
+ "response_format": {
+ "$ref": "#/definitions/AudioTranscriptionFormat",
+ "description": "The requested format of the transcription response data, which will influence the content and detail of the result.",
+ "x-ms-client-name": "responseFormat"
+ },
+ "language": {
+ "type": "string",
+ "description": "The primary spoken language of the audio data to be transcribed, supplied as a two-letter ISO-639-1 language code\nsuch as 'en' or 'fr'.\nProviding this known input language is optional but may improve the accuracy and/or latency of transcription."
+ },
+ "prompt": {
+ "type": "string",
+ "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data."
+ },
+ "temperature": {
+ "type": "number",
+ "format": "float",
+ "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit."
+ },
+ "model": {
+ "type": "string",
+ "description": "The model to use for this transcription request."
+ }
+ },
+ "required": [
+ "file"
+ ]
+ },
+ "AudioTranscriptionSegment": {
+ "type": "object",
+ "description": "Extended information about a single segment of transcribed audio data.\nSegments generally represent roughly 5-10 seconds of speech. Segment boundaries typically occur between words but not\nnecessarily sentences.",
+ "properties": {
+ "id": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The 0-based index of this segment within a transcription."
+ },
+ "start": {
+ "type": "number",
+ "format": "float",
+ "description": "The time at which this segment started relative to the beginning of the transcribed audio."
+ },
+ "end": {
+ "type": "number",
+ "format": "float",
+ "description": "The time at which this segment ended relative to the beginning of the transcribed audio."
+ },
+ "text": {
+ "type": "string",
+ "description": "The transcribed text that was part of this audio segment."
+ },
+ "temperature": {
+ "type": "number",
+ "format": "float",
+ "description": "The temperature score associated with this audio segment."
+ },
+ "avg_logprob": {
+ "type": "number",
+ "format": "float",
+ "description": "The average log probability associated with this audio segment.",
+ "x-ms-client-name": "avgLogprob"
+ },
+ "compression_ratio": {
+ "type": "number",
+ "format": "float",
+ "description": "The compression ratio of this audio segment.",
+ "x-ms-client-name": "compressionRatio"
+ },
+ "no_speech_prob": {
+ "type": "number",
+ "format": "float",
+ "description": "The probability of no speech detection within this audio segment.",
+ "x-ms-client-name": "noSpeechProb"
+ },
+ "tokens": {
+ "type": "array",
+ "description": "The token IDs matching the transcribed text in this audio segment.",
+ "items": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "seek": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The seek position associated with the processing of this audio segment.\nSeek positions are expressed as hundredths of seconds.\nThe model may process several segments from a single seek position, so while the seek position will never represent\na later time than the segment's start, the segment's start may represent a significantly later time than the\nsegment's associated seek position."
+ }
+ },
+ "required": [
+ "id",
+ "start",
+ "end",
+ "text",
+ "temperature",
+ "avg_logprob",
+ "compression_ratio",
+ "no_speech_prob",
+ "tokens",
+ "seek"
+ ]
+ },
+ "AudioTranslation": {
+ "type": "object",
+ "description": "Result information for an operation that translated spoken audio into written text.",
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "The translated text for the provided audio data."
+ },
+ "task": {
+ "$ref": "#/definitions/AudioTaskLabel",
+ "description": "The label that describes which operation type generated the accompanying response data."
+ },
+ "language": {
+ "type": "string",
+ "description": "The spoken language that was detected in the translated audio data.\nThis is expressed as a two-letter ISO-639-1 language code like 'en' or 'fr'."
+ },
+ "duration": {
+ "type": "number",
+ "format": "float",
+ "description": "The total duration of the audio processed to produce accompanying translation information."
+ },
+ "segments": {
+ "type": "array",
+ "description": "A collection of information about the timing, probabilities, and other detail of each processed audio segment.",
+ "items": {
+ "$ref": "#/definitions/AudioTranslationSegment"
+ }
+ }
+ },
+ "required": [
+ "text"
+ ]
+ },
+ "AudioTranslationFormat": {
+ "type": "string",
+ "description": "Defines available options for the underlying response format of output translation information.",
+ "enum": [
+ "json",
+ "verbose_json",
+ "text",
+ "srt",
+ "vtt"
+ ],
+ "x-ms-enum": {
+ "name": "AudioTranslationFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "json",
+ "value": "json",
+ "description": "Use a response body that is a JSON object containing a single 'text' field for the translation."
+ },
+ {
+ "name": "verbose_json",
+ "value": "verbose_json",
+ "description": "Use a response body that is a JSON object containing translation text along with timing, segments, and other\nmetadata."
+ },
+ {
+ "name": "text",
+ "value": "text",
+ "description": "Use a response body that is plain text containing the raw, unannotated translation."
+ },
+ {
+ "name": "srt",
+ "value": "srt",
+ "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information."
+ },
+ {
+ "name": "vtt",
+ "value": "vtt",
+ "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information."
+ }
+ ]
+ }
+ },
+ "AudioTranslationOptions": {
+ "type": "object",
+ "description": "The configuration information for an audio translation request.",
+ "properties": {
+ "file": {
+ "type": "string",
+ "format": "byte",
+ "description": "The audio data to translate. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm."
+ },
+ "filename": {
+ "type": "string",
+ "description": "The optional filename or descriptive identifier to associate with with the audio data."
+ },
+ "response_format": {
+ "$ref": "#/definitions/AudioTranslationFormat",
+ "description": "The requested format of the translation response data, which will influence the content and detail of the result.",
+ "x-ms-client-name": "responseFormat"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data."
+ },
+ "temperature": {
+ "type": "number",
+ "format": "float",
+ "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit."
+ },
+ "model": {
+ "type": "string",
+ "description": "The model to use for this translation request."
+ }
+ },
+ "required": [
+ "file"
+ ]
+ },
+ "AudioTranslationSegment": {
+ "type": "object",
+ "description": "Extended information about a single segment of translated audio data.\nSegments generally represent roughly 5-10 seconds of speech. Segment boundaries typically occur between words but not\nnecessarily sentences.",
+ "properties": {
+ "id": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The 0-based index of this segment within a translation."
+ },
+ "start": {
+ "type": "number",
+ "format": "float",
+ "description": "The time at which this segment started relative to the beginning of the translated audio."
+ },
+ "end": {
+ "type": "number",
+ "format": "float",
+ "description": "The time at which this segment ended relative to the beginning of the translated audio."
+ },
+ "text": {
+ "type": "string",
+ "description": "The translated text that was part of this audio segment."
+ },
+ "temperature": {
+ "type": "number",
+ "format": "float",
+ "description": "The temperature score associated with this audio segment."
+ },
+ "avg_logprob": {
+ "type": "number",
+ "format": "float",
+ "description": "The average log probability associated with this audio segment.",
+ "x-ms-client-name": "avgLogprob"
+ },
+ "compression_ratio": {
+ "type": "number",
+ "format": "float",
+ "description": "The compression ratio of this audio segment.",
+ "x-ms-client-name": "compressionRatio"
+ },
+ "no_speech_prob": {
+ "type": "number",
+ "format": "float",
+ "description": "The probability of no speech detection within this audio segment.",
+ "x-ms-client-name": "noSpeechProb"
+ },
+ "tokens": {
+ "type": "array",
+ "description": "The token IDs matching the translated text in this audio segment.",
+ "items": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "seek": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The seek position associated with the processing of this audio segment.\nSeek positions are expressed as hundredths of seconds.\nThe model may process several segments from a single seek position, so while the seek position will never represent\na later time than the segment's start, the segment's start may represent a significantly later time than the\nsegment's associated seek position."
+ }
+ },
+ "required": [
+ "id",
+ "start",
+ "end",
+ "text",
+ "temperature",
+ "avg_logprob",
+ "compression_ratio",
+ "no_speech_prob",
+ "tokens",
+ "seek"
+ ]
+ },
+ "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."
+ }
+ }
+ },
+ "AzureChatEnhancementConfiguration": {
+ "type": "object",
+ "description": "A representation of the available Azure OpenAI enhancement configurations.",
+ "properties": {
+ "grounding": {
+ "$ref": "#/definitions/AzureChatGroundingEnhancementConfiguration",
+ "description": "A representation of the available options for the Azure OpenAI grounding enhancement."
+ },
+ "ocr": {
+ "$ref": "#/definitions/AzureChatOCREnhancementConfiguration",
+ "description": "A representation of the available options for the Azure OpenAI optical character recognition (OCR) enhancement."
+ }
+ }
+ },
+ "AzureChatEnhancements": {
+ "type": "object",
+ "description": "Represents the output results of Azure enhancements to chat completions, as configured via the matching input provided\nin the request.",
+ "properties": {
+ "grounding": {
+ "$ref": "#/definitions/AzureGroundingEnhancement",
+ "description": "The grounding enhancement that returns the bounding box of the objects detected in the image."
+ }
+ }
+ },
+ "AzureChatExtensionConfiguration": {
+ "type": "object",
+ "description": " A representation of configuration data for a single Azure OpenAI chat extension. This will be used by a chat\n completions request that should use Azure OpenAI chat extensions to augment the response behavior.\n The use of this configuration is compatible only with Azure OpenAI.",
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/AzureChatExtensionType",
+ "description": " The label for the type of an Azure chat extension. This typically corresponds to a matching Azure resource.\n Azure chat extensions are only compatible with Azure OpenAI."
+ }
+ },
+ "discriminator": "type",
+ "required": [
+ "type"
+ ]
+ },
+ "AzureChatExtensionDataSourceResponseCitation": {
+ "type": "object",
+ "description": "A single instance of additional context information available when Azure OpenAI chat extensions are involved\nin the generation of a corresponding chat completions response. This context information is only populated when\nusing an Azure OpenAI request configured to use a matching extension.",
+ "properties": {
+ "content": {
+ "type": "string",
+ "description": "The content of the citation."
+ },
+ "title": {
+ "type": "string",
+ "description": "The title of the citation."
+ },
+ "url": {
+ "type": "string",
+ "description": "The URL of the citation."
+ },
+ "filepath": {
+ "type": "string",
+ "description": "The file path of the citation."
+ },
+ "chunk_id": {
+ "type": "string",
+ "description": "The chunk ID of the citation."
+ }
+ },
+ "required": [
+ "content"
+ ]
+ },
+ "AzureChatExtensionType": {
+ "type": "string",
+ "description": " A representation of configuration data for a single Azure OpenAI chat extension. This will be used by a chat\n completions request that should use Azure OpenAI chat extensions to augment the response behavior.\n The use of this configuration is compatible only with Azure OpenAI.",
+ "enum": [
+ "azure_search",
+ "azure_ml_index",
+ "azure_cosmos_db",
+ "elasticsearch",
+ "pinecone"
+ ],
+ "x-ms-enum": {
+ "name": "AzureChatExtensionType",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "azureSearch",
+ "value": "azure_search",
+ "description": "Represents the use of Azure AI Search as an Azure OpenAI chat extension."
+ },
+ {
+ "name": "azureMachineLearningIndex",
+ "value": "azure_ml_index",
+ "description": "Represents the use of Azure Machine Learning index as an Azure OpenAI chat extension."
+ },
+ {
+ "name": "azureCosmosDB",
+ "value": "azure_cosmos_db",
+ "description": "Represents the use of Azure Cosmos DB as an Azure OpenAI chat extension."
+ },
+ {
+ "name": "elasticsearch",
+ "value": "elasticsearch",
+ "description": "Represents the use of Elasticsearch® index as an Azure OpenAI chat extension."
+ },
+ {
+ "name": "pinecone",
+ "value": "pinecone",
+ "description": "Represents the use of Pinecone index as an Azure OpenAI chat extension."
+ }
+ ]
+ }
+ },
+ "AzureChatExtensionsMessageContext": {
+ "type": "object",
+ "description": " A representation of the additional context information available when Azure OpenAI chat extensions are involved\n in the generation of a corresponding chat completions response. This context information is only populated when\n using an Azure OpenAI request configured to use a matching extension.",
+ "properties": {
+ "citations": {
+ "type": "array",
+ "description": " The contextual information associated with the Azure chat extensions used for a chat completions request.\n These messages describe the data source retrievals, plugin invocations, and other intermediate steps taken in the\n course of generating a chat completions response that was augmented by capabilities from Azure OpenAI chat\n extensions.",
+ "items": {
+ "$ref": "#/definitions/AzureChatExtensionDataSourceResponseCitation"
+ },
+ "x-ms-identifiers": []
+ },
+ "intent": {
+ "type": "string",
+ "description": "The detected intent from the chat history, used to pass to the next turn to carry over the context."
+ }
+ }
+ },
+ "AzureChatGroundingEnhancementConfiguration": {
+ "type": "object",
+ "description": "A representation of the available options for the Azure OpenAI grounding enhancement.",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Specifies whether the enhancement is enabled."
+ }
+ },
+ "required": [
+ "enabled"
+ ]
+ },
+ "AzureChatOCREnhancementConfiguration": {
+ "type": "object",
+ "description": "A representation of the available options for the Azure OpenAI optical character recognition (OCR) enhancement.",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Specifies whether the enhancement is enabled."
+ }
+ },
+ "required": [
+ "enabled"
+ ]
+ },
+ "AzureCosmosDBChatExtensionConfiguration": {
+ "type": "object",
+ "description": "A specific representation of configurable options for Azure Cosmos DB when using it as an Azure OpenAI chat\nextension.",
+ "properties": {
+ "parameters": {
+ "$ref": "#/definitions/AzureCosmosDBChatExtensionParameters",
+ "description": "The parameters to use when configuring Azure OpenAI CosmosDB chat extensions."
+ }
+ },
+ "required": [
+ "parameters"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureChatExtensionConfiguration"
+ }
+ ],
+ "x-ms-discriminator-value": "azure_cosmos_db"
+ },
+ "AzureCosmosDBChatExtensionParameters": {
+ "type": "object",
+ "description": "Parameters to use when configuring Azure OpenAI On Your Data chat extensions when using Azure Cosmos DB for\nMongoDB vCore. The supported authentication type is ConnectionString.",
+ "properties": {
+ "authentication": {
+ "$ref": "#/definitions/OnYourDataAuthenticationOptions",
+ "description": "The authentication method to use when accessing the defined data source.\nEach data source type supports a specific set of available authentication methods; please see the documentation of\nthe data source for supported mechanisms.\nIf not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential)\nauthentication."
+ },
+ "top_n_documents": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The configured top number of documents to feature for the configured query.",
+ "x-ms-client-name": "topNDocuments"
+ },
+ "in_scope": {
+ "type": "boolean",
+ "description": "Whether queries should be restricted to use of indexed data.",
+ "x-ms-client-name": "inScope"
+ },
+ "strictness": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer.",
+ "minimum": 1,
+ "maximum": 5
+ },
+ "role_information": {
+ "type": "string",
+ "description": "Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit.",
+ "x-ms-client-name": "roleInformation"
+ },
+ "database_name": {
+ "type": "string",
+ "description": "The MongoDB vCore database name to use with Azure Cosmos DB.",
+ "x-ms-client-name": "databaseName"
+ },
+ "container_name": {
+ "type": "string",
+ "description": "The name of the Azure Cosmos DB resource container.",
+ "x-ms-client-name": "containerName"
+ },
+ "index_name": {
+ "type": "string",
+ "description": "The MongoDB vCore index name to use with Azure Cosmos DB.",
+ "x-ms-client-name": "indexName"
+ },
+ "fields_mapping": {
+ "$ref": "#/definitions/AzureCosmosDBFieldMappingOptions",
+ "description": "Customized field mapping behavior to use when interacting with the search index.",
+ "x-ms-client-name": "fieldsMapping"
+ },
+ "embedding_dependency": {
+ "$ref": "#/definitions/OnYourDataVectorizationSource",
+ "description": "The embedding dependency for vector search.",
+ "x-ms-client-name": "embeddingDependency"
+ }
+ },
+ "required": [
+ "database_name",
+ "container_name",
+ "index_name",
+ "fields_mapping",
+ "embedding_dependency"
+ ]
+ },
+ "AzureCosmosDBFieldMappingOptions": {
+ "type": "object",
+ "description": "Optional settings to control how fields are processed when using a configured Azure Cosmos DB resource.",
+ "properties": {
+ "title_field": {
+ "type": "string",
+ "description": "The name of the index field to use as a title.",
+ "x-ms-client-name": "titleField"
+ },
+ "url_field": {
+ "type": "string",
+ "description": "The name of the index field to use as a URL.",
+ "x-ms-client-name": "urlField"
+ },
+ "filepath_field": {
+ "type": "string",
+ "description": "The name of the index field to use as a filepath.",
+ "x-ms-client-name": "filepathField"
+ },
+ "content_fields": {
+ "type": "array",
+ "description": "The names of index fields that should be treated as content.",
+ "items": {
+ "type": "string"
+ },
+ "x-ms-client-name": "contentFields"
+ },
+ "content_fields_separator": {
+ "type": "string",
+ "description": "The separator pattern that content fields should use.",
+ "x-ms-client-name": "contentFieldsSeparator"
+ },
+ "vector_fields": {
+ "type": "array",
+ "description": "The names of fields that represent vector data.",
+ "items": {
+ "type": "string"
+ },
+ "x-ms-client-name": "vectorFields"
+ }
+ },
+ "required": [
+ "content_fields",
+ "vector_fields"
+ ]
+ },
+ "AzureGroundingEnhancement": {
+ "type": "object",
+ "description": "The grounding enhancement that returns the bounding box of the objects detected in the image.",
+ "properties": {
+ "lines": {
+ "type": "array",
+ "description": "The lines of text detected by the grounding enhancement.",
+ "items": {
+ "$ref": "#/definitions/AzureGroundingEnhancementLine"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "required": [
+ "lines"
+ ]
+ },
+ "AzureGroundingEnhancementCoordinatePoint": {
+ "type": "object",
+ "description": "A representation of a single polygon point as used by the Azure grounding enhancement.",
+ "properties": {
+ "x": {
+ "type": "number",
+ "format": "float",
+ "description": "The x-coordinate (horizontal axis) of the point."
+ },
+ "y": {
+ "type": "number",
+ "format": "float",
+ "description": "The y-coordinate (vertical axis) of the point."
+ }
+ },
+ "required": [
+ "x",
+ "y"
+ ]
+ },
+ "AzureGroundingEnhancementLine": {
+ "type": "object",
+ "description": "A content line object consisting of an adjacent sequence of content elements, such as words and selection marks.",
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "The text within the line."
+ },
+ "spans": {
+ "type": "array",
+ "description": "An array of spans that represent detected objects and its bounding box information.",
+ "items": {
+ "$ref": "#/definitions/AzureGroundingEnhancementLineSpan"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "required": [
+ "text",
+ "spans"
+ ]
+ },
+ "AzureGroundingEnhancementLineSpan": {
+ "type": "object",
+ "description": "A span object that represents a detected object and its bounding box information.",
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "The text content of the span that represents the detected object."
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The character offset within the text where the span begins. This offset is defined as the position of the first\ncharacter of the span, counting from the start of the text as Unicode codepoints."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the span in characters, measured in Unicode codepoints."
+ },
+ "polygon": {
+ "type": "array",
+ "description": "An array of objects representing points in the polygon that encloses the detected object.",
+ "items": {
+ "$ref": "#/definitions/AzureGroundingEnhancementCoordinatePoint"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "required": [
+ "text",
+ "offset",
+ "length",
+ "polygon"
+ ]
+ },
+ "AzureMachineLearningIndexChatExtensionConfiguration": {
+ "type": "object",
+ "description": "A specific representation of configurable options for Azure Machine Learning vector index when using it as an Azure\nOpenAI chat extension.",
+ "properties": {
+ "parameters": {
+ "$ref": "#/definitions/AzureMachineLearningIndexChatExtensionParameters",
+ "description": "The parameters for the Azure Machine Learning vector index chat extension."
+ }
+ },
+ "required": [
+ "parameters"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureChatExtensionConfiguration"
+ }
+ ],
+ "x-ms-discriminator-value": "azure_ml_index"
+ },
+ "AzureMachineLearningIndexChatExtensionParameters": {
+ "type": "object",
+ "description": "Parameters for the Azure Machine Learning vector index chat extension. The supported authentication types are AccessToken, SystemAssignedManagedIdentity and UserAssignedManagedIdentity.",
+ "properties": {
+ "authentication": {
+ "$ref": "#/definitions/OnYourDataAuthenticationOptions",
+ "description": "The authentication method to use when accessing the defined data source.\nEach data source type supports a specific set of available authentication methods; please see the documentation of\nthe data source for supported mechanisms.\nIf not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential)\nauthentication."
+ },
+ "top_n_documents": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The configured top number of documents to feature for the configured query.",
+ "x-ms-client-name": "topNDocuments"
+ },
+ "in_scope": {
+ "type": "boolean",
+ "description": "Whether queries should be restricted to use of indexed data.",
+ "x-ms-client-name": "inScope"
+ },
+ "strictness": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer.",
+ "minimum": 1,
+ "maximum": 5
+ },
+ "role_information": {
+ "type": "string",
+ "description": "Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit.",
+ "x-ms-client-name": "roleInformation"
+ },
+ "project_resource_id": {
+ "type": "string",
+ "description": "The resource ID of the Azure Machine Learning project.",
+ "x-ms-client-name": "projectResourceId"
+ },
+ "name": {
+ "type": "string",
+ "description": "The Azure Machine Learning vector index name."
+ },
+ "version": {
+ "type": "string",
+ "description": "The version of the Azure Machine Learning vector index."
+ },
+ "filter": {
+ "type": "string",
+ "description": "Search filter. Only supported if the Azure Machine Learning vector index is of type AzureSearch."
+ }
+ },
+ "required": [
+ "project_resource_id",
+ "name",
+ "version"
+ ]
+ },
+ "AzureSearchChatExtensionConfiguration": {
+ "type": "object",
+ "description": "A specific representation of configurable options for Azure Search when using it as an Azure OpenAI chat\nextension.",
+ "properties": {
+ "parameters": {
+ "$ref": "#/definitions/AzureSearchChatExtensionParameters",
+ "description": "The parameters to use when configuring Azure Search."
+ }
+ },
+ "required": [
+ "parameters"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureChatExtensionConfiguration"
+ }
+ ],
+ "x-ms-discriminator-value": "azure_search"
+ },
+ "AzureSearchChatExtensionParameters": {
+ "type": "object",
+ "description": "Parameters for Azure Cognitive Search when used as an Azure OpenAI chat extension. The supported authentication types are APIKey, SystemAssignedManagedIdentity and UserAssignedManagedIdentity.",
+ "properties": {
+ "authentication": {
+ "$ref": "#/definitions/OnYourDataAuthenticationOptions",
+ "description": "The authentication method to use when accessing the defined data source.\nEach data source type supports a specific set of available authentication methods; please see the documentation of\nthe data source for supported mechanisms.\nIf not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential)\nauthentication."
+ },
+ "top_n_documents": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The configured top number of documents to feature for the configured query.",
+ "x-ms-client-name": "topNDocuments"
+ },
+ "in_scope": {
+ "type": "boolean",
+ "description": "Whether queries should be restricted to use of indexed data.",
+ "x-ms-client-name": "inScope"
+ },
+ "strictness": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer.",
+ "minimum": 1,
+ "maximum": 5
+ },
+ "role_information": {
+ "type": "string",
+ "description": "Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit.",
+ "x-ms-client-name": "roleInformation"
+ },
+ "endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "The absolute endpoint path for the Azure Cognitive Search resource to use."
+ },
+ "index_name": {
+ "type": "string",
+ "description": "The name of the index to use as available in the referenced Azure Cognitive Search resource.",
+ "x-ms-client-name": "indexName"
+ },
+ "fields_mapping": {
+ "$ref": "#/definitions/AzureSearchIndexFieldMappingOptions",
+ "description": "Customized field mapping behavior to use when interacting with the search index.",
+ "x-ms-client-name": "fieldsMapping"
+ },
+ "query_type": {
+ "$ref": "#/definitions/AzureSearchQueryType",
+ "description": "The query type to use with Azure Cognitive Search.",
+ "x-ms-client-name": "queryType"
+ },
+ "semantic_configuration": {
+ "type": "string",
+ "description": "The additional semantic configuration for the query.",
+ "x-ms-client-name": "semanticConfiguration"
+ },
+ "filter": {
+ "type": "string",
+ "description": "Search filter."
+ },
+ "embedding_dependency": {
+ "$ref": "#/definitions/OnYourDataVectorizationSource",
+ "description": "The embedding dependency for vector search.",
+ "x-ms-client-name": "embeddingDependency"
+ }
+ },
+ "required": [
+ "endpoint",
+ "index_name"
+ ]
+ },
+ "AzureSearchIndexFieldMappingOptions": {
+ "type": "object",
+ "description": "Optional settings to control how fields are processed when using a configured Azure Search resource.",
+ "properties": {
+ "title_field": {
+ "type": "string",
+ "description": "The name of the index field to use as a title.",
+ "x-ms-client-name": "titleField"
+ },
+ "url_field": {
+ "type": "string",
+ "description": "The name of the index field to use as a URL.",
+ "x-ms-client-name": "urlField"
+ },
+ "filepath_field": {
+ "type": "string",
+ "description": "The name of the index field to use as a filepath.",
+ "x-ms-client-name": "filepathField"
+ },
+ "content_fields": {
+ "type": "array",
+ "description": "The names of index fields that should be treated as content.",
+ "items": {
+ "type": "string"
+ },
+ "x-ms-client-name": "contentFields"
+ },
+ "content_fields_separator": {
+ "type": "string",
+ "description": "The separator pattern that content fields should use.",
+ "x-ms-client-name": "contentFieldsSeparator"
+ },
+ "vector_fields": {
+ "type": "array",
+ "description": "The names of fields that represent vector data.",
+ "items": {
+ "type": "string"
+ },
+ "x-ms-client-name": "vectorFields"
+ },
+ "image_vector_fields": {
+ "type": "array",
+ "description": "The names of fields that represent image vector data.",
+ "items": {
+ "type": "string"
+ },
+ "x-ms-client-name": "imageVectorFields"
+ }
+ }
+ },
+ "AzureSearchQueryType": {
+ "type": "string",
+ "description": "The type of Azure Search retrieval query that should be executed when using it as an Azure OpenAI chat extension.",
+ "enum": [
+ "simple",
+ "semantic",
+ "vector",
+ "vector_simple_hybrid",
+ "vector_semantic_hybrid"
+ ],
+ "x-ms-enum": {
+ "name": "AzureSearchQueryType",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "simple",
+ "value": "simple",
+ "description": "Represents the default, simple query parser."
+ },
+ {
+ "name": "semantic",
+ "value": "semantic",
+ "description": "Represents the semantic query parser for advanced semantic modeling."
+ },
+ {
+ "name": "vector",
+ "value": "vector",
+ "description": "Represents vector search over computed data."
+ },
+ {
+ "name": "vectorSimpleHybrid",
+ "value": "vector_simple_hybrid",
+ "description": "Represents a combination of the simple query strategy with vector data."
+ },
+ {
+ "name": "vectorSemanticHybrid",
+ "value": "vector_semantic_hybrid",
+ "description": "Represents a combination of semantic search and vector data querying."
+ }
+ ]
+ }
+ },
+ "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."
+ },
+ "logprobs": {
+ "type": "object",
+ "description": "The log probability information for this choice, as enabled via the 'logprobs' request option.",
+ "x-nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatChoiceLogProbabilityInfo"
+ }
+ ]
+ },
+ "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."
+ },
+ "content_filter_results": {
+ "$ref": "#/definitions/ContentFilterResultsForChoice",
+ "description": "Information about the content filtering category (hate, sexual, violence, self_harm), if it\nhas been detected, as well as the severity level (very_low, low, medium, high-scale that\ndetermines the intensity and risk level of harmful content) and if it has been filtered or not.",
+ "x-ms-client-name": "contentFilterResults"
+ },
+ "enhancements": {
+ "$ref": "#/definitions/AzureChatEnhancements",
+ "description": "Represents the output results of Azure OpenAI enhancements to chat completions, as configured via the matching input\nprovided in the request. This supplementary information is only available when using Azure OpenAI and only when the\nrequest is configured to use enhancements."
+ }
+ },
+ "required": [
+ "logprobs",
+ "index",
+ "finish_reason"
+ ]
+ },
+ "ChatChoiceLogProbabilityInfo": {
+ "type": "object",
+ "description": "Log probability information for a choice, as requested via 'logprobs' and 'top_logprobs'.",
+ "properties": {
+ "content": {
+ "type": "array",
+ "description": "The list of log probability information entries for the choice's message content tokens, as requested via the 'logprobs' option.",
+ "x-nullable": true,
+ "items": {
+ "$ref": "#/definitions/ChatTokenLogProbabilityResult"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "required": [
+ "content"
+ ]
+ },
+ "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": []
+ },
+ "prompt_filter_results": {
+ "type": "array",
+ "description": "Content filtering results for zero or more prompts in the request. In a streaming request,\nresults for different prompts may arrive at different times or in different orders.",
+ "items": {
+ "$ref": "#/definitions/ContentFilterResultsForPrompt"
+ },
+ "x-ms-client-name": "promptFilterResults",
+ "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"
+ ]
+ },
+ "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.",
+ "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": []
+ },
+ "functions": {
+ "type": "array",
+ "description": "A list of functions the model may generate JSON inputs for.",
+ "items": {
+ "$ref": "#/definitions/FunctionDefinition"
+ },
+ "x-ms-identifiers": []
+ },
+ "function_call": {
+ "description": "Controls how the model responds to function calls. \"none\" means the model does not call a function,\nand responds to the end-user. \"auto\" means the model can pick between an end-user or calling a function.\n Specifying a particular function via `{\"name\": \"my_function\"}` forces the model to call that function.\n \"none\" is the default when no functions are present. \"auto\" is the default if functions are present.",
+ "x-ms-client-name": "functionCall"
+ },
+ "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."
+ },
+ "data_sources": {
+ "type": "array",
+ "description": " The configuration entries for Azure OpenAI chat extensions that use them.\n This additional specification is only compatible with Azure OpenAI.",
+ "items": {
+ "$ref": "#/definitions/AzureChatExtensionConfiguration"
+ },
+ "x-ms-client-name": "dataSources",
+ "x-ms-identifiers": []
+ },
+ "enhancements": {
+ "$ref": "#/definitions/AzureChatEnhancementConfiguration",
+ "description": "If provided, the configuration options for available Azure OpenAI chat enhancements."
+ },
+ "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.\""
+ },
+ "logprobs": {
+ "type": "boolean",
+ "description": "Whether to return log probabilities of the output tokens or not. If true, returns the log probabilities of each output token returned in the `content` of `message`. This option is currently not available on the `gpt-4-vision-preview` model.",
+ "default": false,
+ "x-nullable": true
+ },
+ "top_logprobs": {
+ "type": "integer",
+ "format": "int32",
+ "description": "An integer between 0 and 5 specifying the number of most likely tokens to return at each token position, each with an associated log probability. `logprobs` must be set to `true` if this parameter is used.",
+ "x-nullable": true
+ },
+ "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"
+ },
+ "tools": {
+ "type": "array",
+ "description": "The available tool definitions that the chat completions request can use, including caller-defined functions.",
+ "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"
+ }
+ },
+ "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"
+ },
+ "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"
+ ]
+ },
+ "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"
+ ]
+ },
+ "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."
+ },
+ "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"
+ },
+ "function_call": {
+ "$ref": "#/definitions/FunctionCall",
+ "description": "The function call that must be resolved and have its output appended to subsequent input messages for the chat\ncompletions request to resolve as configured.",
+ "x-ms-client-name": "functionCall"
+ }
+ },
+ "required": [
+ "content"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatRequestMessage"
+ }
+ ],
+ "x-ms-discriminator-value": "assistant"
+ },
+ "ChatRequestFunctionMessage": {
+ "type": "object",
+ "description": "A request chat message representing requested output from a configured function.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the function that was called to produce output."
+ },
+ "content": {
+ "type": "string",
+ "description": "The output of the function as requested by the function call.",
+ "x-nullable": true
+ }
+ },
+ "required": [
+ "name",
+ "content"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatRequestMessage"
+ }
+ ],
+ "x-ms-discriminator-value": "function"
+ },
+ "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"
+ },
+ "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": {
+ "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
+ },
+ "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"
+ },
+ "function_call": {
+ "$ref": "#/definitions/FunctionCall",
+ "description": "The function call that must be resolved and have its output appended to subsequent input messages for the chat\ncompletions request to resolve as configured.",
+ "x-ms-client-name": "functionCall"
+ },
+ "context": {
+ "$ref": "#/definitions/AzureChatExtensionsMessageContext",
+ "description": "If Azure OpenAI chat extensions are configured, this array represents the incremental steps performed by those\nextensions while processing the chat completions request."
+ }
+ },
+ "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",
+ "function",
+ "tool"
+ ],
+ "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."
+ },
+ {
+ "name": "function",
+ "value": "function",
+ "description": "The role that provides function results for chat completions."
+ },
+ {
+ "name": "tool",
+ "value": "tool",
+ "description": "The role that represents extension tool activity within a chat completions operation."
+ }
+ ]
+ }
+ },
+ "ChatTokenLogProbabilityInfo": {
+ "type": "object",
+ "description": "A representation of the log probability information for a single message content token.",
+ "properties": {
+ "token": {
+ "type": "string",
+ "description": "The message content token."
+ },
+ "logprob": {
+ "type": "number",
+ "format": "float",
+ "description": "The log probability of the message content token."
+ },
+ "bytes": {
+ "type": "array",
+ "description": "A list of integers representing the UTF-8 bytes representation of the token. Useful in instances where characters are represented by multiple tokens and their byte representations must be combined to generate the correct text representation. Can be null if there is no bytes representation for the token.",
+ "x-nullable": true,
+ "items": {
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "required": [
+ "token",
+ "logprob",
+ "bytes"
+ ]
+ },
+ "ChatTokenLogProbabilityResult": {
+ "type": "object",
+ "description": "A representation of the log probability information for a single content token, including a list of most likely tokens if 'top_logprobs' were requested.",
+ "properties": {
+ "token": {
+ "type": "string",
+ "description": "The message content token."
+ },
+ "logprob": {
+ "type": "number",
+ "format": "float",
+ "description": "The log probability of the message content token."
+ },
+ "bytes": {
+ "type": "array",
+ "description": "A list of integers representing the UTF-8 bytes representation of the token. Useful in instances where characters are represented by multiple tokens and their byte representations must be combined to generate the correct text representation. Can be null if there is no bytes representation for the token.",
+ "x-nullable": true,
+ "items": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "top_logprobs": {
+ "type": "array",
+ "description": "The list of most likely tokens and their log probability information, as requested via 'top_logprobs'.",
+ "x-nullable": true,
+ "items": {
+ "$ref": "#/definitions/ChatTokenLogProbabilityInfo"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "required": [
+ "token",
+ "logprob",
+ "bytes",
+ "top_logprobs"
+ ]
+ },
+ "Choice": {
+ "type": "object",
+ "description": "The representation of a single prompt completion as part of an overall 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": {
+ "text": {
+ "type": "string",
+ "description": "The generated text for a given completions prompt."
+ },
+ "index": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The ordered index associated with this completions choice."
+ },
+ "content_filter_results": {
+ "$ref": "#/definitions/ContentFilterResultsForChoice",
+ "description": "Information about the content filtering category (hate, sexual, violence, self_harm), if it\nhas been detected, as well as the severity level (very_low, low, medium, high-scale that\ndetermines the intensity and risk level of harmful content) and if it has been filtered or not.",
+ "x-ms-client-name": "contentFilterResults"
+ },
+ "logprobs": {
+ "type": "object",
+ "description": "The log probabilities model for tokens associated with this completions choice.",
+ "x-nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/CompletionsLogProbabilityModel"
+ }
+ ]
+ },
+ "finish_reason": {
+ "$ref": "#/definitions/CompletionsFinishReason",
+ "description": "Reason for finishing",
+ "x-nullable": true,
+ "x-ms-client-name": "finishReason"
+ }
+ },
+ "required": [
+ "text",
+ "index",
+ "logprobs",
+ "finish_reason"
+ ]
+ },
+ "Completions": {
+ "type": "object",
+ "description": "Representation of the response data from a 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 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."
+ },
+ "prompt_filter_results": {
+ "type": "array",
+ "description": "Content filtering results for zero or more prompts in the request. In a streaming request,\nresults for different prompts may arrive at different times or in different orders.",
+ "items": {
+ "$ref": "#/definitions/ContentFilterResultsForPrompt"
+ },
+ "x-ms-client-name": "promptFilterResults",
+ "x-ms-identifiers": []
+ },
+ "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/Choice"
+ },
+ "x-ms-identifiers": []
+ },
+ "usage": {
+ "$ref": "#/definitions/CompletionsUsage",
+ "description": "Usage information for tokens processed and generated as part of this completions operation."
+ }
+ },
+ "required": [
+ "id",
+ "created",
+ "choices",
+ "usage"
+ ]
+ },
+ "CompletionsFinishReason": {
+ "type": "string",
+ "description": "Representation of the manner in which a completions response concluded.",
+ "enum": [
+ "stop",
+ "length",
+ "content_filter",
+ "function_call",
+ "tool_calls"
+ ],
+ "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."
+ },
+ {
+ "name": "functionCall",
+ "value": "function_call",
+ "description": "Completion ended normally, with the model requesting a function to be called."
+ },
+ {
+ "name": "toolCalls",
+ "value": "tool_calls",
+ "description": "Completion ended with the model calling a provided tool for output."
+ }
+ ]
+ }
+ },
+ "CompletionsLogProbabilityModel": {
+ "type": "object",
+ "description": "Representation of a log probabilities model for a completions generation.",
+ "properties": {
+ "tokens": {
+ "type": "array",
+ "description": "The textual forms of tokens evaluated in this probability model.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "token_logprobs": {
+ "type": "array",
+ "description": "A collection of log probability values for the tokens in this completions data.",
+ "items": {
+ "type": "number",
+ "format": "float",
+ "x-nullable": true
+ },
+ "x-ms-client-name": "tokenLogprobs"
+ },
+ "top_logprobs": {
+ "type": "array",
+ "description": "A mapping of tokens to maximum log probability values in this completions data.",
+ "items": {
+ "type": "object",
+ "additionalProperties": {
+ "format": "float",
+ "type": "number",
+ "x-nullable": true
+ }
+ },
+ "x-ms-client-name": "topLogprobs",
+ "x-ms-identifiers": []
+ },
+ "text_offset": {
+ "type": "array",
+ "description": "The text offsets associated with tokens in this completions data.",
+ "items": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "x-ms-client-name": "textOffset"
+ }
+ },
+ "required": [
+ "tokens",
+ "token_logprobs",
+ "top_logprobs",
+ "text_offset"
+ ]
+ },
+ "CompletionsOptions": {
+ "type": "object",
+ "description": "The configuration information for a completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.",
+ "properties": {
+ "prompt": {
+ "type": "array",
+ "description": "The prompts to generate completions from.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "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 completions choices that should be generated per provided prompt as part of an\noverall completions response.\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."
+ },
+ "logprobs": {
+ "type": "integer",
+ "format": "int32",
+ "description": "A value that controls the emission of log probabilities for the provided number of most likely\ntokens within a completions response."
+ },
+ "suffix": {
+ "type": "string",
+ "description": "The suffix that comes after a completion of inserted text"
+ },
+ "echo": {
+ "type": "boolean",
+ "description": "A value specifying whether completions responses should include input prompts as prefixes to\ntheir generated output."
+ },
+ "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"
+ },
+ "best_of": {
+ "type": "integer",
+ "format": "int32",
+ "description": "A value that controls how many completions will be internally generated prior to response\nformulation.\nWhen used together with n, best_of controls the number of candidate completions and must be\ngreater than n.\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.",
+ "x-ms-client-name": "bestOf"
+ },
+ "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."
+ }
+ },
+ "required": [
+ "prompt"
+ ]
+ },
+ "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"
+ ]
+ },
+ "ContentFilterBlocklistIdResult": {
+ "type": "object",
+ "description": "Represents the outcome of an evaluation against a custom blocklist as performed by content filtering.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of the custom blocklist evaluated."
+ },
+ "filtered": {
+ "type": "boolean",
+ "description": "A value indicating whether or not the content has been filtered."
+ }
+ },
+ "required": [
+ "id",
+ "filtered"
+ ]
+ },
+ "ContentFilterCitedDetectionResult": {
+ "type": "object",
+ "description": "Represents the outcome of a detection operation against protected resources as performed by content filtering.",
+ "properties": {
+ "filtered": {
+ "type": "boolean",
+ "description": "A value indicating whether or not the content has been filtered."
+ },
+ "detected": {
+ "type": "boolean",
+ "description": "A value indicating whether detection occurred, irrespective of severity or whether the content was filtered."
+ },
+ "URL": {
+ "type": "string",
+ "format": "uri",
+ "description": "The internet location associated with the detection.",
+ "x-ms-client-name": "url"
+ },
+ "license": {
+ "type": "string",
+ "description": "The license description associated with the detection."
+ }
+ },
+ "required": [
+ "filtered",
+ "detected",
+ "license"
+ ]
+ },
+ "ContentFilterDetectionResult": {
+ "type": "object",
+ "description": "Represents the outcome of a detection operation performed by content filtering.",
+ "properties": {
+ "filtered": {
+ "type": "boolean",
+ "description": "A value indicating whether or not the content has been filtered."
+ },
+ "detected": {
+ "type": "boolean",
+ "description": "A value indicating whether detection occurred, irrespective of severity or whether the content was filtered."
+ }
+ },
+ "required": [
+ "filtered",
+ "detected"
+ ]
+ },
+ "ContentFilterResult": {
+ "type": "object",
+ "description": "Information about filtered content severity level and if it has been filtered or not.",
+ "properties": {
+ "severity": {
+ "$ref": "#/definitions/ContentFilterSeverity",
+ "description": "Ratings for the intensity and risk level of filtered content."
+ },
+ "filtered": {
+ "type": "boolean",
+ "description": "A value indicating whether or not the content has been filtered."
+ }
+ },
+ "required": [
+ "severity",
+ "filtered"
+ ]
+ },
+ "ContentFilterResultDetailsForPrompt": {
+ "type": "object",
+ "description": "Information about content filtering evaluated against input data to Azure OpenAI.",
+ "properties": {
+ "sexual": {
+ "$ref": "#/definitions/ContentFilterResult",
+ "description": "Describes language related to anatomical organs and genitals, romantic relationships,\n acts portrayed in erotic or affectionate terms, physical sexual acts, including\n those portrayed as an assault or a forced sexual violent act against one’s will,\n prostitution, pornography, and abuse."
+ },
+ "violence": {
+ "$ref": "#/definitions/ContentFilterResult",
+ "description": "Describes language related to physical actions intended to hurt, injure, damage, or\nkill someone or something; describes weapons, etc."
+ },
+ "hate": {
+ "$ref": "#/definitions/ContentFilterResult",
+ "description": "Describes language attacks or uses that include pejorative or discriminatory language\nwith reference to a person or identity group on the basis of certain differentiating\nattributes of these groups including but not limited to race, ethnicity, nationality,\ngender identity and expression, sexual orientation, religion, immigration status, ability\nstatus, personal appearance, and body size."
+ },
+ "self_harm": {
+ "$ref": "#/definitions/ContentFilterResult",
+ "description": "Describes language related to physical actions intended to purposely hurt, injure,\nor damage one’s body, or kill oneself.",
+ "x-ms-client-name": "selfHarm"
+ },
+ "profanity": {
+ "$ref": "#/definitions/ContentFilterDetectionResult",
+ "description": "Describes whether profanity was detected."
+ },
+ "custom_blocklists": {
+ "type": "array",
+ "description": "Describes detection results against configured custom blocklists.",
+ "items": {
+ "$ref": "#/definitions/ContentFilterBlocklistIdResult"
+ },
+ "x-ms-client-name": "customBlocklists"
+ },
+ "error": {
+ "$ref": "#/definitions/Azure.Core.Foundations.Error",
+ "description": "Describes an error returned if the content filtering system is\ndown or otherwise unable to complete the operation in time."
+ },
+ "jailbreak": {
+ "$ref": "#/definitions/ContentFilterDetectionResult",
+ "description": "Whether a jailbreak attempt was detected in the prompt."
+ }
+ }
+ },
+ "ContentFilterResultsForChoice": {
+ "type": "object",
+ "description": "Information about content filtering evaluated against generated model output.",
+ "properties": {
+ "sexual": {
+ "$ref": "#/definitions/ContentFilterResult",
+ "description": "Describes language related to anatomical organs and genitals, romantic relationships,\n acts portrayed in erotic or affectionate terms, physical sexual acts, including\n those portrayed as an assault or a forced sexual violent act against one’s will,\n prostitution, pornography, and abuse."
+ },
+ "violence": {
+ "$ref": "#/definitions/ContentFilterResult",
+ "description": "Describes language related to physical actions intended to hurt, injure, damage, or\nkill someone or something; describes weapons, etc."
+ },
+ "hate": {
+ "$ref": "#/definitions/ContentFilterResult",
+ "description": "Describes language attacks or uses that include pejorative or discriminatory language\nwith reference to a person or identity group on the basis of certain differentiating\nattributes of these groups including but not limited to race, ethnicity, nationality,\ngender identity and expression, sexual orientation, religion, immigration status, ability\nstatus, personal appearance, and body size."
+ },
+ "self_harm": {
+ "$ref": "#/definitions/ContentFilterResult",
+ "description": "Describes language related to physical actions intended to purposely hurt, injure,\nor damage one’s body, or kill oneself.",
+ "x-ms-client-name": "selfHarm"
+ },
+ "profanity": {
+ "$ref": "#/definitions/ContentFilterDetectionResult",
+ "description": "Describes whether profanity was detected."
+ },
+ "custom_blocklists": {
+ "type": "array",
+ "description": "Describes detection results against configured custom blocklists.",
+ "items": {
+ "$ref": "#/definitions/ContentFilterBlocklistIdResult"
+ },
+ "x-ms-client-name": "customBlocklists"
+ },
+ "error": {
+ "$ref": "#/definitions/Azure.Core.Foundations.Error",
+ "description": "Describes an error returned if the content filtering system is\ndown or otherwise unable to complete the operation in time."
+ },
+ "protected_material_text": {
+ "$ref": "#/definitions/ContentFilterDetectionResult",
+ "description": "Information about detection of protected text material.",
+ "x-ms-client-name": "protectedMaterialText"
+ },
+ "protected_material_code": {
+ "$ref": "#/definitions/ContentFilterCitedDetectionResult",
+ "description": "Information about detection of protected code material.",
+ "x-ms-client-name": "protectedMaterialCode"
+ }
+ }
+ },
+ "ContentFilterResultsForPrompt": {
+ "type": "object",
+ "description": "Content filtering results for a single prompt in the request.",
+ "properties": {
+ "prompt_index": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The index of this prompt in the set of prompt results",
+ "x-ms-client-name": "promptIndex"
+ },
+ "content_filter_results": {
+ "$ref": "#/definitions/ContentFilterResultDetailsForPrompt",
+ "description": "Content filtering results for this prompt",
+ "x-ms-client-name": "contentFilterResults"
+ }
+ },
+ "required": [
+ "prompt_index",
+ "content_filter_results"
+ ]
+ },
+ "ContentFilterSeverity": {
+ "type": "string",
+ "description": "Ratings for the intensity and risk level of harmful content.",
+ "enum": [
+ "safe",
+ "low",
+ "medium",
+ "high"
+ ],
+ "x-ms-enum": {
+ "name": "ContentFilterSeverity",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "safe",
+ "value": "safe",
+ "description": "Content may be related to violence, self-harm, sexual, or hate categories but the terms\nare used in general, journalistic, scientific, medical, and similar professional contexts,\nwhich are appropriate for most audiences."
+ },
+ {
+ "name": "low",
+ "value": "low",
+ "description": "Content that expresses prejudiced, judgmental, or opinionated views, includes offensive\nuse of language, stereotyping, use cases exploring a fictional world (for example, gaming,\nliterature) and depictions at low intensity."
+ },
+ {
+ "name": "medium",
+ "value": "medium",
+ "description": "Content that uses offensive, insulting, mocking, intimidating, or demeaning language\ntowards specific identity groups, includes depictions of seeking and executing harmful\ninstructions, fantasies, glorification, promotion of harm at medium intensity."
+ },
+ {
+ "name": "high",
+ "value": "high",
+ "description": "Content that displays explicit and severe harmful instructions, actions,\ndamage, or abuse; includes endorsement, glorification, or promotion of severe\nharmful acts, extreme or illegal forms of harm, radicalization, or non-consensual\npower exchange or abuse."
+ }
+ ]
+ }
+ },
+ "ElasticsearchChatExtensionConfiguration": {
+ "type": "object",
+ "description": "A specific representation of configurable options for Elasticsearch when using it as an Azure OpenAI chat\nextension.",
+ "properties": {
+ "parameters": {
+ "$ref": "#/definitions/ElasticsearchChatExtensionParameters",
+ "description": "The parameters to use when configuring Elasticsearch®."
+ }
+ },
+ "required": [
+ "parameters"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureChatExtensionConfiguration"
+ }
+ ],
+ "x-ms-discriminator-value": "elasticsearch"
+ },
+ "ElasticsearchChatExtensionParameters": {
+ "type": "object",
+ "description": "Parameters to use when configuring Elasticsearch® as an Azure OpenAI chat extension. The supported authentication types are KeyAndKeyId and EncodedAPIKey.",
+ "properties": {
+ "authentication": {
+ "$ref": "#/definitions/OnYourDataAuthenticationOptions",
+ "description": "The authentication method to use when accessing the defined data source.\nEach data source type supports a specific set of available authentication methods; please see the documentation of\nthe data source for supported mechanisms.\nIf not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential)\nauthentication."
+ },
+ "top_n_documents": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The configured top number of documents to feature for the configured query.",
+ "x-ms-client-name": "topNDocuments"
+ },
+ "in_scope": {
+ "type": "boolean",
+ "description": "Whether queries should be restricted to use of indexed data.",
+ "x-ms-client-name": "inScope"
+ },
+ "strictness": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer.",
+ "minimum": 1,
+ "maximum": 5
+ },
+ "role_information": {
+ "type": "string",
+ "description": "Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit.",
+ "x-ms-client-name": "roleInformation"
+ },
+ "endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "The endpoint of Elasticsearch®."
+ },
+ "index_name": {
+ "type": "string",
+ "description": "The index name of Elasticsearch®.",
+ "x-ms-client-name": "indexName"
+ },
+ "fields_mapping": {
+ "$ref": "#/definitions/ElasticsearchIndexFieldMappingOptions",
+ "description": "The index field mapping options of Elasticsearch®.",
+ "x-ms-client-name": "fieldsMapping"
+ },
+ "query_type": {
+ "$ref": "#/definitions/ElasticsearchQueryType",
+ "description": "The query type of Elasticsearch®.",
+ "x-ms-client-name": "queryType"
+ },
+ "embedding_dependency": {
+ "$ref": "#/definitions/OnYourDataVectorizationSource",
+ "description": "The embedding dependency for vector search.",
+ "x-ms-client-name": "embeddingDependency"
+ }
+ },
+ "required": [
+ "endpoint",
+ "index_name"
+ ]
+ },
+ "ElasticsearchIndexFieldMappingOptions": {
+ "type": "object",
+ "description": "Optional settings to control how fields are processed when using a configured Elasticsearch® resource.",
+ "properties": {
+ "title_field": {
+ "type": "string",
+ "description": "The name of the index field to use as a title.",
+ "x-ms-client-name": "titleField"
+ },
+ "url_field": {
+ "type": "string",
+ "description": "The name of the index field to use as a URL.",
+ "x-ms-client-name": "urlField"
+ },
+ "filepath_field": {
+ "type": "string",
+ "description": "The name of the index field to use as a filepath.",
+ "x-ms-client-name": "filepathField"
+ },
+ "content_fields": {
+ "type": "array",
+ "description": "The names of index fields that should be treated as content.",
+ "items": {
+ "type": "string"
+ },
+ "x-ms-client-name": "contentFields"
+ },
+ "content_fields_separator": {
+ "type": "string",
+ "description": "The separator pattern that content fields should use.",
+ "x-ms-client-name": "contentFieldsSeparator"
+ },
+ "vector_fields": {
+ "type": "array",
+ "description": "The names of fields that represent vector data.",
+ "items": {
+ "type": "string"
+ },
+ "x-ms-client-name": "vectorFields"
+ }
+ }
+ },
+ "ElasticsearchQueryType": {
+ "type": "string",
+ "description": "The type of Elasticsearch® retrieval query that should be executed when using it as an Azure OpenAI chat extension.",
+ "enum": [
+ "simple",
+ "vector"
+ ],
+ "x-ms-enum": {
+ "name": "ElasticsearchQueryType",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "simple",
+ "value": "simple",
+ "description": "Represents the default, simple query parser."
+ },
+ {
+ "name": "vector",
+ "value": "vector",
+ "description": "Represents vector search over computed data."
+ }
+ ]
+ }
+ },
+ "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": {
+ "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."
+ },
+ "model": {
+ "type": "string",
+ "description": "The model name to provide as part of this embeddings request.\nNot applicable to Azure OpenAI, where deployment information should be included in the Azure\nresource URI that's connected to."
+ },
+ "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"
+ }
+ },
+ "input_type": {
+ "type": "string",
+ "description": "When using Azure OpenAI, specifies the input type to use for embedding search.",
+ "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.",
+ "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"
+ ]
+ },
+ "ImageGenerationContentFilterResults": {
+ "type": "object",
+ "description": "Describes the content filtering result for the image generation request.",
+ "properties": {
+ "sexual": {
+ "$ref": "#/definitions/ContentFilterResult",
+ "description": "Describes language related to anatomical organs and genitals, romantic relationships,\n acts portrayed in erotic or affectionate terms, physical sexual acts, including\n those portrayed as an assault or a forced sexual violent act against one’s will,\n prostitution, pornography, and abuse."
+ },
+ "violence": {
+ "$ref": "#/definitions/ContentFilterResult",
+ "description": "Describes language related to physical actions intended to hurt, injure, damage, or\nkill someone or something; describes weapons, etc."
+ },
+ "hate": {
+ "$ref": "#/definitions/ContentFilterResult",
+ "description": "Describes language attacks or uses that include pejorative or discriminatory language\nwith reference to a person or identity group on the basis of certain differentiating\nattributes of these groups including but not limited to race, ethnicity, nationality,\ngender identity and expression, sexual orientation, religion, immigration status, ability\nstatus, personal appearance, and body size."
+ },
+ "self_harm": {
+ "$ref": "#/definitions/ContentFilterResult",
+ "description": "Describes language related to physical actions intended to purposely hurt, injure,\nor damage one’s body, or kill oneself.",
+ "x-ms-client-name": "selfHarm"
+ }
+ }
+ },
+ "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.",
+ "x-ms-client-name": "base64Data"
+ },
+ "content_filter_results": {
+ "$ref": "#/definitions/ImageGenerationContentFilterResults",
+ "description": "Information about the content filtering results.",
+ "x-ms-client-name": "contentFilterResults"
+ },
+ "revised_prompt": {
+ "type": "string",
+ "description": "The final prompt used by the model to generate the image.\nOnly provided with dall-3-models and only when revisions were made to the prompt.",
+ "x-ms-client-name": "revisedPrompt"
+ },
+ "prompt_filter_results": {
+ "$ref": "#/definitions/ImageGenerationPromptFilterResults",
+ "description": "Information about the content filtering category (hate, sexual, violence, self_harm), if\nit has been detected, as well as the severity level (very_low, low, medium, high-scale\nthat determines the intensity and risk level of harmful content) and if it has been\nfiltered or not. Information about jailbreak content and profanity, if it has been detected,\nand if it has been filtered or not. And information about customer block list, if it has\nbeen filtered and its id.",
+ "x-ms-client-name": "promptFilterResults"
+ }
+ }
+ },
+ "ImageGenerationOptions": {
+ "type": "object",
+ "description": "Represents the request data used to generate images.",
+ "properties": {
+ "model": {
+ "type": "string",
+ "description": "The model name or Azure OpenAI model deployment name to use for image generation. If not specified, dall-e-2 will be\ninferred as a default."
+ },
+ "prompt": {
+ "type": "string",
+ "description": "A description of the desired images."
+ },
+ "n": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of images to generate.\nDall-e-2 models support values between 1 and 10.\nDall-e-3 models only support a value of 1.",
+ "default": 1
+ },
+ "size": {
+ "type": "string",
+ "description": "The desired dimensions for generated images.\nDall-e-2 models support 256x256, 512x512, or 1024x1024.\nDall-e-3 models support 1024x1024, 1792x1024, or 1024x1792.",
+ "default": "1024x1024",
+ "enum": [
+ "256x256",
+ "512x512",
+ "1024x1024",
+ "1792x1024",
+ "1024x1792"
+ ],
+ "x-ms-enum": {
+ "name": "ImageSize",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "size256x256",
+ "value": "256x256",
+ "description": "Very small image size of 256x256 pixels.\nOnly supported with dall-e-2 models."
+ },
+ {
+ "name": "size512x512",
+ "value": "512x512",
+ "description": "A smaller image size of 512x512 pixels.\nOnly supported with dall-e-2 models."
+ },
+ {
+ "name": "size1024x1024",
+ "value": "1024x1024",
+ "description": "A standard, square image size of 1024x1024 pixels.\nSupported by both dall-e-2 and dall-e-3 models."
+ },
+ {
+ "name": "size1792x1024",
+ "value": "1792x1024",
+ "description": "A wider image size of 1024x1792 pixels.\nOnly supported with dall-e-3 models."
+ },
+ {
+ "name": "size1024x1792",
+ "value": "1024x1792",
+ "description": "A taller image size of 1792x1024 pixels.\nOnly supported with dall-e-3 models."
+ }
+ ]
+ }
+ },
+ "response_format": {
+ "type": "string",
+ "description": "The format in which image generation response items should be presented.",
+ "default": "url",
+ "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."
+ }
+ ]
+ },
+ "x-ms-client-name": "responseFormat"
+ },
+ "quality": {
+ "type": "string",
+ "description": "The desired image generation quality level to use.\nOnly configurable with dall-e-3 models.",
+ "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."
+ }
+ ]
+ }
+ },
+ "style": {
+ "type": "string",
+ "description": "The desired image generation style to use.\nOnly configurable with dall-e-3 models.",
+ "default": "vivid",
+ "enum": [
+ "natural",
+ "vivid"
+ ],
+ "x-ms-enum": {
+ "name": "ImageGenerationStyle",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "natural",
+ "value": "natural",
+ "description": "Requests image generation in a natural style with less preference for dramatic and hyper-realistic characteristics."
+ },
+ {
+ "name": "vivid",
+ "value": "vivid",
+ "description": "Requests image generation in a vivid style with a higher preference for dramatic and hyper-realistic\ncharacteristics."
+ }
+ ]
+ }
+ },
+ "user": {
+ "type": "string",
+ "description": "A unique identifier representing your end-user, which can help to monitor and detect abuse."
+ }
+ },
+ "required": [
+ "prompt"
+ ]
+ },
+ "ImageGenerationPromptFilterResults": {
+ "type": "object",
+ "description": "Describes the content filtering results for the prompt of a image generation request.",
+ "properties": {
+ "sexual": {
+ "$ref": "#/definitions/ContentFilterResult",
+ "description": "Describes language related to anatomical organs and genitals, romantic relationships,\n acts portrayed in erotic or affectionate terms, physical sexual acts, including\n those portrayed as an assault or a forced sexual violent act against one’s will,\n prostitution, pornography, and abuse."
+ },
+ "violence": {
+ "$ref": "#/definitions/ContentFilterResult",
+ "description": "Describes language related to physical actions intended to hurt, injure, damage, or\nkill someone or something; describes weapons, etc."
+ },
+ "hate": {
+ "$ref": "#/definitions/ContentFilterResult",
+ "description": "Describes language attacks or uses that include pejorative or discriminatory language\nwith reference to a person or identity group on the basis of certain differentiating\nattributes of these groups including but not limited to race, ethnicity, nationality,\ngender identity and expression, sexual orientation, religion, immigration status, ability\nstatus, personal appearance, and body size."
+ },
+ "self_harm": {
+ "$ref": "#/definitions/ContentFilterResult",
+ "description": "Describes language related to physical actions intended to purposely hurt, injure,\nor damage one’s body, or kill oneself.",
+ "x-ms-client-name": "selfHarm"
+ },
+ "profanity": {
+ "$ref": "#/definitions/ContentFilterDetectionResult",
+ "description": "Describes whether profanity was detected."
+ },
+ "jailbreak": {
+ "$ref": "#/definitions/ContentFilterDetectionResult",
+ "description": "Whether a jailbreak attempt was detected in the prompt."
+ }
+ }
+ },
+ "ImageGenerations": {
+ "type": "object",
+ "description": "The result of a successful image generation operation.",
+ "properties": {
+ "created": {
+ "type": "integer",
+ "format": "unixtime",
+ "description": "A timestamp representing when this operation was started.\nExpressed in seconds since the Unix epoch of 1970-01-01T00:00:00+0000."
+ },
+ "data": {
+ "type": "array",
+ "description": "The images generated by the operation.",
+ "items": {
+ "$ref": "#/definitions/ImageGenerationData"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "required": [
+ "created",
+ "data"
+ ]
+ },
+ "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"
+ },
+ "OnYourDataAccessTokenAuthenticationOptions": {
+ "type": "object",
+ "description": "The authentication options for Azure OpenAI On Your Data when using access token.",
+ "properties": {
+ "access_token": {
+ "type": "string",
+ "description": "The access token to use for authentication.",
+ "x-ms-client-name": "accessToken"
+ }
+ },
+ "required": [
+ "access_token"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/OnYourDataAuthenticationOptions"
+ }
+ ],
+ "x-ms-discriminator-value": "access_token"
+ },
+ "OnYourDataApiKeyAuthenticationOptions": {
+ "type": "object",
+ "description": "The authentication options for Azure OpenAI On Your Data when using an API key.",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "The API key to use for authentication."
+ }
+ },
+ "required": [
+ "key"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/OnYourDataAuthenticationOptions"
+ }
+ ],
+ "x-ms-discriminator-value": "api_key"
+ },
+ "OnYourDataAuthenticationOptions": {
+ "type": "object",
+ "description": "The authentication options for Azure OpenAI On Your Data.",
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/OnYourDataAuthenticationType",
+ "description": "The authentication type."
+ }
+ },
+ "discriminator": "type",
+ "required": [
+ "type"
+ ]
+ },
+ "OnYourDataAuthenticationType": {
+ "type": "string",
+ "description": "The authentication types supported with Azure OpenAI On Your Data.",
+ "enum": [
+ "api_key",
+ "connection_string",
+ "key_and_key_id",
+ "encoded_api_key",
+ "access_token",
+ "system_assigned_managed_identity",
+ "user_assigned_managed_identity"
+ ],
+ "x-ms-enum": {
+ "name": "OnYourDataAuthenticationType",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "apiKey",
+ "value": "api_key",
+ "description": "Authentication via API key."
+ },
+ {
+ "name": "connectionString",
+ "value": "connection_string",
+ "description": "Authentication via connection string."
+ },
+ {
+ "name": "keyAndKeyId",
+ "value": "key_and_key_id",
+ "description": "Authentication via key and key ID pair."
+ },
+ {
+ "name": "encodedApiKey",
+ "value": "encoded_api_key",
+ "description": "Authentication via encoded API key."
+ },
+ {
+ "name": "accessToken",
+ "value": "access_token",
+ "description": "Authentication via access token."
+ },
+ {
+ "name": "systemAssignedManagedIdentity",
+ "value": "system_assigned_managed_identity",
+ "description": "Authentication via system-assigned managed identity."
+ },
+ {
+ "name": "userAssignedManagedIdentity",
+ "value": "user_assigned_managed_identity",
+ "description": "Authentication via user-assigned managed identity."
+ }
+ ]
+ }
+ },
+ "OnYourDataConnectionStringAuthenticationOptions": {
+ "type": "object",
+ "description": "The authentication options for Azure OpenAI On Your Data when using a connection string.",
+ "properties": {
+ "connection_string": {
+ "type": "string",
+ "description": "The connection string to use for authentication.",
+ "x-ms-client-name": "connectionString"
+ }
+ },
+ "required": [
+ "connection_string"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/OnYourDataAuthenticationOptions"
+ }
+ ],
+ "x-ms-discriminator-value": "connection_string"
+ },
+ "OnYourDataDeploymentNameVectorizationSource": {
+ "type": "object",
+ "description": "The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based\non an internal embeddings model deployment name in the same Azure OpenAI resource.",
+ "properties": {
+ "deployment_name": {
+ "type": "string",
+ "description": "The embedding model deployment name within the same Azure OpenAI resource. This enables you to use vector search without Azure OpenAI api-key and without Azure OpenAI public network access.",
+ "x-ms-client-name": "deploymentName"
+ }
+ },
+ "required": [
+ "deployment_name"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/OnYourDataVectorizationSource"
+ }
+ ],
+ "x-ms-discriminator-value": "deployment_name"
+ },
+ "OnYourDataEncodedApiKeyAuthenticationOptions": {
+ "type": "object",
+ "description": "The authentication options for Azure OpenAI On Your Data when using an Elasticsearch encoded API key.",
+ "properties": {
+ "encoded_api_key": {
+ "type": "string",
+ "description": "The encoded API key to use for authentication.",
+ "x-ms-client-name": "encodedApiKey"
+ }
+ },
+ "required": [
+ "encoded_api_key"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/OnYourDataAuthenticationOptions"
+ }
+ ],
+ "x-ms-discriminator-value": "encoded_api_key"
+ },
+ "OnYourDataEndpointVectorizationSource": {
+ "type": "object",
+ "description": "The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based\non a public Azure OpenAI endpoint call for embeddings.",
+ "properties": {
+ "endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Specifies the resource endpoint URL from which embeddings should be retrieved. It should be in the format of https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings. The api-version query parameter is not allowed."
+ },
+ "authentication": {
+ "$ref": "#/definitions/OnYourDataAuthenticationOptions",
+ "description": "Specifies the authentication options to use when retrieving embeddings from the specified endpoint."
+ }
+ },
+ "required": [
+ "endpoint",
+ "authentication"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/OnYourDataVectorizationSource"
+ }
+ ],
+ "x-ms-discriminator-value": "endpoint"
+ },
+ "OnYourDataKeyAndKeyIdAuthenticationOptions": {
+ "type": "object",
+ "description": "The authentication options for Azure OpenAI On Your Data when using an Elasticsearch key and key ID pair.",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "The key to use for authentication."
+ },
+ "key_id": {
+ "type": "string",
+ "description": "The key ID to use for authentication.",
+ "x-ms-client-name": "keyId"
+ }
+ },
+ "required": [
+ "key",
+ "key_id"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/OnYourDataAuthenticationOptions"
+ }
+ ],
+ "x-ms-discriminator-value": "key_and_key_id"
+ },
+ "OnYourDataModelIdVectorizationSource": {
+ "type": "object",
+ "description": "The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based\non a search service model ID. Currently only supported by Elasticsearch®.",
+ "properties": {
+ "model_id": {
+ "type": "string",
+ "description": "The embedding model ID build inside the search service. Currently only supported by Elasticsearch®.",
+ "x-ms-client-name": "modelId"
+ }
+ },
+ "required": [
+ "model_id"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/OnYourDataVectorizationSource"
+ }
+ ],
+ "x-ms-discriminator-value": "model_id"
+ },
+ "OnYourDataSystemAssignedManagedIdentityAuthenticationOptions": {
+ "type": "object",
+ "description": "The authentication options for Azure OpenAI On Your Data when using a system-assigned managed identity.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OnYourDataAuthenticationOptions"
+ }
+ ],
+ "x-ms-discriminator-value": "system_assigned_managed_identity"
+ },
+ "OnYourDataUserAssignedManagedIdentityAuthenticationOptions": {
+ "type": "object",
+ "description": "The authentication options for Azure OpenAI On Your Data when using a user-assigned managed identity.",
+ "properties": {
+ "managed_identity_resource_id": {
+ "type": "string",
+ "description": "The resource ID of the user-assigned managed identity to use for authentication.",
+ "x-ms-client-name": "managedIdentityResourceId"
+ }
+ },
+ "required": [
+ "managed_identity_resource_id"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/OnYourDataAuthenticationOptions"
+ }
+ ],
+ "x-ms-discriminator-value": "user_assigned_managed_identity"
+ },
+ "OnYourDataVectorizationSource": {
+ "type": "object",
+ "description": "An abstract representation of a vectorization source for Azure OpenAI On Your Data with vector search.",
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/OnYourDataVectorizationSourceType",
+ "description": "The type of vectorization source to use."
+ }
+ },
+ "discriminator": "type",
+ "required": [
+ "type"
+ ]
+ },
+ "OnYourDataVectorizationSourceType": {
+ "type": "string",
+ "description": "Represents the available sources Azure OpenAI On Your Data can use to configure vectorization of data for use with\nvector search.",
+ "enum": [
+ "endpoint",
+ "deployment_name",
+ "model_id"
+ ],
+ "x-ms-enum": {
+ "name": "OnYourDataVectorizationSourceType",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "endpoint",
+ "value": "endpoint",
+ "description": "Represents vectorization performed by public service calls to an Azure OpenAI embedding model."
+ },
+ {
+ "name": "deploymentName",
+ "value": "deployment_name",
+ "description": "Represents an Ada model deployment name to use. This model deployment must be in the same Azure OpenAI resource, but\nOn Your Data will use this model deployment via an internal call rather than a public one, which enables vector\nsearch even in private networks."
+ },
+ {
+ "name": "modelId",
+ "value": "model_id",
+ "description": "Represents a specific embedding model ID as defined in the search service.\nCurrently only supported by Elasticsearch®."
+ }
+ ]
+ }
+ },
+ "PineconeChatExtensionConfiguration": {
+ "type": "object",
+ "description": "A specific representation of configurable options for Pinecone when using it as an Azure OpenAI chat\nextension.",
+ "properties": {
+ "parameters": {
+ "$ref": "#/definitions/PineconeChatExtensionParameters",
+ "description": "The parameters to use when configuring Azure OpenAI chat extensions."
+ }
+ },
+ "required": [
+ "parameters"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureChatExtensionConfiguration"
+ }
+ ],
+ "x-ms-discriminator-value": "pinecone"
+ },
+ "PineconeChatExtensionParameters": {
+ "type": "object",
+ "description": "Parameters for configuring Azure OpenAI Pinecone chat extensions. The supported authentication type is APIKey.",
+ "properties": {
+ "authentication": {
+ "$ref": "#/definitions/OnYourDataAuthenticationOptions",
+ "description": "The authentication method to use when accessing the defined data source.\nEach data source type supports a specific set of available authentication methods; please see the documentation of\nthe data source for supported mechanisms.\nIf not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential)\nauthentication."
+ },
+ "top_n_documents": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The configured top number of documents to feature for the configured query.",
+ "x-ms-client-name": "topNDocuments"
+ },
+ "in_scope": {
+ "type": "boolean",
+ "description": "Whether queries should be restricted to use of indexed data.",
+ "x-ms-client-name": "inScope"
+ },
+ "strictness": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer.",
+ "minimum": 1,
+ "maximum": 5
+ },
+ "role_information": {
+ "type": "string",
+ "description": "Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit.",
+ "x-ms-client-name": "roleInformation"
+ },
+ "environment": {
+ "type": "string",
+ "description": "The environment name of Pinecone."
+ },
+ "index_name": {
+ "type": "string",
+ "description": "The name of the Pinecone database index.",
+ "x-ms-client-name": "indexName"
+ },
+ "fields_mapping": {
+ "$ref": "#/definitions/PineconeFieldMappingOptions",
+ "description": "Customized field mapping behavior to use when interacting with the search index.",
+ "x-ms-client-name": "fieldsMapping"
+ },
+ "embedding_dependency": {
+ "$ref": "#/definitions/OnYourDataVectorizationSource",
+ "description": "The embedding dependency for vector search.",
+ "x-ms-client-name": "embeddingDependency"
+ }
+ },
+ "required": [
+ "environment",
+ "index_name",
+ "fields_mapping",
+ "embedding_dependency"
+ ]
+ },
+ "PineconeFieldMappingOptions": {
+ "type": "object",
+ "description": "Optional settings to control how fields are processed when using a configured Pinecone resource.",
+ "properties": {
+ "title_field": {
+ "type": "string",
+ "description": "The name of the index field to use as a title.",
+ "x-ms-client-name": "titleField"
+ },
+ "url_field": {
+ "type": "string",
+ "description": "The name of the index field to use as a URL.",
+ "x-ms-client-name": "urlField"
+ },
+ "filepath_field": {
+ "type": "string",
+ "description": "The name of the index field to use as a filepath.",
+ "x-ms-client-name": "filepathField"
+ },
+ "content_fields": {
+ "type": "array",
+ "description": "The names of index fields that should be treated as content.",
+ "items": {
+ "type": "string"
+ },
+ "x-ms-client-name": "contentFields"
+ },
+ "content_fields_separator": {
+ "type": "string",
+ "description": "The separator pattern that content fields should use.",
+ "x-ms-client-name": "contentFieldsSeparator"
+ }
+ },
+ "required": [
+ "content_fields"
+ ]
+ },
+ "SpeechGenerationOptions": {
+ "type": "object",
+ "description": "A representation of the request options that control the behavior of a text-to-speech operation.",
+ "properties": {
+ "input": {
+ "type": "string",
+ "description": "The text to generate audio for. The maximum length is 4096 characters.",
+ "maxLength": 4096
+ },
+ "voice": {
+ "$ref": "#/definitions/SpeechVoice",
+ "description": "The voice to use for text-to-speech."
+ },
+ "response_format": {
+ "type": "string",
+ "description": "The audio output format for the spoken text. By default, the MP3 format will be used.",
+ "default": "mp3",
+ "enum": [
+ "mp3",
+ "opus",
+ "aac",
+ "flac"
+ ],
+ "x-ms-enum": {
+ "name": "SpeechGenerationResponseFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "mp3",
+ "value": "mp3",
+ "description": "Use MP3 as the audio output format. MP3 is the default, general-purpose format."
+ },
+ {
+ "name": "opus",
+ "value": "opus",
+ "description": "Use Opus as the audio output format. Opus is optimized for internet streaming and low latency."
+ },
+ {
+ "name": "aac",
+ "value": "aac",
+ "description": "Use AAC as the audio output format. AAC is optimized for digital audio compression and is preferred by YouTube, Android, and iOS."
+ },
+ {
+ "name": "flac",
+ "value": "flac",
+ "description": "Use FLAC as the audio output format. FLAC is a fully lossless format optimized for maximum quality at the expense of size."
+ }
+ ]
+ },
+ "x-ms-client-name": "responseFormat"
+ },
+ "speed": {
+ "type": "number",
+ "format": "float",
+ "description": "The speed of speech for generated audio. Values are valid in the range from 0.25 to 4.0, with 1.0 the default and higher values corresponding to faster speech.",
+ "default": 1,
+ "minimum": 0.25,
+ "maximum": 4
+ },
+ "model": {
+ "type": "string",
+ "description": "The model to use for this text-to-speech request."
+ }
+ },
+ "required": [
+ "input",
+ "voice"
+ ]
+ },
+ "SpeechVoice": {
+ "type": "string",
+ "description": "The available voices for text-to-speech.",
+ "enum": [
+ "alloy",
+ "echo",
+ "fable",
+ "onyx",
+ "nova",
+ "shimmer"
+ ],
+ "x-ms-enum": {
+ "name": "SpeechVoice",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "alloy",
+ "value": "alloy",
+ "description": "The Alloy voice."
+ },
+ {
+ "name": "echo",
+ "value": "echo",
+ "description": "The Echo voice."
+ },
+ {
+ "name": "fable",
+ "value": "fable",
+ "description": "The Fable voice."
+ },
+ {
+ "name": "onyx",
+ "value": "onyx",
+ "description": "The Onyx voice."
+ },
+ {
+ "name": "nova",
+ "value": "nova",
+ "description": "The Nova voice."
+ },
+ {
+ "name": "shimmer",
+ "value": "shimmer",
+ "description": "The Shimmer voice."
+ }
+ ]
+ }
+ },
+ "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"
+ }
+ },
+ "parameters": {
+ "AudioTranscriptionOptions.file": {
+ "name": "file",
+ "in": "formData",
+ "description": "The audio data to transcribe. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.",
+ "required": true,
+ "type": "file",
+ "x-ms-parameter-location": "method"
+ },
+ "AudioTranscriptionOptions.filename": {
+ "name": "filename",
+ "in": "formData",
+ "description": "The optional filename or descriptive identifier to associate with with the audio data.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AudioTranscriptionOptions.language": {
+ "name": "language",
+ "in": "formData",
+ "description": "The primary spoken language of the audio data to be transcribed, supplied as a two-letter ISO-639-1 language code\nsuch as 'en' or 'fr'.\nProviding this known input language is optional but may improve the accuracy and/or latency of transcription.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AudioTranscriptionOptions.model": {
+ "name": "model",
+ "in": "formData",
+ "description": "The model to use for this transcription request.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AudioTranscriptionOptions.prompt": {
+ "name": "prompt",
+ "in": "formData",
+ "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AudioTranscriptionOptions.responseFormat": {
+ "name": "response_format",
+ "in": "formData",
+ "description": "The requested format of the transcription response data, which will influence the content and detail of the result.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "json",
+ "verbose_json",
+ "text",
+ "srt",
+ "vtt"
+ ],
+ "x-ms-enum": {
+ "name": "AudioTranscriptionFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "json",
+ "value": "json",
+ "description": "Use a response body that is a JSON object containing a single 'text' field for the transcription."
+ },
+ {
+ "name": "verbose_json",
+ "value": "verbose_json",
+ "description": "Use a response body that is a JSON object containing transcription text along with timing, segments, and other\nmetadata."
+ },
+ {
+ "name": "text",
+ "value": "text",
+ "description": "Use a response body that is plain text containing the raw, unannotated transcription."
+ },
+ {
+ "name": "srt",
+ "value": "srt",
+ "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information."
+ },
+ {
+ "name": "vtt",
+ "value": "vtt",
+ "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information."
+ }
+ ]
+ },
+ "x-ms-parameter-location": "method",
+ "x-ms-client-name": "responseFormat"
+ },
+ "AudioTranscriptionOptions.temperature": {
+ "name": "temperature",
+ "in": "formData",
+ "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.",
+ "required": false,
+ "type": "number",
+ "format": "float",
+ "x-ms-parameter-location": "method"
+ },
+ "AudioTranslationOptions.file": {
+ "name": "file",
+ "in": "formData",
+ "description": "The audio data to translate. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.",
+ "required": true,
+ "type": "file",
+ "x-ms-parameter-location": "method"
+ },
+ "AudioTranslationOptions.filename": {
+ "name": "filename",
+ "in": "formData",
+ "description": "The optional filename or descriptive identifier to associate with with the audio data.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AudioTranslationOptions.model": {
+ "name": "model",
+ "in": "formData",
+ "description": "The model to use for this translation request.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AudioTranslationOptions.prompt": {
+ "name": "prompt",
+ "in": "formData",
+ "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AudioTranslationOptions.responseFormat": {
+ "name": "response_format",
+ "in": "formData",
+ "description": "The requested format of the translation response data, which will influence the content and detail of the result.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "json",
+ "verbose_json",
+ "text",
+ "srt",
+ "vtt"
+ ],
+ "x-ms-enum": {
+ "name": "AudioTranslationFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "json",
+ "value": "json",
+ "description": "Use a response body that is a JSON object containing a single 'text' field for the translation."
+ },
+ {
+ "name": "verbose_json",
+ "value": "verbose_json",
+ "description": "Use a response body that is a JSON object containing translation text along with timing, segments, and other\nmetadata."
+ },
+ {
+ "name": "text",
+ "value": "text",
+ "description": "Use a response body that is plain text containing the raw, unannotated translation."
+ },
+ {
+ "name": "srt",
+ "value": "srt",
+ "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information."
+ },
+ {
+ "name": "vtt",
+ "value": "vtt",
+ "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information."
+ }
+ ]
+ },
+ "x-ms-parameter-location": "method",
+ "x-ms-client-name": "responseFormat"
+ },
+ "AudioTranslationOptions.temperature": {
+ "name": "temperature",
+ "in": "formData",
+ "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.",
+ "required": false,
+ "type": "number",
+ "format": "float",
+ "x-ms-parameter-location": "method"
+ },
+ "Azure.Core.Foundations.ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "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"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/readme.md b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/readme.md
index e790f98c60b08..6faacd21db319 100644
--- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/readme.md
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/readme.md
@@ -175,3 +175,10 @@ directive:
- suppress: RequiredReadOnlyProperties
reason: Parameter is read only
```
+
+## AzureOpenAI 2024-02-15-preview (generated)
+These settings apply only when `--tag=release_2024_02_15_preview_autogen` is specified on the command line.
+
+``` yaml $(tag) == 'release_2024_02_15_preview_autogen'
+input-file: preview/2024-02-15-preview/generated.json
+```
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/stable/2022-12-01/generated.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/stable/2022-12-01/generated.json
index 5524d13f42eb8..b55dcf7f754cf 100644
--- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/stable/2022-12-01/generated.json
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/stable/2022-12-01/generated.json
@@ -427,6 +427,10 @@
"format": "int32",
"description": "A value that controls the emission of log probabilities for the provided number of most likely\ntokens within a completions response."
},
+ "suffix": {
+ "type": "string",
+ "description": "The suffix that comes after a completion of inserted text"
+ },
"echo": {
"type": "boolean",
"description": "A value specifying whether completions responses should include input prompts as prefixes to\ntheir generated output."
diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/stable/2023-05-15/generated.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/stable/2023-05-15/generated.json
index 3369820977c1c..d2a02c008396b 100644
--- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/stable/2023-05-15/generated.json
+++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/stable/2023-05-15/generated.json
@@ -751,6 +751,10 @@
"format": "int32",
"description": "A value that controls the emission of log probabilities for the provided number of most likely\ntokens within a completions response."
},
+ "suffix": {
+ "type": "string",
+ "description": "The suffix that comes after a completion of inserted text"
+ },
"echo": {
"type": "boolean",
"description": "A value specifying whether completions responses should include input prompts as prefixes to\ntheir generated output."
diff --git a/specification/communication/Communication.Messages/.gitignore b/specification/communication/Communication.Messages/.gitignore
new file mode 100644
index 0000000000000..eb8fd25336b83
--- /dev/null
+++ b/specification/communication/Communication.Messages/.gitignore
@@ -0,0 +1,3 @@
+**/package.json
+**/package-lock.json
+**/.npmrc
\ No newline at end of file
diff --git a/specification/communication/Communication.Messages/README.md b/specification/communication/Communication.Messages/README.md
new file mode 100644
index 0000000000000..4e620369562c2
--- /dev/null
+++ b/specification/communication/Communication.Messages/README.md
@@ -0,0 +1,68 @@
+# Azure Communication Messages TypeSpec Specification
+
+The TypeSpec and generated API specification for the Azure Communication Messages.
+
+## Development Environment
+
+0. Change directory into the `specification\communication\Communication.Messages\` directory.
+
+1. Install Node.js 16 LTS and ensure you are able to run the npm command in a command prompt:
+
+ ```console
+ npm --version
+ ```
+
+2. Install Azure DevOps Auth helper for npm to pull the libraries from the secured feed
+
+ ```console
+ npm install -g vsts-npm-auth
+ vsts-npm-auth -config .npmrc
+ ```
+
+3. Install TypeSpec compiler and libraries:
+
+ ```console
+ npm install -g @typespec/compiler
+ ```
+
+4. (Optional) Install the TypeSpec extension for your editor of choice:
+
+ - Visual Studio Code
+
+ ``` console
+ tsp code install
+ ```
+
+ - Visual Studio
+
+ ``` console
+ tsp vs install
+ ```
+
+5. Install node package dependencies:
+
+ ```console
+ tsp install
+ ```
+
+6. Compile TypeSpec to Swagger. This will update the files in the directory `..\data-plane\Messages\\\communicationservicesmessages.json`:
+
+ ```console
+ npx tsp compile specification\communication\Communication.Messages
+ ```
+
+7. To re-generate examples, download and install the [OAV
+ tool](https://github.com/Azure/oav) and run it: note: This directory is taken
+ from [azure-rest-api-specs](https://github.com/Azure/azure-rest-api-specs),
+ and the following commands should be run from there.
+
+ ```console
+ npm install -g oav@latest
+ oav generate-examples
+ ```
+
+## Testing and Viewing API as an Interface
+
+1. Visit the official [Swagger Editor](https://editor.swagger.io/).
+
+2. Copy the generated Swagger from `communicationservicesmessages.json` and paste it into the editor.
\ No newline at end of file
diff --git a/specification/communication/Communication.Messages/client.tsp b/specification/communication/Communication.Messages/client.tsp
new file mode 100644
index 0000000000000..544a83a086e2e
--- /dev/null
+++ b/specification/communication/Communication.Messages/client.tsp
@@ -0,0 +1,33 @@
+// client.tsp
+import "@azure-tools/typespec-client-generator-core";
+import "@typespec/versioning";
+
+import "./main.tsp";
+
+using Azure.ClientGenerator.Core;
+using TypeSpec.Versioning;
+
+@useDependency(Azure.Communication.MessagesService.Versions.c2024_02_01)
+namespace ClientForAcsMessages;
+
+@client({
+ name: "NotificationMessagesClient",
+ service: Azure.Communication.MessagesService,
+})
+interface NotificationMessagesClient
+ extends Azure.Communication.MessagesService.NotificationMessagesOperations {
+ @access(Access.internal, "csharp")
+ @projectedName("csharp", "downloadMediaInternal")
+ downloadMedia is Azure.Communication.MessagesService.StreamOperations.getMedia;
+}
+
+@client({
+ name: "MessageTemplateClient",
+ service: Azure.Communication.MessagesService,
+})
+interface MessageTemplateClient
+ extends Azure.Communication.MessagesService.TemplateOperations {}
+
+@@access(Azure.Communication.MessagesService.MessageDataStream,
+ Access.internal
+);
diff --git a/specification/communication/Communication.Messages/examples/2024-02-01/NotificationMessages_SendImage.json b/specification/communication/Communication.Messages/examples/2024-02-01/NotificationMessages_SendImage.json
new file mode 100644
index 0000000000000..faf6637ec2ba1
--- /dev/null
+++ b/specification/communication/Communication.Messages/examples/2024-02-01/NotificationMessages_SendImage.json
@@ -0,0 +1,30 @@
+{
+ "title": "Sends a notification message - image",
+ "operationId": "NotificationMessagesOperations_Send",
+ "parameters": {
+ "api-version": "2024-02-01",
+ "content-type": "application/json",
+ "body": {
+ "channelRegistrationId": "0f0eb78e-a576-1dfc-b414-0f0756de3338",
+ "to": [
+ "14250000000"
+ ],
+ "kind": "image",
+ "mediaUri": "https://example.com/image.jpg",
+ "content": "check out this image!"
+ },
+ "endpoint": "https://my-resource.communication.azure.com"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "receipts": [
+ {
+ "messageId": "320fc2a1-4c4b-4387-9c1a-bd38b57795de",
+ "to": "14250000000"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/communication/Communication.Messages/examples/2024-02-01/NotificationMessages_SendTemplate.json b/specification/communication/Communication.Messages/examples/2024-02-01/NotificationMessages_SendTemplate.json
new file mode 100644
index 0000000000000..60a43d372ac1a
--- /dev/null
+++ b/specification/communication/Communication.Messages/examples/2024-02-01/NotificationMessages_SendTemplate.json
@@ -0,0 +1,55 @@
+{
+ "title": "Sends a notification message - Template",
+ "operationId": "NotificationMessagesOperations_Send",
+ "parameters": {
+ "api-version": "2024-02-01",
+ "content-type": "application/json",
+ "body": {
+ "channelRegistrationId": "0f0eb78e-a576-1dfc-b414-0f0756de3338",
+ "to": [
+ "14250000000"
+ ],
+ "kind": "template",
+ "template": {
+ "name": "example",
+ "language": "en",
+ "values": [
+ {
+ "name": "userName",
+ "kind": "text",
+ "text": "John Doe"
+ },
+ {
+ "name": "orderNumber",
+ "kind": "text",
+ "text": "12345"
+ }
+ ],
+ "bindings": {
+ "body": [
+ {
+ "refValue": "userName"
+ },
+ {
+ "refValue": "orderNumber"
+ }
+ ],
+ "kind": "whatsApp"
+ }
+ }
+ },
+ "endpoint": "https://my-resource.communication.azure.com"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "receipts": [
+ {
+ "messageId": "320fc2a1-4c4b-4387-9c1a-bd38b57795de",
+ "to": "14250000000"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/communication/Communication.Messages/examples/2024-02-01/NotificationMessages_SendText.json b/specification/communication/Communication.Messages/examples/2024-02-01/NotificationMessages_SendText.json
new file mode 100644
index 0000000000000..60c7fb4c0ce59
--- /dev/null
+++ b/specification/communication/Communication.Messages/examples/2024-02-01/NotificationMessages_SendText.json
@@ -0,0 +1,29 @@
+{
+ "title": "Sends a notification message - text",
+ "operationId": "NotificationMessagesOperations_Send",
+ "parameters": {
+ "api-version": "2024-02-01",
+ "content-type": "application/json",
+ "body": {
+ "channelRegistrationId": "0f0eb78e-a576-1dfc-b414-0f0756de3338",
+ "to": [
+ "14250000000"
+ ],
+ "kind": "text",
+ "content": "Text message through CPM"
+ },
+ "endpoint": "https://my-resource.communication.azure.com"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "receipts": [
+ {
+ "messageId": "320fc2a1-4c4b-4387-9c1a-bd38b57795de",
+ "to": "14250000000"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/communication/Communication.Messages/examples/2024-02-01/Stream_GetMedia.json b/specification/communication/Communication.Messages/examples/2024-02-01/Stream_GetMedia.json
new file mode 100644
index 0000000000000..c1a94465afd96
--- /dev/null
+++ b/specification/communication/Communication.Messages/examples/2024-02-01/Stream_GetMedia.json
@@ -0,0 +1,15 @@
+{
+ "title": "Download media",
+ "operationId": "StreamOperations_GetMedia",
+ "parameters": {
+ "api-version": "2024-02-01",
+ "content-type": "application/json",
+ "id": "d19e68ec-bdd6-4a50-8dfb-cbb1642df6ab",
+ "endpoint": "https://my-resource.communication.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/communication/Communication.Messages/examples/2024-02-01/Template_ListTemplates.json b/specification/communication/Communication.Messages/examples/2024-02-01/Template_ListTemplates.json
new file mode 100644
index 0000000000000..b4619af170699
--- /dev/null
+++ b/specification/communication/Communication.Messages/examples/2024-02-01/Template_ListTemplates.json
@@ -0,0 +1,35 @@
+{
+ "title": "Gets a list of templates",
+ "operationId": "TemplateOperations_ListTemplates",
+ "parameters": {
+ "api-version": "2024-02-01",
+ "content-type": "application/json",
+ "channelId": "0f0eb78e-a576-1dfc-b414-0f0756de3338",
+ "endpoint": "https://my-resource.communication.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "sample_shipping_confirmation",
+ "language": "en_US",
+ "status": "approved",
+ "kind": "whatsApp",
+ "content": [
+ {
+ "type": "BODY",
+ "text": "Your package has been shipped. It will be delivered in {{1}} business days."
+ },
+ {
+ "type": "FOOTER",
+ "text": "This message is from an unverified business."
+ }
+ ]
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/communication/Communication.Messages/main.tsp b/specification/communication/Communication.Messages/main.tsp
new file mode 100644
index 0000000000000..ac4fc3e50ec26
--- /dev/null
+++ b/specification/communication/Communication.Messages/main.tsp
@@ -0,0 +1,32 @@
+import "@typespec/rest";
+import "@typespec/http";
+import "@typespec/versioning";
+import "@azure-tools/typespec-azure-core";
+import "./routes.tsp";
+
+using TypeSpec.Http;
+using TypeSpec.Rest;
+using TypeSpec.Versioning;
+using Azure.Core;
+using Azure.Core.Traits;
+
+@useAuth(
+ AadOauth2Auth<["https://communication.azure.com/.default"]> | ApiKeyAuth<
+ ApiKeyLocation.header,
+ "Authorization"
+ >
+)
+@service({
+ title: "CommunicationMessagesClient",
+})
+@server(
+ "{endpoint}",
+ "Azure Communication Messages Service",
+ {
+ @doc("The communication resource, for example https://my-resource.communication.azure.com")
+ endpoint: url,
+ }
+)
+@versioned(Versions)
+@doc("Azure Communication Messages Service")
+namespace Azure.Communication.MessagesService;
diff --git a/specification/communication/Communication.Messages/models.tsp b/specification/communication/Communication.Messages/models.tsp
new file mode 100644
index 0000000000000..76300f055b8c5
--- /dev/null
+++ b/specification/communication/Communication.Messages/models.tsp
@@ -0,0 +1,362 @@
+import "@typespec/rest";
+import "@typespec/http";
+import "@typespec/versioning";
+import "@azure-tools/typespec-azure-core";
+
+using TypeSpec.Http;
+using TypeSpec.Rest;
+using TypeSpec.Versioning;
+using Azure.Core;
+using Azure.Core.Traits;
+
+@versioned(Azure.Communication.MessagesService.Versions)
+namespace Azure.Communication.MessagesService;
+
+@doc("The type of message. Supports text, image, template.")
+enum CommunicationMessageKind {
+ @doc("Text message type.")
+ text,
+
+ @doc("Image message type.")
+ image,
+
+ @doc("Template message type.")
+ template,
+}
+
+@doc("The WhatsApp button sub type.")
+enum WhatsAppMessageButtonSubType {
+ @doc("The WhatsApp button sub type is quick reply.")
+ quickReply,
+
+ @doc("The WhatsApp button sub type is url.")
+ url,
+}
+
+@doc("The aggregated template status.")
+enum MessageTemplateStatus {
+ @doc("Message template is approved.")
+ approved,
+
+ @doc("Message template is rejected.")
+ rejected,
+
+ @doc("Message template is pending.")
+ pending,
+
+ @doc("Message template is paused.")
+ paused,
+}
+
+@doc("The type of the template parameter.")
+enum MessageTemplateValueKind {
+ @doc("The text template parameter type.")
+ text,
+
+ @doc("The image template parameter type.")
+ image,
+
+ @doc("The document template parameter type.")
+ document,
+
+ @doc("The video template parameter type.")
+ video,
+
+ @doc("The location template parameter type.")
+ location,
+
+ @doc("The quick action template parameter type.")
+ quickAction,
+}
+
+@doc("The type of the communication messages channel.")
+enum CommunicationMessagesChannel {
+ @doc("The WhatsApp communication messages channel type.")
+ whatsApp,
+}
+
+@doc("The type of the message template.")
+enum MessageTemplateBindingsKind {
+ @doc("The WhatsApp template type.")
+ whatsApp,
+}
+
+@discriminator("kind")
+@doc("Details of the message to send.")
+model NotificationContent {
+ @doc("The Channel Registration ID for the Business Identifier.")
+ channelRegistrationId: uuid;
+
+ @doc("The native external platform user identifiers of the recipient.")
+ to: string[];
+
+ @doc("The type discriminator describing a notification type.")
+ kind: CommunicationMessageKind;
+}
+
+@doc("A request to send a text notification.")
+model TextNotificationContent extends NotificationContent {
+ @doc("Message notification type is text.")
+ kind: CommunicationMessageKind.text;
+
+ @doc("Message content.")
+ content: string;
+}
+
+@doc("A request to send a media notification.")
+model MediaNotificationContent extends NotificationContent {
+ @doc("Message notification type is image.")
+ kind: CommunicationMessageKind.image;
+
+ @doc("Optional text content.")
+ content?: string;
+
+ @projectedName("java", "mediaUrl")
+ @doc("A media url for the file. Required if the type is one of the supported media types, e.g. image")
+ mediaUri: url;
+}
+
+@doc("A request to send a template notification.")
+model TemplateNotificationContent extends NotificationContent {
+ @doc("Message notification type is template.")
+ kind: CommunicationMessageKind.template;
+
+ @doc("The template object used to create templates.")
+ template: MessageTemplate;
+}
+
+@doc("The template object used to create templates.")
+model MessageTemplate {
+ @doc("Name of the template.")
+ name: string;
+
+ @doc("The template's language, in the ISO 639 format, consist of a two-letter language code followed by an optional two-letter country code, e.g., 'en' or 'en_US'.")
+ language: string;
+
+ @doc("The template values.")
+ values?: MessageTemplateValue[];
+
+ @doc("The binding object to link values to the template specific locations")
+ bindings?: MessageTemplateBindings;
+}
+
+@discriminator("kind")
+@doc("The class describes a parameter of a template.")
+model MessageTemplateValue {
+ @doc("Template binding reference name")
+ @projectedName("java", "refValue")
+ name: string;
+
+ @doc("The type discriminator describing a template parameter type.")
+ kind: MessageTemplateValueKind;
+}
+
+@doc("The message template's text value information.")
+model MessageTemplateText extends MessageTemplateValue {
+ @doc("Message parameter type is text.")
+ kind: MessageTemplateValueKind.text;
+
+ @doc("The text value.")
+ text: string;
+}
+
+@doc("The message template's media value information. Could be an image, document or video.")
+model MessageTemplateMedia {
+ @projectedName("csharp", "uri")
+ @doc("The (public) URL of the media.")
+ url: url;
+
+ @doc("The [optional] caption of the media object.")
+ caption?: string;
+
+ @doc("The [optional] filename of the media file.")
+ fileName?: string;
+}
+
+@doc("The message template's image value information.")
+model MessageTemplateImage extends MessageTemplateValue {
+ @doc("Message parameter type is image.")
+ kind: MessageTemplateValueKind.image;
+
+ ...MessageTemplateMedia;
+}
+
+@doc("The message template's document value information.")
+model MessageTemplateDocument extends MessageTemplateValue {
+ @doc("Message parameter type is document.")
+ kind: MessageTemplateValueKind.document;
+
+ ...MessageTemplateMedia;
+}
+
+@doc("The message template's video value information.")
+model MessageTemplateVideo extends MessageTemplateValue {
+ @doc("Message parameter type is video.")
+ kind: MessageTemplateValueKind.video;
+
+ ...MessageTemplateMedia;
+}
+
+@doc("The message template's location value information.")
+model MessageTemplateLocation extends MessageTemplateValue {
+ @doc("Message parameter type is location.")
+ kind: MessageTemplateValueKind.location;
+
+ @doc("The [Optional] name of the location.")
+ locationName?: string;
+
+ @doc("The [Optional] address of the location.")
+ address?: string;
+
+ @doc("The latitude of the location.")
+ latitude: float64;
+
+ @doc("The longitude of the location.")
+ longitude: float64;
+}
+
+@doc("The message template's quick action value information.")
+model MessageTemplateQuickAction extends MessageTemplateValue {
+ @doc("Message parameter type is quick action.")
+ kind: MessageTemplateValueKind.quickAction;
+
+ @doc("The [Optional] quick action text")
+ text?: string;
+
+ @doc("The [Optional] quick action payload")
+ payload?: string;
+}
+
+@discriminator("kind")
+@doc("The binding object to link values to the template specific locations")
+model MessageTemplateBindings {
+ @doc("The type discriminator describing a template bindings type.")
+ kind: MessageTemplateBindingsKind;
+}
+
+@doc("The template bindings for WhatsApp")
+model WhatsAppMessageTemplateBindings extends MessageTemplateBindings {
+ @doc("MessageTemplateBindings is whatsApp")
+ kind: MessageTemplateBindingsKind.whatsApp;
+
+ @doc("The header template bindings")
+ header?: WhatsAppMessageTemplateBindingsComponent[];
+
+ @doc("The body template bindings")
+ body?: WhatsAppMessageTemplateBindingsComponent[];
+
+ @doc("The footer template bindings")
+ footer?: WhatsAppMessageTemplateBindingsComponent[];
+
+ @doc("The button template bindings")
+ buttons?: WhatsAppMessageTemplateBindingsButton[];
+}
+
+@doc("The template bindings component for WhatsApp")
+model WhatsAppMessageTemplateBindingsComponent {
+ @doc("The name of the referenced item in the template values.")
+ refValue: string;
+}
+
+@doc("The template bindings component button for WhatsApp")
+model WhatsAppMessageTemplateBindingsButton {
+ @doc("The WhatsApp button sub type")
+ subType: WhatsAppMessageButtonSubType;
+
+ @doc("The name of the referenced item in the template values.")
+ refValue: string;
+}
+
+@doc("Result of the send message operation.")
+model SendMessageResult {
+ @doc("Receipts of the send message operation.")
+ receipts: MessageReceipt[];
+}
+
+@doc("Receipt of the sending one message.")
+model MessageReceipt {
+ @doc("The message id.")
+ messageId: string;
+
+ @doc("The native external platform user identifier of the recipient.")
+ to: string;
+}
+
+@doc("The WhatsApp-specific template response contract")
+model WhatsAppMessageTemplateItem extends MessageTemplateItem {
+ #suppress "@azure-tools/typespec-azure-core/no-unknown" "Payload being returned from WhatsApp with no guaranteed object type."
+ @doc("WhatsApp platform's template content. This is the payload returned from WhatsApp API.")
+ content?: unknown;
+
+ @doc("Message template response type is whatsApp.")
+ kind: CommunicationMessagesChannel.whatsApp;
+}
+
+@resource("messages/notifications")
+@doc("A notification.")
+model Notifications {
+ @key
+ @visibility("read")
+ @doc("The notification ID.")
+ id: string;
+}
+
+@resource("messages/channels")
+@doc("A communication channel.")
+model CommunicationChannel {
+ @key
+ @visibility("read")
+ @doc("The registration ID of the channel.")
+ channelId: uuid;
+}
+
+@resource("messages/streams")
+@doc("A data stream.")
+model MessageDataStream {
+ @key
+ @visibility("read")
+ @doc("The stream ID.")
+ @projectedName("java", "mediaId")
+ id: string;
+
+ @body
+ @doc("The stream body.")
+ body: bytes;
+
+ @header
+ @doc("The stream content type.")
+ contentType: "application/octet-stream";
+}
+
+@resource("templates")
+@parentResource(CommunicationChannel)
+@discriminator("kind")
+@doc("The message template as returned from the service.")
+model MessageTemplateItem {
+ @key
+ @visibility("read")
+ @doc("The template's name.")
+ name: string;
+
+ @doc("The template's language, in the ISO 639 format, consist of a two-letter language code followed by an optional two-letter country code, e.g., 'en' or 'en_US'.")
+ language: string;
+
+ @doc("The aggregated template status.")
+ status: MessageTemplateStatus;
+
+ @doc("The type discriminator describing a template type.")
+ kind: CommunicationMessagesChannel;
+}
+
+alias ListTemplatesQueryParams = ListQueryParametersTrait<{
+ @doc("Number of objects to return per page.")
+ @query
+ maxpagesize?: int32;
+}>;
+
+@doc("Azure Communication Messages Versions")
+enum Versions {
+ @doc("Azure Communication Messages 2024-02-01 api version")
+ @useDependency(Azure.Core.Versions.v1_0_Preview_2)
+ c2024_02_01: "2024-02-01",
+}
diff --git a/specification/communication/Communication.Messages/routes.tsp b/specification/communication/Communication.Messages/routes.tsp
new file mode 100644
index 0000000000000..def1bd4a3a645
--- /dev/null
+++ b/specification/communication/Communication.Messages/routes.tsp
@@ -0,0 +1,45 @@
+import "@typespec/rest";
+import "@typespec/http";
+import "@typespec/versioning";
+import "@azure-tools/typespec-azure-core";
+import "./models.tsp";
+
+using TypeSpec.Http;
+using TypeSpec.Rest;
+using TypeSpec.Versioning;
+using Azure.Core;
+using Azure.Core.Traits;
+
+namespace Azure.Communication.MessagesService;
+
+alias ServiceTraits = SupportsRepeatableRequests &
+ NoConditionalRequests &
+ SupportsClientRequestId;
+
+alias Operations = Azure.Core.ResourceOperations;
+
+interface TemplateOperations {
+ @tag("Template")
+ @doc("List all templates for given Azure Communication Services channel")
+ @projectedName("csharp", "getTemplates")
+ listTemplates is Operations.ResourceList<
+ MessageTemplateItem,
+ ListTemplatesQueryParams
+ >;
+}
+
+interface NotificationMessagesOperations {
+ @tag("Notifications")
+ @doc("Sends a notification message from Business to User.")
+ send is Operations.ResourceCollectionAction<
+ Notifications,
+ NotificationContent,
+ AcceptedResponse & SendMessageResult
+ >;
+}
+
+interface StreamOperations {
+ @tag("Stream")
+ @doc("Download the Media payload from a User to Business message.")
+ getMedia is Operations.ResourceRead;
+}
diff --git a/specification/communication/Communication.Messages/tspconfig.yaml b/specification/communication/Communication.Messages/tspconfig.yaml
new file mode 100644
index 0000000000000..8ecff70bb746f
--- /dev/null
+++ b/specification/communication/Communication.Messages/tspconfig.yaml
@@ -0,0 +1,57 @@
+parameters:
+ "python-sdk-folder":
+ default: "{project-root}/azure-sdk-for-python/"
+ "java-sdk-folder":
+ default: "{project-root}/azure-sdk-for-java/"
+ "js-sdk-folder":
+ default: "{project-root}/azure-sdk-for-js/"
+ "csharp-sdk-folder":
+ default: "{project-root}/azure-sdk-for-net/"
+ "service-directory-name":
+ default: "communication"
+ "service-dir":
+ default: "sdk/communication"
+ "python-output-dir":
+ default: "azure/communication/messages/_generated"
+emit: [
+ "@azure-tools/typespec-autorest"
+]
+
+linter:
+ extends:
+ - "@azure-tools/typespec-azure-core/all"
+
+options:
+ "@azure-tools/typespec-autorest":
+ azure-resource-provider-folder: "data-plane"
+ output-file: "{azure-resource-provider-folder}/Messages/{version-status}/{version}/communicationservicesmessages.json"
+ emitter-output-dir: "{project-root}/.."
+ omit-unreachable-types: true
+ examples-directory: "{project-root}/examples"
+ "@azure-tools/typespec-csharp":
+ clear-output-folder: true
+ model-namespace: false
+ emitter-output-dir: "{csharp-sdk-folder}/sdk/{service-directory-name}/{namespace}/src"
+ namespace: Azure.Communication.Messages
+ package-dir: "Azure.Communication.Messages"
+ save-inputs: true
+ "@azure-tools/typespec-python":
+ package-pprint-name: "\"Communication Messages\""
+ emitter-output-dir: "{python-sdk-folder}/sdk/{service-directory-name}/{package-name}"
+ package-dir: "azure-communication-messages"
+ package-name: "{package-dir}"
+ package-version: 1.0.0
+ "@azure-tools/typespec-java":
+ package-dir: "azure-communication-messages"
+ namespace: com.azure.communication.messages
+ partial-update: true
+ service-name: Messages
+ custom-types-subpackage: "models.channels"
+ custom-types: "WhatsAppMessageButtonSubType,WhatsAppMessageTemplateBindings,WhatsAppMessageTemplateBindingsButton,WhatsAppMessageTemplateBindingsComponent,WhatsAppMessageTemplateItem"
+ customization-class: customization/src/main/java/MessagesSdkCustomization.java
+ "@azure-tools/typespec-ts":
+ package-dir: "communication-messages-rest"
+ packageDetails:
+ name: "@azure-rest/communication-messages"
+ description: "Azure client library for Azure Communication Messages services"
+ version: "1.0.0-beta.2"
\ No newline at end of file
diff --git a/specification/communication/data-plane/Messages/readme.md b/specification/communication/data-plane/Messages/readme.md
index e0b56043cbb6e..0471f958df570 100644
--- a/specification/communication/data-plane/Messages/readme.md
+++ b/specification/communication/data-plane/Messages/readme.md
@@ -26,7 +26,18 @@ These are the global settings for the communicationservices.
```yaml
openapi-type: data-plane
-tag: package-2023-08-24-preview
+tag: package-2024-02-01
+```
+
+### Tag: package-2024-02-01
+
+These settings apply only when `--tag=package-2024-02-01` is specified on the command line.
+
+```yaml $(tag) == 'package-2024-02-01'
+input-file:
+ - stable/2024-02-01/communicationservicesmessages.json
+title:
+ Azure Communication Services
```
### Tag: package-2023-08-24-preview
@@ -40,13 +51,7 @@ title:
Azure Communication Services
```
-# Code Generation
-
-## Swagger to SDK
-
-This section describes what SDK should be generated by the automatic system.
-This is not used by Autorest itself.
-
-## CSharp
-
-See configuration in [readme.csharp.md](./readme.csharp.md)
+``` yaml
+suppressions:
+ - code: LroExtension
+```
\ No newline at end of file
diff --git a/specification/communication/data-plane/Messages/stable/2024-02-01/communicationservicesmessages.json b/specification/communication/data-plane/Messages/stable/2024-02-01/communicationservicesmessages.json
new file mode 100644
index 0000000000000..741d2880efcd5
--- /dev/null
+++ b/specification/communication/data-plane/Messages/stable/2024-02-01/communicationservicesmessages.json
@@ -0,0 +1,1067 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "CommunicationMessagesClient",
+ "version": "2024-02-01",
+ "description": "Azure Communication Messages Service",
+ "x-typespec-generated": [
+ {
+ "emitter": "@azure-tools/typespec-autorest"
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "name": "endpoint",
+ "in": "path",
+ "description": "The communication resource, for example https://my-resource.communication.azure.com",
+ "required": true,
+ "type": "string",
+ "format": "uri",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "AadOauth2Auth": [
+ "https://communication.azure.com/.default"
+ ]
+ },
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "securityDefinitions": {
+ "AadOauth2Auth": {
+ "type": "oauth2",
+ "description": "The Azure Active Directory OAuth2 Flow",
+ "flow": "accessCode",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "https://communication.azure.com/.default": ""
+ },
+ "tokenUrl": "https://login.microsoftonline.com/common/oauth2/token"
+ },
+ "ApiKeyAuth": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "tags": [
+ {
+ "name": "Stream"
+ },
+ {
+ "name": "Notifications"
+ },
+ {
+ "name": "Template"
+ }
+ ],
+ "paths": {
+ "/messages/channels/{channelId}/templates": {
+ "get": {
+ "operationId": "TemplateOperations_ListTemplates",
+ "tags": [
+ "Template"
+ ],
+ "description": "List all templates for given Azure Communication Services channel",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
+ },
+ {
+ "name": "channelId",
+ "in": "path",
+ "description": "The registration ID of the channel.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "maxpagesize",
+ "in": "query",
+ "description": "Number of objects to return per page.",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "$ref": "#/parameters/Azure.Core.ClientRequestIdHeader"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/PagedMessageTemplateItem"
+ },
+ "headers": {
+ "x-ms-client-request-id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "An opaque, globally-unique, client-generated string identifier for the request."
+ }
+ }
+ },
+ "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": {
+ "Gets a list of templates": {
+ "$ref": "./examples/Template_ListTemplates.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/messages/notifications:send": {
+ "post": {
+ "operationId": "NotificationMessagesOperations_Send",
+ "tags": [
+ "Notifications"
+ ],
+ "description": "Sends a notification message from Business to User.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/Azure.Core.RepeatabilityRequestHeaders.repeatabilityRequestId"
+ },
+ {
+ "$ref": "#/parameters/Azure.Core.RepeatabilityRequestHeaders.repeatabilityFirstSent"
+ },
+ {
+ "$ref": "#/parameters/Azure.Core.ClientRequestIdHeader"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NotificationContent"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The request has been accepted for processing, but processing has not yet completed.",
+ "schema": {
+ "$ref": "#/definitions/SendMessageResult"
+ },
+ "headers": {
+ "Repeatability-Result": {
+ "type": "string",
+ "description": "Indicates whether the repeatable request was accepted or rejected.",
+ "enum": [
+ "accepted",
+ "rejected"
+ ],
+ "x-ms-enum": {
+ "name": "RepeatabilityResult",
+ "modelAsString": false,
+ "values": [
+ {
+ "name": "accepted",
+ "value": "accepted",
+ "description": "If the request was accepted and the server guarantees that the server state reflects a single execution of the operation."
+ },
+ {
+ "name": "rejected",
+ "value": "rejected",
+ "description": "If the request was rejected because the combination of Repeatability-First-Sent and Repeatability-Request-ID were invalid\nor because the Repeatability-First-Sent value was outside the range of values held by the server."
+ }
+ ]
+ }
+ },
+ "x-ms-client-request-id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "An opaque, globally-unique, client-generated string identifier for the request."
+ }
+ }
+ },
+ "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": {
+ "Sends a notification message - Template": {
+ "$ref": "./examples/NotificationMessages_SendTemplate.json"
+ },
+ "Sends a notification message - image": {
+ "$ref": "./examples/NotificationMessages_SendImage.json"
+ },
+ "Sends a notification message - text": {
+ "$ref": "./examples/NotificationMessages_SendText.json"
+ }
+ }
+ }
+ },
+ "/messages/streams/{id}": {
+ "get": {
+ "operationId": "StreamOperations_GetMedia",
+ "tags": [
+ "Stream"
+ ],
+ "description": "Download the Media payload from a User to Business message.",
+ "produces": [
+ "application/octet-stream",
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "The stream ID.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/Azure.Core.ClientRequestIdHeader"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request has succeeded.",
+ "schema": {
+ "type": "file"
+ },
+ "headers": {
+ "x-ms-client-request-id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "An opaque, globally-unique, client-generated string identifier for the request."
+ }
+ }
+ },
+ "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": {
+ "Download media": {
+ "$ref": "./examples/Stream_GetMedia.json"
+ }
+ }
+ }
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "Azure.Core.uuid": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Universally Unique Identifier"
+ },
+ "CommunicationMessageKind": {
+ "type": "string",
+ "description": "The type of message. Supports text, image, template.",
+ "enum": [
+ "text",
+ "image",
+ "template"
+ ],
+ "x-ms-enum": {
+ "name": "CommunicationMessageKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "text",
+ "value": "text",
+ "description": "Text message type."
+ },
+ {
+ "name": "image",
+ "value": "image",
+ "description": "Image message type."
+ },
+ {
+ "name": "template",
+ "value": "template",
+ "description": "Template message type."
+ }
+ ]
+ }
+ },
+ "CommunicationMessagesChannel": {
+ "type": "string",
+ "description": "The type of the communication messages channel.",
+ "enum": [
+ "whatsApp"
+ ],
+ "x-ms-enum": {
+ "name": "CommunicationMessagesChannel",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "whatsApp",
+ "value": "whatsApp",
+ "description": "The WhatsApp communication messages channel type."
+ }
+ ]
+ }
+ },
+ "MediaNotificationContent": {
+ "type": "object",
+ "description": "A request to send a media notification.",
+ "properties": {
+ "content": {
+ "type": "string",
+ "description": "Optional text content."
+ },
+ "mediaUri": {
+ "type": "string",
+ "format": "uri",
+ "description": "A media url for the file. Required if the type is one of the supported media types, e.g. image"
+ }
+ },
+ "required": [
+ "mediaUri"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/NotificationContent"
+ }
+ ],
+ "x-ms-discriminator-value": "image"
+ },
+ "MessageReceipt": {
+ "type": "object",
+ "description": "Receipt of the sending one message.",
+ "properties": {
+ "messageId": {
+ "type": "string",
+ "description": "The message id."
+ },
+ "to": {
+ "type": "string",
+ "description": "The native external platform user identifier of the recipient."
+ }
+ },
+ "required": [
+ "messageId",
+ "to"
+ ]
+ },
+ "MessageTemplate": {
+ "type": "object",
+ "description": "The template object used to create templates.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the template."
+ },
+ "language": {
+ "type": "string",
+ "description": "The template's language, in the ISO 639 format, consist of a two-letter language code followed by an optional two-letter country code, e.g., 'en' or 'en_US'."
+ },
+ "values": {
+ "type": "array",
+ "description": "The template values.",
+ "items": {
+ "$ref": "#/definitions/MessageTemplateValue"
+ },
+ "x-ms-identifiers": []
+ },
+ "bindings": {
+ "$ref": "#/definitions/MessageTemplateBindings",
+ "description": "The binding object to link values to the template specific locations"
+ }
+ },
+ "required": [
+ "name",
+ "language"
+ ]
+ },
+ "MessageTemplateBindings": {
+ "type": "object",
+ "description": "The binding object to link values to the template specific locations",
+ "properties": {
+ "kind": {
+ "$ref": "#/definitions/MessageTemplateBindingsKind",
+ "description": "The type discriminator describing a template bindings type."
+ }
+ },
+ "discriminator": "kind",
+ "required": [
+ "kind"
+ ]
+ },
+ "MessageTemplateBindingsKind": {
+ "type": "string",
+ "description": "The type of the message template.",
+ "enum": [
+ "whatsApp"
+ ],
+ "x-ms-enum": {
+ "name": "MessageTemplateBindingsKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "whatsApp",
+ "value": "whatsApp",
+ "description": "The WhatsApp template type."
+ }
+ ]
+ }
+ },
+ "MessageTemplateDocument": {
+ "type": "object",
+ "description": "The message template's document value information.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "The (public) URL of the media."
+ },
+ "caption": {
+ "type": "string",
+ "description": "The [optional] caption of the media object."
+ },
+ "fileName": {
+ "type": "string",
+ "description": "The [optional] filename of the media file."
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/MessageTemplateValue"
+ }
+ ],
+ "x-ms-discriminator-value": "document"
+ },
+ "MessageTemplateImage": {
+ "type": "object",
+ "description": "The message template's image value information.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "The (public) URL of the media."
+ },
+ "caption": {
+ "type": "string",
+ "description": "The [optional] caption of the media object."
+ },
+ "fileName": {
+ "type": "string",
+ "description": "The [optional] filename of the media file."
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/MessageTemplateValue"
+ }
+ ],
+ "x-ms-discriminator-value": "image"
+ },
+ "MessageTemplateItem": {
+ "type": "object",
+ "description": "The message template as returned from the service.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The template's name.",
+ "readOnly": true
+ },
+ "language": {
+ "type": "string",
+ "description": "The template's language, in the ISO 639 format, consist of a two-letter language code followed by an optional two-letter country code, e.g., 'en' or 'en_US'."
+ },
+ "status": {
+ "$ref": "#/definitions/MessageTemplateStatus",
+ "description": "The aggregated template status."
+ },
+ "kind": {
+ "$ref": "#/definitions/CommunicationMessagesChannel",
+ "description": "The type discriminator describing a template type."
+ }
+ },
+ "discriminator": "kind",
+ "required": [
+ "name",
+ "language",
+ "status",
+ "kind"
+ ]
+ },
+ "MessageTemplateLocation": {
+ "type": "object",
+ "description": "The message template's location value information.",
+ "properties": {
+ "locationName": {
+ "type": "string",
+ "description": "The [Optional] name of the location."
+ },
+ "address": {
+ "type": "string",
+ "description": "The [Optional] address of the location."
+ },
+ "latitude": {
+ "type": "number",
+ "format": "double",
+ "description": "The latitude of the location."
+ },
+ "longitude": {
+ "type": "number",
+ "format": "double",
+ "description": "The longitude of the location."
+ }
+ },
+ "required": [
+ "latitude",
+ "longitude"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/MessageTemplateValue"
+ }
+ ],
+ "x-ms-discriminator-value": "location"
+ },
+ "MessageTemplateQuickAction": {
+ "type": "object",
+ "description": "The message template's quick action value information.",
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "The [Optional] quick action text"
+ },
+ "payload": {
+ "type": "string",
+ "description": "The [Optional] quick action payload"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MessageTemplateValue"
+ }
+ ],
+ "x-ms-discriminator-value": "quickAction"
+ },
+ "MessageTemplateStatus": {
+ "type": "string",
+ "description": "The aggregated template status.",
+ "enum": [
+ "approved",
+ "rejected",
+ "pending",
+ "paused"
+ ],
+ "x-ms-enum": {
+ "name": "MessageTemplateStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "approved",
+ "value": "approved",
+ "description": "Message template is approved."
+ },
+ {
+ "name": "rejected",
+ "value": "rejected",
+ "description": "Message template is rejected."
+ },
+ {
+ "name": "pending",
+ "value": "pending",
+ "description": "Message template is pending."
+ },
+ {
+ "name": "paused",
+ "value": "paused",
+ "description": "Message template is paused."
+ }
+ ]
+ }
+ },
+ "MessageTemplateText": {
+ "type": "object",
+ "description": "The message template's text value information.",
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "The text value."
+ }
+ },
+ "required": [
+ "text"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/MessageTemplateValue"
+ }
+ ],
+ "x-ms-discriminator-value": "text"
+ },
+ "MessageTemplateValue": {
+ "type": "object",
+ "description": "The class describes a parameter of a template.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Template binding reference name"
+ },
+ "kind": {
+ "$ref": "#/definitions/MessageTemplateValueKind",
+ "description": "The type discriminator describing a template parameter type."
+ }
+ },
+ "discriminator": "kind",
+ "required": [
+ "name",
+ "kind"
+ ]
+ },
+ "MessageTemplateValueKind": {
+ "type": "string",
+ "description": "The type of the template parameter.",
+ "enum": [
+ "text",
+ "image",
+ "document",
+ "video",
+ "location",
+ "quickAction"
+ ],
+ "x-ms-enum": {
+ "name": "MessageTemplateValueKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "text",
+ "value": "text",
+ "description": "The text template parameter type."
+ },
+ {
+ "name": "image",
+ "value": "image",
+ "description": "The image template parameter type."
+ },
+ {
+ "name": "document",
+ "value": "document",
+ "description": "The document template parameter type."
+ },
+ {
+ "name": "video",
+ "value": "video",
+ "description": "The video template parameter type."
+ },
+ {
+ "name": "location",
+ "value": "location",
+ "description": "The location template parameter type."
+ },
+ {
+ "name": "quickAction",
+ "value": "quickAction",
+ "description": "The quick action template parameter type."
+ }
+ ]
+ }
+ },
+ "MessageTemplateVideo": {
+ "type": "object",
+ "description": "The message template's video value information.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "The (public) URL of the media."
+ },
+ "caption": {
+ "type": "string",
+ "description": "The [optional] caption of the media object."
+ },
+ "fileName": {
+ "type": "string",
+ "description": "The [optional] filename of the media file."
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/MessageTemplateValue"
+ }
+ ],
+ "x-ms-discriminator-value": "video"
+ },
+ "NotificationContent": {
+ "type": "object",
+ "description": "Details of the message to send.",
+ "properties": {
+ "channelRegistrationId": {
+ "$ref": "#/definitions/Azure.Core.uuid",
+ "description": "The Channel Registration ID for the Business Identifier."
+ },
+ "to": {
+ "type": "array",
+ "description": "The native external platform user identifiers of the recipient.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "kind": {
+ "$ref": "#/definitions/CommunicationMessageKind",
+ "description": "The type discriminator describing a notification type."
+ }
+ },
+ "discriminator": "kind",
+ "required": [
+ "channelRegistrationId",
+ "to",
+ "kind"
+ ]
+ },
+ "PagedMessageTemplateItem": {
+ "type": "object",
+ "description": "Paged collection of MessageTemplateItem items",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "The MessageTemplateItem items on this page",
+ "items": {
+ "$ref": "#/definitions/MessageTemplateItem"
+ },
+ "x-ms-identifiers": []
+ },
+ "nextLink": {
+ "type": "string",
+ "format": "uri",
+ "description": "The link to the next page of items"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "SendMessageResult": {
+ "type": "object",
+ "description": "Result of the send message operation.",
+ "properties": {
+ "receipts": {
+ "type": "array",
+ "description": "Receipts of the send message operation.",
+ "items": {
+ "$ref": "#/definitions/MessageReceipt"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "required": [
+ "receipts"
+ ]
+ },
+ "TemplateNotificationContent": {
+ "type": "object",
+ "description": "A request to send a template notification.",
+ "properties": {
+ "template": {
+ "$ref": "#/definitions/MessageTemplate",
+ "description": "The template object used to create templates."
+ }
+ },
+ "required": [
+ "template"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/NotificationContent"
+ }
+ ],
+ "x-ms-discriminator-value": "template"
+ },
+ "TextNotificationContent": {
+ "type": "object",
+ "description": "A request to send a text notification.",
+ "properties": {
+ "content": {
+ "type": "string",
+ "description": "Message content."
+ }
+ },
+ "required": [
+ "content"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/NotificationContent"
+ }
+ ],
+ "x-ms-discriminator-value": "text"
+ },
+ "WhatsAppMessageButtonSubType": {
+ "type": "string",
+ "description": "The WhatsApp button sub type.",
+ "enum": [
+ "quickReply",
+ "url"
+ ],
+ "x-ms-enum": {
+ "name": "WhatsAppMessageButtonSubType",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "quickReply",
+ "value": "quickReply",
+ "description": "The WhatsApp button sub type is quick reply."
+ },
+ {
+ "name": "url",
+ "value": "url",
+ "description": "The WhatsApp button sub type is url."
+ }
+ ]
+ }
+ },
+ "WhatsAppMessageTemplateBindings": {
+ "type": "object",
+ "description": "The template bindings for WhatsApp",
+ "properties": {
+ "header": {
+ "type": "array",
+ "description": "The header template bindings",
+ "items": {
+ "$ref": "#/definitions/WhatsAppMessageTemplateBindingsComponent"
+ },
+ "x-ms-identifiers": []
+ },
+ "body": {
+ "type": "array",
+ "description": "The body template bindings",
+ "items": {
+ "$ref": "#/definitions/WhatsAppMessageTemplateBindingsComponent"
+ },
+ "x-ms-identifiers": []
+ },
+ "footer": {
+ "type": "array",
+ "description": "The footer template bindings",
+ "items": {
+ "$ref": "#/definitions/WhatsAppMessageTemplateBindingsComponent"
+ },
+ "x-ms-identifiers": []
+ },
+ "buttons": {
+ "type": "array",
+ "description": "The button template bindings",
+ "items": {
+ "$ref": "#/definitions/WhatsAppMessageTemplateBindingsButton"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MessageTemplateBindings"
+ }
+ ],
+ "x-ms-discriminator-value": "whatsApp"
+ },
+ "WhatsAppMessageTemplateBindingsButton": {
+ "type": "object",
+ "description": "The template bindings component button for WhatsApp",
+ "properties": {
+ "subType": {
+ "$ref": "#/definitions/WhatsAppMessageButtonSubType",
+ "description": "The WhatsApp button sub type"
+ },
+ "refValue": {
+ "type": "string",
+ "description": "The name of the referenced item in the template values."
+ }
+ },
+ "required": [
+ "subType",
+ "refValue"
+ ]
+ },
+ "WhatsAppMessageTemplateBindingsComponent": {
+ "type": "object",
+ "description": "The template bindings component for WhatsApp",
+ "properties": {
+ "refValue": {
+ "type": "string",
+ "description": "The name of the referenced item in the template values."
+ }
+ },
+ "required": [
+ "refValue"
+ ]
+ },
+ "WhatsAppMessageTemplateItem": {
+ "type": "object",
+ "description": "The WhatsApp-specific template response contract",
+ "properties": {
+ "content": {
+ "description": "WhatsApp platform's template content. This is the payload returned from WhatsApp API."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MessageTemplateItem"
+ }
+ ],
+ "x-ms-discriminator-value": "whatsApp"
+ }
+ },
+ "parameters": {
+ "Azure.Core.ClientRequestIdHeader": {
+ "name": "x-ms-client-request-id",
+ "in": "header",
+ "description": "An opaque, globally-unique, client-generated string identifier for the request.",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "x-ms-parameter-location": "method",
+ "x-ms-client-name": "clientRequestId"
+ },
+ "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"
+ },
+ "Azure.Core.RepeatabilityRequestHeaders.repeatabilityFirstSent": {
+ "name": "Repeatability-First-Sent",
+ "in": "header",
+ "description": "Specifies the date and time at which the request was first created.",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "x-ms-parameter-location": "method",
+ "x-ms-client-name": "repeatabilityFirstSent"
+ },
+ "Azure.Core.RepeatabilityRequestHeaders.repeatabilityRequestId": {
+ "name": "Repeatability-Request-ID",
+ "in": "header",
+ "description": "An opaque, globally-unique, client-generated string identifier for the request.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "x-ms-client-name": "repeatabilityRequestId"
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Messages/stable/2024-02-01/examples/NotificationMessages_SendImage.json b/specification/communication/data-plane/Messages/stable/2024-02-01/examples/NotificationMessages_SendImage.json
new file mode 100644
index 0000000000000..faf6637ec2ba1
--- /dev/null
+++ b/specification/communication/data-plane/Messages/stable/2024-02-01/examples/NotificationMessages_SendImage.json
@@ -0,0 +1,30 @@
+{
+ "title": "Sends a notification message - image",
+ "operationId": "NotificationMessagesOperations_Send",
+ "parameters": {
+ "api-version": "2024-02-01",
+ "content-type": "application/json",
+ "body": {
+ "channelRegistrationId": "0f0eb78e-a576-1dfc-b414-0f0756de3338",
+ "to": [
+ "14250000000"
+ ],
+ "kind": "image",
+ "mediaUri": "https://example.com/image.jpg",
+ "content": "check out this image!"
+ },
+ "endpoint": "https://my-resource.communication.azure.com"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "receipts": [
+ {
+ "messageId": "320fc2a1-4c4b-4387-9c1a-bd38b57795de",
+ "to": "14250000000"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Messages/stable/2024-02-01/examples/NotificationMessages_SendTemplate.json b/specification/communication/data-plane/Messages/stable/2024-02-01/examples/NotificationMessages_SendTemplate.json
new file mode 100644
index 0000000000000..60a43d372ac1a
--- /dev/null
+++ b/specification/communication/data-plane/Messages/stable/2024-02-01/examples/NotificationMessages_SendTemplate.json
@@ -0,0 +1,55 @@
+{
+ "title": "Sends a notification message - Template",
+ "operationId": "NotificationMessagesOperations_Send",
+ "parameters": {
+ "api-version": "2024-02-01",
+ "content-type": "application/json",
+ "body": {
+ "channelRegistrationId": "0f0eb78e-a576-1dfc-b414-0f0756de3338",
+ "to": [
+ "14250000000"
+ ],
+ "kind": "template",
+ "template": {
+ "name": "example",
+ "language": "en",
+ "values": [
+ {
+ "name": "userName",
+ "kind": "text",
+ "text": "John Doe"
+ },
+ {
+ "name": "orderNumber",
+ "kind": "text",
+ "text": "12345"
+ }
+ ],
+ "bindings": {
+ "body": [
+ {
+ "refValue": "userName"
+ },
+ {
+ "refValue": "orderNumber"
+ }
+ ],
+ "kind": "whatsApp"
+ }
+ }
+ },
+ "endpoint": "https://my-resource.communication.azure.com"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "receipts": [
+ {
+ "messageId": "320fc2a1-4c4b-4387-9c1a-bd38b57795de",
+ "to": "14250000000"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Messages/stable/2024-02-01/examples/NotificationMessages_SendText.json b/specification/communication/data-plane/Messages/stable/2024-02-01/examples/NotificationMessages_SendText.json
new file mode 100644
index 0000000000000..60c7fb4c0ce59
--- /dev/null
+++ b/specification/communication/data-plane/Messages/stable/2024-02-01/examples/NotificationMessages_SendText.json
@@ -0,0 +1,29 @@
+{
+ "title": "Sends a notification message - text",
+ "operationId": "NotificationMessagesOperations_Send",
+ "parameters": {
+ "api-version": "2024-02-01",
+ "content-type": "application/json",
+ "body": {
+ "channelRegistrationId": "0f0eb78e-a576-1dfc-b414-0f0756de3338",
+ "to": [
+ "14250000000"
+ ],
+ "kind": "text",
+ "content": "Text message through CPM"
+ },
+ "endpoint": "https://my-resource.communication.azure.com"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "receipts": [
+ {
+ "messageId": "320fc2a1-4c4b-4387-9c1a-bd38b57795de",
+ "to": "14250000000"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Messages/stable/2024-02-01/examples/Stream_GetMedia.json b/specification/communication/data-plane/Messages/stable/2024-02-01/examples/Stream_GetMedia.json
new file mode 100644
index 0000000000000..c1a94465afd96
--- /dev/null
+++ b/specification/communication/data-plane/Messages/stable/2024-02-01/examples/Stream_GetMedia.json
@@ -0,0 +1,15 @@
+{
+ "title": "Download media",
+ "operationId": "StreamOperations_GetMedia",
+ "parameters": {
+ "api-version": "2024-02-01",
+ "content-type": "application/json",
+ "id": "d19e68ec-bdd6-4a50-8dfb-cbb1642df6ab",
+ "endpoint": "https://my-resource.communication.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Messages/stable/2024-02-01/examples/Template_ListTemplates.json b/specification/communication/data-plane/Messages/stable/2024-02-01/examples/Template_ListTemplates.json
new file mode 100644
index 0000000000000..b4619af170699
--- /dev/null
+++ b/specification/communication/data-plane/Messages/stable/2024-02-01/examples/Template_ListTemplates.json
@@ -0,0 +1,35 @@
+{
+ "title": "Gets a list of templates",
+ "operationId": "TemplateOperations_ListTemplates",
+ "parameters": {
+ "api-version": "2024-02-01",
+ "content-type": "application/json",
+ "channelId": "0f0eb78e-a576-1dfc-b414-0f0756de3338",
+ "endpoint": "https://my-resource.communication.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "sample_shipping_confirmation",
+ "language": "en_US",
+ "status": "approved",
+ "kind": "whatsApp",
+ "content": [
+ {
+ "type": "BODY",
+ "text": "Your package has been shipped. It will be delivered in {{1}} business days."
+ },
+ {
+ "type": "FOOTER",
+ "text": "This message is from an unverified business."
+ }
+ ]
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2024-02-15-preview/privateEndpointConnection.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2024-02-15-preview/privateEndpointConnection.json
index 6d744b72a42d5..c0989e6624bb0 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2024-02-15-preview/privateEndpointConnection.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2024-02-15-preview/privateEndpointConnection.json
@@ -238,7 +238,7 @@
},
"allOf": [
{
- "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
}
]
},
diff --git a/specification/edgemarketplace/resource-manager/readme.typescript.md b/specification/edgemarketplace/resource-manager/readme.typescript.md
index 3149f1ecff398..0d5914d56a228 100644
--- a/specification/edgemarketplace/resource-manager/readme.typescript.md
+++ b/specification/edgemarketplace/resource-manager/readme.typescript.md
@@ -6,8 +6,8 @@ Please also specify `--typescript-sdks-folder=;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.AVS.ScriptExecutionCancelled event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AvsScriptExecutionCancelledEventData
+ extends AvsScriptExecutionEventData {}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.AVS.ScriptExecutionFailed event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AvsScriptExecutionFailedEventData extends AvsScriptExecutionEventData {
+ /** Failure reason of an event. */
+ failureMessage?: string;
+}
+
+/** Schema of the Data property of an EventGridEvent for Microsoft.AVS/privateClouds events. */
+model AvsPrivateCloudEventData {
+ /** Id of the operation that caused this event. */
+ operationId?: string;
+}
+
+/** Schema of the Data property of an EventGridEvent for Microsoft.AVS/clusters events. */
+model AvsClusterEventData {
+ /** Id of the operation that caused this event. */
+ operationId?: string;
+
+ /** Hosts added to the cluster in this event, if any. */
+ addedHostNames?: string[];
+
+ /** Hosts removed from the cluster in this event, if any. */
+ removedHostNames?: string[];
+
+ /** Hosts in Maintenance mode in the cluster, if any. */
+ inMaintenanceHostNames?: string[];
+}
+
+/** Schema of the Data property of an EventGridEvent for Microsoft.AVS/scriptExecutions events. */
+model AvsScriptExecutionEventData {
+ /** Id of the operation that caused this event. */
+ operationId?: string;
+
+ /** Cmdlet referenced in the execution that caused this event. */
+ cmdletId?: string;
+
+ /** Stdout outputs from the execution, if any. */
+ output?: string[];
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/ApiManagement.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/ApiManagement.tsp
new file mode 100644
index 0000000000000..666507e4f1849
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/ApiManagement.tsp
@@ -0,0 +1,156 @@
+/** Describes the schema of the Azure API Management events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent. */
+namespace Microsoft.EventGrid.SystemEvents;
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.UserCreated event. */
+model ApiManagementUserCreatedEventData {
+ ...ApiManagementBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.UserUpdated event. */
+model ApiManagementUserUpdatedEventData {
+ ...ApiManagementBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.UserDeleted event. */
+model ApiManagementUserDeletedEventData {
+ ...ApiManagementBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.SubscriptionCreated event. */
+model ApiManagementSubscriptionCreatedEventData {
+ ...ApiManagementBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.SubscriptionUpdated event. */
+model ApiManagementSubscriptionUpdatedEventData {
+ ...ApiManagementBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.SubscriptionDeleted event. */
+model ApiManagementSubscriptionDeletedEventData {
+ ...ApiManagementBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ProductCreated event. */
+model ApiManagementProductCreatedEventData {
+ ...ApiManagementBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ProductUpdated event. */
+model ApiManagementProductUpdatedEventData {
+ ...ApiManagementBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ProductDeleted event. */
+model ApiManagementProductDeletedEventData {
+ ...ApiManagementBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.APICreated event. */
+model ApiManagementApiCreatedEventData {
+ ...ApiManagementBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.APIUpdated event. */
+model ApiManagementApiUpdatedEventData {
+ ...ApiManagementBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.APIDeleted event. */
+model ApiManagementApiDeletedEventData {
+ ...ApiManagementBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.APIReleaseCreated event. */
+model ApiManagementApiReleaseCreatedEventData {
+ ...ApiManagementBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.APIReleaseUpdated event. */
+model ApiManagementApiReleaseUpdatedEventData {
+ ...ApiManagementBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.APIReleaseDeleted event. */
+model ApiManagementApiReleaseDeletedEventData {
+ ...ApiManagementBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayCreated event. */
+model ApiManagementGatewayCreatedEventData {
+ ...ApiGatewayBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayUpdated event. */
+model ApiManagementGatewayUpdatedEventData {
+ ...ApiGatewayBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayDeleted event. */
+model ApiManagementGatewayDeletedEventData {
+ ...ApiGatewayBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayHostnameConfigurationCreated event. */
+model ApiManagementGatewayHostnameConfigurationCreatedEventData {
+ ...ApiGatewayHostnameBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayHostnameConfigurationUpdated event. */
+model ApiManagementGatewayHostnameConfigurationUpdatedEventData {
+ ...ApiGatewayHostnameBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayHostnameConfigurationDeleted event. */
+model ApiManagementGatewayHostnameConfigurationDeletedEventData {
+ ...ApiGatewayHostnameBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayCertificateAuthorityCreated event. */
+model ApiManagementGatewayCertificateAuthorityCreatedEventData {
+ ...ApiGatewayCertificateBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayCertificateAuthorityUpdated event. */
+model ApiManagementGatewayCertificateAuthorityUpdatedEventData {
+ ...ApiGatewayCertificateBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayCertificateAuthorityDeleted event. */
+model ApiManagementGatewayCertificateAuthorityDeletedEventData {
+ ...ApiGatewayCertificateBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayAPIAdded event. */
+model ApiManagementGatewayApiAddedEventData {
+ ...ApiGatewayApiBase;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayAPIRemoved event. */
+model ApiManagementGatewayApiRemovedEventData {
+ ...ApiGatewayApiBase;
+}
+
+alias ApiManagementBase = {
+ /** The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///` */
+ resourceUri?: string;
+};
+
+alias ApiGatewayBase = {
+ /** The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service//gateways/` */
+ resourceUri?: string;
+};
+
+alias ApiGatewayHostnameBase = {
+ /** The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service//gateways//hostnameConfigurations/` */
+ resourceUri?: string;
+};
+
+alias ApiGatewayCertificateBase = {
+ /** The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service//gateways//certificateAuthorities/` */
+ resourceUri?: string;
+};
+
+alias ApiGatewayApiBase = {
+ /** The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service//gateways//apis/` */
+ resourceUri?: string;
+};
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/AppConfiguration.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/AppConfiguration.tsp
new file mode 100644
index 0000000000000..b0eb4b6da095f
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/AppConfiguration.tsp
@@ -0,0 +1,54 @@
+/** Describes the schema of the Azure App Configuration events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent. */
+namespace Microsoft.EventGrid.SystemEvents;
+// need to figure out an alternative to this method --- should we pass in docstring here or should we just copy/paste and see what happens
+/** Schema of the Data property of an EventGridEvent for a Microsoft.AppConfiguration.KeyValueModified event. */
+model AppConfigurationKeyValueModifiedEventData {
+ /** The key used to identify the key-value that was modified. */
+ key?: string;
+
+ /** The label, if any, used to identify the key-value that was modified. */
+ label?: string;
+
+ /** The etag representing the new state of the key-value. */
+ etag?: string;
+
+ /** The sync token representing the server state after the event. */
+ syncToken?: string;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.AppConfiguration.KeyValueDeleted event. */
+model AppConfigurationKeyValueDeletedEventData {
+ /** The key used to identify the key-value that was deleted. */
+ key?: string;
+
+ /** The label, if any, used to identify the key-value that was deleted. */
+ label?: string;
+
+ /** The etag representing the key-value that was deleted. */
+ etag?: string;
+
+ /** The sync token representing the server state after the event. */
+ syncToken?: string;
+}
+
+/** Schema of common properties of snapshot events */
+model AppConfigurationSnapshotEventData {
+ /** The name of the snapshot. */
+ name?: string;
+
+ /** The etag representing the new state of the snapshot. */
+ etag?: string;
+
+ /** The sync token representing the server state after the event. */
+ syncToken?: string;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.AppConfiguration.SnapshotCreated event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AppConfigurationSnapshotCreatedEventData
+ extends AppConfigurationSnapshotEventData {}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.AppConfiguration.SnapshotModified event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AppConfigurationSnapshotModifiedEventData
+ extends AppConfigurationSnapshotEventData {}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/AzureCommunicationServices.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/AzureCommunicationServices.tsp
new file mode 100644
index 0000000000000..a92fe86b11f75
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/AzureCommunicationServices.tsp
@@ -0,0 +1,1085 @@
+/** Describes the schema of the Azure Communication Services events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent. */
+namespace Microsoft.EventGrid.SystemEvents;
+
+/** Schema of the Data property of an EventGridEvent for an Microsoft.Communication.IncomingCall event */
+model AcsIncomingCallEventData {
+ /** The communication identifier of the target user. */
+ to?: CommunicationIdentifierModel;
+
+ /** The communication identifier of the user who initiated the call. */
+ from?: CommunicationIdentifierModel;
+
+ /** The Id of the server call */
+ serverCallId?: string;
+
+ /** Display name of caller. */
+ callerDisplayName?: string;
+
+ /** Custom Context of Incoming Call */
+ customContext?: AcsIncomingCallCustomContext;
+
+ /** Signed incoming call context. */
+ incomingCallContext?: string;
+
+ /** CorrelationId (CallId). */
+ correlationId?: string;
+}
+
+/** Schema of the Data property of an EventGridEvent for an Microsoft.Communication.UserDisconnected event. */
+model AcsUserDisconnectedEventData {
+ /** The communication identifier of the user who was disconnected */
+ userCommunicationIdentifier?: CommunicationIdentifierModel;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageReceived event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsChatMessageReceivedEventData
+ extends AcsChatMessageEventBaseProperties {
+ ...AcsChatMessageBaseEventData;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageReceivedInThread event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsChatMessageReceivedInThreadEventData
+ extends AcsChatMessageEventInThreadBaseProperties {
+ ...AcsChatMessageBaseEventData;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageEdited event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsChatMessageEditedEventData extends AcsChatMessageEventBaseProperties {
+ ...AcsChatMessageBaseEventData;
+
+ /** The time at which the message was edited */
+ editTime?: utcDateTime;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageEditedInThread event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsChatMessageEditedInThreadEventData
+ extends AcsChatMessageEventInThreadBaseProperties {
+ ...AcsChatMessageBaseEventData;
+
+ /** The time at which the message was edited */
+ editTime?: utcDateTime;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageDeleted event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsChatMessageDeletedEventData extends AcsChatMessageEventBaseProperties {
+ /** The time at which the message was deleted */
+ deleteTime?: utcDateTime;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageDeletedInThread event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsChatMessageDeletedInThreadEventData
+ extends AcsChatMessageEventInThreadBaseProperties {
+ /** The time at which the message was deleted */
+ deleteTime?: utcDateTime;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadCreatedWithUser event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsChatThreadCreatedWithUserEventData
+ extends AcsChatThreadEventBaseProperties {
+ ...AcsChatThreadBaseEventData;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadCreated event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsChatThreadCreatedEventData
+ extends AcsChatThreadEventInThreadBaseProperties {
+ ...AcsChatThreadBaseEventData;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadWithUserDeleted event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsChatThreadWithUserDeletedEventData
+ extends AcsChatThreadEventBaseProperties {
+ ...AcsChatThreadDeletedBaseEventData;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadDeleted event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsChatThreadDeletedEventData
+ extends AcsChatThreadEventInThreadBaseProperties {
+ ...AcsChatThreadDeletedBaseEventData;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadPropertiesUpdatedPerUser event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsChatThreadPropertiesUpdatedPerUserEventData
+ extends AcsChatThreadEventBaseProperties {
+ /** The communication identifier of the user who updated the thread properties */
+ editedByCommunicationIdentifier?: CommunicationIdentifierModel;
+
+ /** The time at which the properties of the thread were updated */
+ editTime?: utcDateTime;
+
+ /** The thread metadata */
+ metadata?: Record;
+
+ /** The updated thread properties */
+ #suppress "@azure-tools/typespec-azure-core/bad-record-type" "The type of properties is object with additionalProperties: object"
+ properties?: Record;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadPropertiesUpdated event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsChatThreadPropertiesUpdatedEventData
+ extends AcsChatThreadEventInThreadBaseProperties {
+ ...AcsChatThreadPropertiesBaseEventData;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatParticipantAddedToThreadWithUser event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsChatParticipantAddedToThreadWithUserEventData
+ extends AcsChatThreadEventBaseProperties {
+ ...AcsChatParticipantBaseEventData;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatParticipantRemovedFromThreadWithUser event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsChatParticipantRemovedFromThreadWithUserEventData
+ extends AcsChatThreadEventBaseProperties {
+ /** The time at which the user was removed to the thread */
+ time?: utcDateTime;
+
+ /** The communication identifier of the user who removed the user */
+ removedByCommunicationIdentifier?: CommunicationIdentifierModel;
+
+ /** The details of the user who was removed */
+ participantRemoved?: AcsChatThreadParticipantProperties;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadParticipantAdded event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsChatParticipantAddedToThreadEventData
+ extends AcsChatEventInThreadBaseProperties {
+ ...AcsChatParticipantBaseEventData;
+
+ /** The version of the thread */
+ version?: int64;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadParticipantRemoved event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsChatParticipantRemovedFromThreadEventData
+ extends AcsChatEventInThreadBaseProperties {
+ /** The time at which the user was removed to the thread */
+ time?: utcDateTime;
+
+ /** The communication identifier of the user who removed the user */
+ removedByCommunicationIdentifier?: CommunicationIdentifierModel;
+
+ /** The details of the user who was removed */
+ participantRemoved?: AcsChatThreadParticipantProperties;
+
+ /** The version of the thread */
+ version?: int64;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.SMSDeliveryReportReceived event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsSmsDeliveryReportReceivedEventData extends AcsSmsEventBaseProperties {
+ /** Status of Delivery */
+ deliveryStatus?: string;
+
+ /** Details about Delivery Status */
+ deliveryStatusDetails?: string;
+
+ /** List of details of delivery attempts made */
+ deliveryAttempts?: AcsSmsDeliveryAttemptProperties[];
+
+ /** The time at which the SMS delivery report was received */
+ receivedTimestamp?: utcDateTime;
+
+ /** Customer Content */
+ tag?: string;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.SMSReceived event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsSmsReceivedEventData extends AcsSmsEventBaseProperties {
+ /** The SMS content */
+ message?: string;
+
+ /** The time at which the SMS was received */
+ receivedTimestamp?: utcDateTime;
+}
+
+//TODO: This might need some fixing
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RecordingFileStatusUpdated event. */
+model AcsRecordingFileStatusUpdatedEventData {
+ /** The details of recording storage information */
+ recordingStorageInfo?: AcsRecordingStorageInfoProperties;
+
+ /** The time at which the recording started */
+ recordingStartTime?: utcDateTime;
+
+ /** The recording duration in milliseconds */
+ recordingDurationMs?: int64;
+
+ /** The recording content type- AudioVideo, or Audio */
+ recordingContentType?: recordingContentType;
+
+ /** The recording channel type - Mixed, Unmixed */
+ recordingChannelType?: recordingChannelType;
+
+ /** The recording format type - Mp4, Mp3, Wav */
+ recordingFormatType?: recordingFormatType;
+
+ /** The reason for ending recording session */
+ sessionEndReason?: string;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.EmailDeliveryReportReceived event. */
+model AcsEmailDeliveryReportReceivedEventData {
+ /** The Sender Email Address */
+ sender?: string;
+
+ /** The recipient Email Address */
+ recipient?: string;
+
+ /** The Id of the email been sent */
+ messageId?: string;
+
+ /** The status of the email. Any value other than Delivered is considered failed. */
+ status?: AcsEmailDeliveryReportStatus;
+
+ /** Detailed information about the status if any */
+ deliveryStatusDetails?: AcsEmailDeliveryReportStatusDetails;
+
+ /** The time at which the email delivery report received timestamp */
+ deliveryAttemptTimeStamp?: utcDateTime;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.EmailEngagementTrackingReportReceived event. */
+model AcsEmailEngagementTrackingReportReceivedEventData {
+ /** The Sender Email Address */
+ sender?: string;
+
+ /** The Recipient Email Address */
+ recipient?: string;
+
+ /** The Id of the email that has been sent */
+ messageId?: string;
+
+ /** The time at which the user interacted with the email */
+ userActionTimeStamp?: utcDateTime;
+
+ /** The context of the type of engagement user had with email */
+ engagementContext?: string;
+
+ /** The user agent interacting with the email */
+ userAgent?: string;
+
+ /** The type of engagement user have with email */
+ engagementType?: AcsUserEngagement;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobCancelled event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsRouterJobCancelledEventData extends AcsRouterJobEventData {
+ /** Router Job Note */
+ note?: string;
+
+ /** Router Job Disposition Code */
+ dispositionCode?: string;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobClassificationFailed event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsRouterJobClassificationFailedEventData extends AcsRouterJobEventData {
+ /** Router Job Classification Policy Id */
+ classificationPolicyId?: string;
+
+ /** Router Job Classification Failed Errors */
+ errors?: AcsRouterCommunicationError[];
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobClassified event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsRouterJobClassifiedEventData extends AcsRouterJobEventData {
+ /** Router Job Queue Info */
+ queueDetails?: AcsRouterQueueDetails;
+
+ /** Router Job Classification Policy Id */
+ classificationPolicyId?: string;
+
+ /** Router Job Priority */
+ priority?: int32;
+
+ /** Router Job Attached Worker Selector */
+ attachedWorkerSelectors?: AcsRouterWorkerSelector[];
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobClosed event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsRouterJobClosedEventData extends AcsRouterJobEventData {
+ /** Router Job Closed Assignment Id */
+ assignmentId?: string;
+
+ /** Router Job Closed Worker Id */
+ workerId?: string;
+
+ /** Router Job Closed Disposition Code */
+ dispositionCode?: string;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobCompleted event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsRouterJobCompletedEventData extends AcsRouterJobEventData {
+ /** Router Job Completed Assignment Id */
+ assignmentId?: string;
+
+ /** Router Job Completed Worker Id */
+ workerId?: string;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobDeleted event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsRouterJobDeletedEventData extends AcsRouterJobEventData {}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobExceptionTriggered event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsRouterJobExceptionTriggeredEventData extends AcsRouterJobEventData {
+ /** Router Job Exception Triggered Rule Key */
+ ruleKey?: string;
+
+ /** Router Job Exception Triggered Rule Id */
+ exceptionRuleId?: string;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobQueued event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsRouterJobQueuedEventData extends AcsRouterJobEventData {
+ /** Router Job Priority */
+ priority?: int32;
+
+ /** Router Job Queued Attached Worker Selector */
+ attachedWorkerSelectors?: AcsRouterWorkerSelector[];
+
+ /** Router Job Queued Requested Worker Selector */
+ requestedWorkerSelectors?: AcsRouterWorkerSelector[];
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobReceived event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsRouterJobReceivedEventData extends AcsRouterJobEventData {
+ /** Router Job Received Job Status */
+ jobStatus?: AcsRouterJobStatus;
+
+ /** Router Job Classification Policy Id */
+ classificationPolicyId?: string;
+
+ /** Router Job Priority */
+ priority?: int32;
+
+ /** Router Job Received Requested Worker Selectors */
+ requestedWorkerSelectors?: AcsRouterWorkerSelector[];
+
+ /** Router Job Received Scheduled Time in UTC */
+ scheduledOn?: utcDateTime;
+
+ /** Unavailable For Matching for Router Job Received */
+ unavailableForMatching: boolean;
+}
+
+/** Acs Router Job Status */
+union AcsRouterJobStatus {
+ /** Router Job Status Pending Classification */
+ "PendingClassification",
+
+ /** Router Job Status Queued */
+ "Queued",
+
+ /** Router Job Status Assigned */
+ "Assigned",
+
+ /** Router Job Status Completed */
+ "Completed",
+
+ /** Router Job Status Closed */
+ "Closed",
+
+ /** Router Job Status Cancelled */
+ "Cancelled",
+
+ /** Router Job Status Classification Failed */
+ "ClassificationFailed",
+
+ /** Router Job Status Created */
+ "Created",
+
+ /** Router Job Status Pending Schedule */
+ "PendingSchedule",
+
+ /** Router Job Status Scheduled */
+ "Scheduled",
+
+ /** Router Job Status Schedule Failed */
+ "ScheduleFailed",
+
+ /** Router Job Status Waiting For Activation */
+ "WaitingForActivation",
+
+ string,
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobSchedulingFailed event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsRouterJobSchedulingFailedEventData extends AcsRouterJobEventData {
+ /** Router Job Priority */
+ priority?: int32;
+
+ /** Router Job Scheduling Failed Attached Worker Selector Expired */
+ expiredAttachedWorkerSelectors?: AcsRouterWorkerSelector[];
+
+ /** Router Job Scheduling Failed Requested Worker Selector Expired */
+ expiredRequestedWorkerSelectors?: AcsRouterWorkerSelector[];
+
+ /** Router Job Scheduling Failed Scheduled Time in UTC */
+ // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
+ scheduledOn?: utcDateTime;
+
+ /** Router Job Scheduling Failed Reason */
+ failureReason?: string;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobUnassigned event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsRouterJobUnassignedEventData extends AcsRouterJobEventData {
+ /** Router Job Unassigned Assignment Id */
+ assignmentId?: string;
+
+ /** Router Job Unassigned Worker Id */
+ workerId?: string;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobWaitingForActivation event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsRouterJobWaitingForActivationEventData extends AcsRouterJobEventData {
+ /** Router Job Waiting For Activation Priority */
+ priority?: int32;
+
+ /** Router Job Waiting For Activation Worker Selector Expired */
+ expiredAttachedWorkerSelectors?: AcsRouterWorkerSelector[];
+
+ /** Router Job Waiting For Activation Requested Worker Selector Expired */
+ expiredRequestedWorkerSelectors?: AcsRouterWorkerSelector[];
+
+ /** Router Job Waiting For Activation Scheduled Time in UTC */
+ // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
+ scheduledOn?: utcDateTime;
+
+ /** Router Job Waiting For Activation Unavailable For Matching */
+ unavailableForMatching: boolean;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobWorkerSelectorsExpired event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsRouterJobWorkerSelectorsExpiredEventData
+ extends AcsRouterJobEventData {
+ /** Router Job Worker Selectors Expired Requested Worker Selectors */
+ expiredRequestedWorkerSelectors?: AcsRouterWorkerSelector[];
+
+ /** Router Job Worker Selectors Expired Attached Worker Selectors */
+ expiredAttachedWorkerSelectors?: AcsRouterWorkerSelector[];
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterWorkerDeleted event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsRouterWorkerDeletedEventData extends AcsRouterWorkerEventData {}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterWorkerDeregistered event */
+model AcsRouterWorkerDeregisteredEventData {
+ /** Router Worker Deregistered Worker Id */
+ workerId?: string;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterWorkerOfferAccepted event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsRouterWorkerOfferAcceptedEventData extends AcsRouterWorkerEventData {
+ /** Router Worker Offer Accepted Queue Id */
+ queueId?: string;
+
+ /** Router Worker Offer Accepted Offer Id */
+ offerId?: string;
+
+ /** Router Worker Offer Accepted Assignment Id */
+ assignmentId?: string;
+
+ /** Router Worker Offer Accepted Job Priority */
+ jobPriority?: int32;
+
+ /** Router Worker Offer Accepted Worker Labels */
+ workerLabels?: Record;
+
+ /** Router Worker Offer Accepted Worker Tags */
+ workerTags?: Record;
+
+ /** Router Worker Offer Accepted Job Labels */
+ jobLabels?: Record;
+
+ /** Router Worker Offer Accepted Job Tags */
+ jobTags?: Record;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterWorkerOfferDeclined event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsRouterWorkerOfferDeclinedEventData extends AcsRouterWorkerEventData {
+ /** Router Worker Offer Declined Queue Id */
+ queueId?: string;
+
+ /** Router Worker Offer Declined Offer Id */
+ offerId?: string;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterWorkerOfferExpired event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsRouterWorkerOfferExpiredEventData extends AcsRouterWorkerEventData {
+ /** Router Worker Offer Expired Queue Id */
+ queueId?: string;
+
+ /** Router Worker Offer Expired Offer Id */
+ offerId?: string;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterWorkerOfferIssued event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsRouterWorkerOfferIssuedEventData extends AcsRouterWorkerEventData {
+ /** Router Worker Offer Issued Queue Id */
+ queueId?: string;
+
+ /** Router Worker Offer Issued Offer Id */
+ offerId?: string;
+
+ /** Router Worker Offer Issued Job Priority */
+ jobPriority?: int32;
+
+ /** Router Worker Offer Issued Worker Labels */
+ workerLabels?: Record;
+
+ /** Router Worker Offer Issued Time in UTC */
+ // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
+ offeredOn?: utcDateTime;
+
+ /** Router Worker Offer Issued Expiration Time in UTC */
+ // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
+ expiresOn?: utcDateTime;
+
+ /** Router Worker Offer Issued Worker Tags */
+ workerTags?: Record;
+
+ /** Router Worker Offer Issued Job Labels */
+ jobLabels?: Record;
+
+ /** Router Worker Offer Issued Job Tags */
+ jobTags?: Record;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterWorkerOfferRevoked event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsRouterWorkerOfferRevokedEventData extends AcsRouterWorkerEventData {
+ /** Router Worker Offer Revoked Queue Id */
+ queueId?: string;
+
+ /** Router Worker Offer Revoked Offer Id */
+ offerId?: string;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterWorkerRegistered event */
+model AcsRouterWorkerRegisteredEventData {
+ /** Router Worker Registered Worker Id */
+ workerId?: string;
+
+ /** Router Worker Registered Queue Info */
+ queueAssignments?: AcsRouterQueueDetails[];
+
+ /** Router Worker Registered Channel Configuration */
+ channelConfigurations?: AcsRouterChannelConfiguration[];
+
+ /** Router Worker Register Total Capacity */
+ totalCapacity?: int32;
+
+ /** Router Worker Registered Labels */
+ labels?: Record;
+
+ /** Router Worker Registered Tags */
+ tags?: Record;
+}
+
+// Base Properties
+/** Schema of common properties of all Router Job events */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsRouterJobEventData extends AcsRouterEventData {
+ /** Router Job events Queue Id */
+ queueId?: string;
+
+ /** Router Job events Labels */
+ labels?: Record;
+
+ /** Router Jobs events Tags */
+ tags?: Record;
+}
+
+/** Schema of common properties of all Router Worker events */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsRouterWorkerEventData extends AcsRouterEventData {
+ /** Router Worker events Worker Id */
+ workerId?: string;
+}
+
+/** Schema of common properties of all Router events */
+model AcsRouterEventData {
+ /** Router Event Job ID */
+ jobId?: string;
+
+ /** Router Event Channel Reference */
+ channelReference?: string;
+
+ /** Router Event Channel ID */
+ channelId?: string;
+}
+
+/** Router Channel Configuration */
+model AcsRouterChannelConfiguration {
+ /** Channel ID for Router Job */
+ channelId?: string;
+
+ /** Capacity Cost Per Job for Router Job */
+ capacityCostPerJob?: int32;
+
+ /** Max Number of Jobs for Router Job */
+ maxNumberOfJobs?: int32;
+}
+
+/** Router Queue Details */
+model AcsRouterQueueDetails {
+ /** Router Queue Id */
+ id?: string;
+
+ /** Router Queue Name */
+ name?: string;
+
+ /** Router Queue Labels */
+ labels?: Record;
+}
+
+/** Router Communication Error */
+model AcsRouterCommunicationError {
+ /** Router Communication Error Code */
+ code?: string;
+
+ /** Router Communication Error Message */
+ message?: string;
+
+ /** Router Communication Error Target */
+ target?: string;
+
+ /** Router Communication Inner Error */
+ innererror?: AcsRouterCommunicationError;
+
+ /** List of Router Communication Errors */
+ details?: AcsRouterCommunicationError[];
+}
+
+/** Router Job Worker Selector */
+model AcsRouterWorkerSelector {
+ /** Router Job Worker Selector Key */
+ key?: string;
+
+ /** Router Job Worker Selector Label Operator */
+ operator?: AcsRouterLabelOperator;
+
+ /** Router Job Worker Selector Value */
+ #suppress "@azure-tools/typespec-azure-core/no-unknown" "The type of labelValue is object"
+ labelValue?: unknown;
+
+ /** Router Job Worker Selector Time to Live in Seconds */
+ @encode("ISO8601") // TODO verify this is timespan in C#
+ ttlSeconds?: duration;
+
+ /** Router Job Worker Selector State */
+ selectorState?: AcsRouterWorkerSelectorState;
+
+ /** Router Job Worker Selector Expiration Time */
+ expirationTime?: utcDateTime;
+}
+
+alias AcsChatMessageBaseEventData = {
+ /** The body of the chat message */
+ messageBody?: string;
+
+ /** The chat message metadata */
+ metadata?: Record;
+};
+
+alias AcsChatThreadBaseEventData = {
+ /** The communication identifier of the user who created the thread */
+ createdByCommunicationIdentifier?: CommunicationIdentifierModel;
+
+ /** The thread properties */
+ #suppress "@azure-tools/typespec-azure-core/bad-record-type" "The type of properties is object with additionalProperties: object"
+ properties?: Record;
+
+ /** The thread metadata */
+ metadata?: Record;
+
+ /** The list of properties of participants who are part of the thread */
+ participants?: AcsChatThreadParticipantProperties[];
+};
+
+alias AcsChatThreadDeletedBaseEventData = {
+ /** The communication identifier of the user who deleted the thread */
+ deletedByCommunicationIdentifier?: CommunicationIdentifierModel;
+
+ /** The deletion time of the thread */
+ deleteTime?: utcDateTime;
+};
+
+alias AcsChatThreadPropertiesBaseEventData = {
+ /** The communication identifier of the user who updated the thread properties */
+ editedByCommunicationIdentifier?: CommunicationIdentifierModel;
+
+ /** The time at which the properties of the thread were updated */
+ editTime?: utcDateTime;
+
+ /** The updated thread properties */
+ #suppress "@azure-tools/typespec-azure-core/bad-record-type" "The type of properties is object with additionalProperties: object"
+ properties?: Record;
+
+ /** The thread metadata */
+ metadata?: Record;
+};
+
+alias AcsChatParticipantBaseEventData = {
+ /** The time at which the user was added to the thread */
+ time?: utcDateTime;
+
+ /** The communication identifier of the user who added the user */
+ addedByCommunicationIdentifier?: CommunicationIdentifierModel;
+
+ /** The details of the user who was added */
+ participantAdded?: AcsChatThreadParticipantProperties;
+};
+
+/** Recording content type */
+union recordingContentType {
+ /** AudioVideo content type */
+ "AudioVideo",
+
+ /** Audio content type */
+ "Audio",
+
+ string,
+}
+
+/** Recording channel type */
+union recordingChannelType {
+ /** Mixed channel type */
+ "Mixed",
+
+ /** Unmixed channel type */
+ "Unmixed",
+
+ string,
+}
+
+/** Recording format type */
+union recordingFormatType {
+ /** WAV format */
+ "Wav",
+
+ /** MP3 format */
+ "Mp3",
+
+ /** MP4 format */
+ "Mp4",
+
+ string,
+}
+
+/** Router Job Worker Selector Label Operator */
+union AcsRouterLabelOperator {
+ /** Router Label Operator Equal */
+ "Equal",
+
+ /** Router Label Operator Not Equal */
+ "NotEqual",
+
+ /** Router Label Operator Greater */
+ "Greater",
+
+ /** Router Label Operator Less */
+ "Less",
+
+ /** Router Label Operator Greater than or equal */
+ "GreaterThanOrEqual",
+
+ /** Router Label Operator Less than or equal */
+ "LessThanOrEqual",
+
+ string,
+}
+
+/** Router Worker Selector State */
+union AcsRouterWorkerSelectorState {
+ /** Router Worker Selector State Active */
+ Active: "active",
+
+ /** Router Worker Selector State Expired */
+ Expired: "expired",
+
+ string,
+}
+
+/** The status of the email. Any value other than Delivered is considered failed. */
+union AcsEmailDeliveryReportStatus {
+ /** Hard bounce detected while sending the email */
+ "Bounced",
+
+ /** The email was delivered */
+ "Delivered",
+
+ /** The email failed to be delivered */
+ "Failed",
+
+ /** The message was identified as spam and was rejected or blocked (not quarantined). */
+ "FilteredSpam",
+
+ /** The message was quarantined (as spam, bulk mail, or phishing). For more information, see Quarantined email messages in EOP (EXCHANGE ONLINE PROTECTION). */
+ "Quarantined",
+
+ /** The email was suppressed */
+ "Suppressed",
+
+ string,
+}
+
+/** Detailed information about the status if any */
+model AcsEmailDeliveryReportStatusDetails {
+ /** Detailed status message */
+ statusMessage?: string;
+}
+
+/** Schema of common properties of all chat thread events */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsChatThreadEventBaseProperties extends AcsChatEventBaseProperties {
+ /** The original creation time of the thread */
+ createTime?: utcDateTime;
+
+ /** The version of the thread */
+ version?: int64;
+}
+
+/** Schema of common properties of all chat thread events */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsChatThreadEventInThreadBaseProperties
+ extends AcsChatEventInThreadBaseProperties {
+ /** The original creation time of the thread */
+ createTime?: utcDateTime;
+
+ /** The version of the thread */
+ version?: int64;
+}
+
+/** Schema of common properties of all chat message events */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsChatMessageEventBaseProperties extends AcsChatEventBaseProperties {
+ /** The chat message id */
+ messageId?: string;
+
+ /** The communication identifier of the sender */
+ senderCommunicationIdentifier?: CommunicationIdentifierModel;
+
+ /** The display name of the sender */
+ senderDisplayName?: string;
+
+ /** The original compose time of the message */
+ composeTime?: utcDateTime;
+
+ /** The type of the message */
+ type?: string;
+
+ /** The version of the message */
+ version?: int64;
+}
+
+/** Schema of common properties of all thread-level chat message events */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model AcsChatMessageEventInThreadBaseProperties
+ extends AcsChatEventInThreadBaseProperties {
+ /** The chat message id */
+ messageId?: string;
+
+ /** The communication identifier of the sender */
+ senderCommunicationIdentifier?: CommunicationIdentifierModel;
+
+ /** The display name of the sender */
+ senderDisplayName?: string;
+
+ /** The original compose time of the message */
+ composeTime?: utcDateTime;
+
+ /** The type of the message */
+ type?: string;
+
+ /** The version of the message */
+ version?: int64;
+}
+
+/** Schema of common properties of all thread-level chat events */
+model AcsChatEventInThreadBaseProperties {
+ /** The transaction id will be used as co-relation vector */
+ transactionId?: string;
+
+ /** The chat thread id */
+ threadId?: string;
+}
+
+/** Schema of common properties of all chat events */
+model AcsChatEventBaseProperties {
+ /** The communication identifier of the target user */
+ recipientCommunicationIdentifier?: CommunicationIdentifierModel;
+
+ ...AcsChatEventInThreadBaseProperties;
+}
+
+/** Schema of the chat thread participant */
+model AcsChatThreadParticipantProperties {
+ /** The name of the user */
+ displayName?: string;
+
+ /** The communication identifier of the user */
+ participantCommunicationIdentifier?: CommunicationIdentifierModel;
+
+ /** The metadata of the user */
+ metadata?: Record;
+}
+
+/** Schema of common properties of all SMS events */
+model AcsSmsEventBaseProperties {
+ /** The identity of the SMS message */
+ messageId?: string;
+
+ /** The identity of SMS message sender */
+ from?: string;
+
+ /** The identity of SMS message receiver */
+ to?: string;
+}
+
+/** Schema for details of a delivery attempt */
+model AcsSmsDeliveryAttemptProperties {
+ /** TimeStamp when delivery was attempted */
+ timestamp?: utcDateTime;
+
+ /** Number of segments that were successfully delivered */
+ segmentsSucceeded?: int32;
+
+ /** Number of segments whose delivery failed */
+ segmentsFailed?: int32;
+}
+
+/** Schema for all properties of Recording Storage Information. */
+model AcsRecordingStorageInfoProperties {
+ /** List of details of recording chunks information */
+ recordingChunks?: AcsRecordingChunkInfoProperties[];
+}
+
+/** Schema for all properties of Recording Chunk Information. */
+model AcsRecordingChunkInfoProperties {
+ /** The documentId of the recording chunk */
+ documentId?: string;
+
+ /** The index of the recording chunk */
+ index?: int64;
+
+ /** The reason for ending the recording chunk */
+ endReason?: string;
+
+ /** The location of the metadata for this chunk */
+ metadataLocation?: string;
+
+ /** The location of the content for this chunk */
+ contentLocation?: string;
+
+ /** The location to delete all chunk storage */
+ deleteLocation?: string;
+}
+
+/** Custom Context of Incoming Call */
+model AcsIncomingCallCustomContext {
+ /** Sip Headers for incoming call */
+ sipHeaders?: Record;
+
+ /** Voip Headers for incoming call */
+ voipHeaders?: Record;
+}
+
+/** The type of engagement user have with email. */
+union AcsUserEngagement {
+ /** View */
+ "view",
+
+ /** Click */
+ "click",
+
+ string,
+}
+
+/** Identifies a participant in Azure Communication services. A participant is, for example, a phone number or an Azure communication user. This model must be interpreted as a union: Apart from rawId, at most one further property may be set. */
+model CommunicationIdentifierModel {
+ /** Raw Id of the identifier. Optional in requests, required in responses. */
+ rawId?: string;
+
+ /** The communication user. */
+ communicationUser?: CommunicationUserIdentifierModel;
+
+ /** The phone number. */
+ phoneNumber?: PhoneNumberIdentifierModel;
+
+ /** The Microsoft Teams user. */
+ microsoftTeamsUser?: MicrosoftTeamsUserIdentifierModel;
+}
+
+/** A Microsoft Teams user. */
+model MicrosoftTeamsUserIdentifierModel {
+ /** The Id of the Microsoft Teams user. If not anonymous, this is the AAD object Id of the user. */
+ userId: string;
+
+ /** True if the Microsoft Teams user is anonymous. By default false if missing. */
+ isAnonymous?: boolean;
+
+ /** The cloud that the Microsoft Teams user belongs to. By default 'public' if missing. */
+ cloud?: CommunicationCloudEnvironmentModel;
+}
+
+/** A phone number. */
+model PhoneNumberIdentifierModel {
+ /** The phone number in E.164 format. */
+ value: string;
+}
+
+/** A user that got created with an Azure Communication Services resource. */
+model CommunicationUserIdentifierModel {
+ /** The Id of the communication user. */
+ id: string;
+}
+
+/** Communication cloud environment model. */
+union CommunicationCloudEnvironmentModel {
+ /** Public */
+ "public",
+
+ /** Dod */
+ "dod",
+
+ /** Gcch */
+ "gcch",
+
+ string,
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/ContainerRegistry.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/ContainerRegistry.tsp
new file mode 100644
index 0000000000000..3fb624ae24fac
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/ContainerRegistry.tsp
@@ -0,0 +1,171 @@
+/** Describes the schema of the Azure Container Registry events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent. */
+namespace Microsoft.EventGrid.SystemEvents;
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ContainerRegistry.ImagePushed event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model ContainerRegistryImagePushedEventData
+ extends ContainerRegistryEventData {}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ContainerRegistry.ImageDeleted event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model ContainerRegistryImageDeletedEventData
+ extends ContainerRegistryEventData {}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ContainerRegistry.ChartPushed event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model ContainerRegistryChartPushedEventData
+ extends ContainerRegistryArtifactEventData {}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ContainerRegistry.ChartDeleted event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model ContainerRegistryChartDeletedEventData
+ extends ContainerRegistryArtifactEventData {}
+
+alias ContainerRegistryBaseEventData = {
+ /** The event ID. */
+ id?: string;
+
+ /** The time at which the event occurred. */
+ timestamp?: utcDateTime;
+
+ /** The action that encompasses the provided event. */
+ action?: string;
+
+ /** The location of the event. */
+ location?: string;
+};
+
+/** The content of the event request message. */
+model ContainerRegistryEventData {
+ ...ContainerRegistryBaseEventData;
+
+ /** The target of the event. */
+ target?: ContainerRegistryEventTarget;
+
+ /** The request that generated the event. */
+ request?: ContainerRegistryEventRequest;
+
+ /** The agent that initiated the event. For most situations, this could be from the authorization context of the request. */
+ actor?: ContainerRegistryEventActor;
+
+ /** The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it. */
+ source?: ContainerRegistryEventSource;
+
+ /** The connected registry information if the event is generated by a connected registry. */
+ connectedRegistry?: ContainerRegistryEventConnectedRegistry;
+}
+
+/** The content of the event request message. */
+model ContainerRegistryArtifactEventData {
+ ...ContainerRegistryBaseEventData;
+
+ /** The target of the event. */
+ target?: ContainerRegistryArtifactEventTarget;
+
+ /** The connected registry information if the event is generated by a connected registry. */
+ connectedRegistry?: ContainerRegistryEventConnectedRegistry;
+}
+
+/** The target of the event. */
+model ContainerRegistryEventTarget {
+ /** The MIME type of the referenced object. */
+ mediaType?: string;
+
+ /** The number of bytes of the content. Same as Length field. */
+ size?: int64;
+
+ /** The digest of the content, as defined by the Registry V2 HTTP API Specification. */
+ digest?: string;
+
+ /** The number of bytes of the content. Same as Size field. */
+ length?: int64;
+
+ /** The repository name. */
+ repository?: string;
+
+ /** The direct URL to the content. */
+ url?: string;
+
+ /** The tag name. */
+ tag?: string;
+}
+
+/** The target of the event. */
+model ContainerRegistryArtifactEventTarget {
+ ...ContainerRegistryBaseEventTarget<
+ "The MIME type of the artifact.",
+ "The size in bytes of the artifact.",
+ "The digest of the artifact.",
+ "The repository name of the artifact.",
+ "The tag of the artifact."
+ >;
+
+ /** The name of the artifact. */
+ name?: string;
+
+ /** The version of the artifact. */
+ version?: string;
+}
+
+/** The request that generated the event. */
+model ContainerRegistryEventRequest {
+ /** The ID of the request that initiated the event. */
+ id?: string;
+
+ /** The IP or hostname and possibly port of the client connection that initiated the event. This is the RemoteAddr from the standard http request. */
+ addr?: string;
+
+ /** The externally accessible hostname of the registry instance, as specified by the http host header on incoming requests. */
+ host?: string;
+
+ /** The request method that generated the event. */
+ method?: string;
+
+ /** The user agent header of the request. */
+ useragent?: string;
+}
+
+/** The agent that initiated the event. For most situations, this could be from the authorization context of the request. */
+model ContainerRegistryEventActor {
+ /** The subject or username associated with the request context that generated the event. */
+ name?: string;
+}
+
+/** The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it. */
+model ContainerRegistryEventSource {
+ /** The IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port. */
+ addr?: string;
+
+ /** The running instance of an application. Changes after each restart. */
+ #suppress "@azure-tools/typespec-azure-core/casing-style" "Modeling after the existing service swagger."
+ instanceID?: string;
+}
+
+/** The connected registry information if the event is generated by a connected registry. */
+model ContainerRegistryEventConnectedRegistry {
+ /** The name of the connected registry that generated this event. */
+ name?: string;
+}
+
+alias ContainerRegistryBaseEventTarget<
+ TmediaType extends valueof string,
+ Tsize extends valueof string,
+ Tdigest extends valueof string,
+ Trepository extends valueof string,
+ Ttag extends valueof string
+> = {
+ @doc(TmediaType)
+ mediaType?: string;
+
+ @doc(Tsize)
+ size?: int64;
+
+ @doc(Tdigest)
+ digest?: string;
+
+ @doc(Trepository)
+ repository?: string;
+
+ @doc(Ttag)
+ tag?: string;
+};
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/ContainerService.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/ContainerService.tsp
new file mode 100644
index 0000000000000..289a00adda272
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/ContainerService.tsp
@@ -0,0 +1,54 @@
+/** Describes the schema of the Azure Kubernetes Service events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent */
+namespace Microsoft.EventGrid.SystemEvents;
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ContainerService.NewKubernetesVersionAvailable event */
+model ContainerServiceNewKubernetesVersionAvailableEventData {
+ /** The highest PATCH Kubernetes version for the highest MINOR version supported by ManagedCluster resource */
+ latestSupportedKubernetesVersion?: string;
+
+ /** The highest PATCH Kubernetes version for the MINOR version considered stable for the ManagedCluster resource */
+ latestStableKubernetesVersion?: string;
+
+ /** The highest PATCH Kubernetes version for the lowest applicable MINOR version available for the ManagedCluster resource */
+ lowestMinorKubernetesVersion?: string;
+
+ /** The highest PATCH Kubernetes version considered preview for the ManagedCluster resource. There might not be any version in preview at the time of publishing the event */
+ latestPreviewKubernetesVersion?: string;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ContainerService.ClusterSupportEnded event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model ContainerServiceClusterSupportEndedEventData
+ extends ContainerServiceClusterSupportEventData {}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ContainerService.ClusterSupportEnding event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model ContainerServiceClusterSupportEndingEventData
+ extends ContainerServiceClusterSupportEventData {}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ContainerService.NodePoolRollingStarted event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model ContainerServiceNodePoolRollingStartedEventData
+ extends ContainerServiceNodePoolRollingEventData {}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ContainerService.NodePoolRollingSucceeded event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model ContainerServiceNodePoolRollingSucceededEventData
+ extends ContainerServiceNodePoolRollingEventData {}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.ContainerService.NodePoolRollingFailed event */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model ContainerServiceNodePoolRollingFailedEventData
+ extends ContainerServiceNodePoolRollingEventData {}
+
+/** Schema of common properties of cluster support events */
+model ContainerServiceClusterSupportEventData {
+ /** The Kubernetes version of the ManagedCluster resource */
+ kubernetesVersion?: string;
+}
+
+/** Schema of common properties of node pool rolling events */
+model ContainerServiceNodePoolRollingEventData {
+ /** The name of the node pool in the ManagedCluster resource */
+ nodePoolName?: string;
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/DataBox.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/DataBox.tsp
new file mode 100644
index 0000000000000..d771641987e80
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/DataBox.tsp
@@ -0,0 +1,42 @@
+/** EG DataBox Data Model */
+namespace Microsoft.EventGrid.SystemEvents {
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.DataBox.CopyStarted event. */
+ model DataBoxCopyStartedEventData {
+ ...DataBoxBase;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.DataBox.CopyCompleted event. */
+ model DataBoxCopyCompletedEventData {
+ ...DataBoxBase;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.DataBox.OrderCompleted event. */
+ model DataBoxOrderCompletedEventData {
+ ...DataBoxBase;
+ }
+
+ alias DataBoxBase = {
+ /** Serial Number of the device associated with the event. The list is comma separated if more than one serial number is associated. */
+ serialNumber?: string;
+
+ /** Name of the current Stage */
+ stageName?: DataBoxStageName;
+
+ /** The time at which the stage happened. */
+ stageTime?: utcDateTime;
+ };
+
+ /** Schema of DataBox Stage Name enumeration. */
+ union DataBoxStageName {
+ /** Copy has started */
+ "CopyStarted",
+
+ /** Copy has completed */
+ "CopyCompleted",
+
+ /** Order has been completed */
+ "OrderCompleted",
+
+ string,
+ }
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/EventGrid.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/EventGrid.tsp
new file mode 100644
index 0000000000000..01ef7c0d73597
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/EventGrid.tsp
@@ -0,0 +1,177 @@
+/** Describes the schema of the Azure EventGrid events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent. */
+namespace Microsoft.EventGrid.SystemEvents;
+
+/** EventGrid MQTT Client State */
+union EventGridMQTTClientState {
+ /** Enabled */
+ "Enabled",
+
+ /** Disabled */
+ "Disabled",
+
+ string,
+}
+
+/** EventGrid MQTT Client Disconnection Reason */
+union EventGridMQTTClientDisconnectionReason {
+ /** The client got disconnected for any authentication reasons (for example, certificate expired, client got disabled, or client configuration changed). */
+ "ClientAuthenticationError",
+
+ /** The client got disconnected for any authorization reasons (for example, because of a change in the configuration of topic spaces, permission bindings, or client groups). */
+ "ClientAuthorizationError",
+
+ /** The client sent a bad request or used one of the unsupported features that resulted in a connection termination by the service. */
+ "ClientError",
+
+ /** The client initiated a graceful disconnect through a DISCONNECT packet for MQTT or a close frame for MQTT over WebSocket. */
+ "ClientInitiatedDisconnect",
+
+ /** The client-server connection is lost. (EXCHANGE ONLINE PROTECTION). */
+ "ConnectionLost",
+
+ /** The client's IP address is blocked by IP filter or Private links configuration. */
+ "IpForbidden",
+
+ /** The client exceeded one or more of the throttling limits that resulted in a connection termination by the service. */
+ "QuotaExceeded",
+
+ /** The connection got terminated due to an unexpected server error. */
+ "ServerError",
+
+ /** The server initiates a graceful disconnect for any operational reason. */
+ "ServerInitiatedDisconnect",
+
+ /** The client's queue for unacknowledged QoS1 messages reached its limit, which resulted in a connection termination by the server. */
+ "SessionOverflow",
+
+ /** The client reconnected with the same authentication name, which resulted in the termination of the previous connection. */
+ "SessionTakenOver",
+
+ string,
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.EventGrid.SystemEvents.SubscriptionValidationEvent event. */
+model SubscriptionValidationEventData {
+ /** The validation code sent by Azure Event Grid to validate an event subscription.
+ * To complete the validation handshake, the subscriber must either respond with this validation code as part of the validation response,
+ * or perform a GET request on the validationUrl (available starting version 2018-05-01-preview). */
+ @visibility("read")
+ validationCode?: string;
+
+ /** The validation URL sent by Azure Event Grid (available starting version 2018-05-01-preview).
+ * To complete the validation handshake, the subscriber must either respond with the validationCode as part of the validation response,
+ * or perform a GET request on the validationUrl (available starting version 2018-05-01-preview). */
+ @visibility("read")
+ validationUrl?: string;
+}
+
+/**
+To complete an event subscription validation handshake, a subscriber can use
+either the validationCode or the validationUrl received in a
+SubscriptionValidationEvent. When the validationCode is used, the
+SubscriptionValidationResponse can be used to build the response.
+*/
+model SubscriptionValidationResponse {
+ /** The validation response sent by the subscriber to Azure Event Grid to complete the validation of an event subscription. */
+ validationResponse?: string;
+}
+
+/**
+Schema of the Data property of an EventGridEvent for a
+Microsoft.EventGrid.SystemEvents.SubscriptionDeletedEvent event.
+*/
+model SubscriptionDeletedEventData {
+ /** The Azure resource ID of the deleted event subscription. */
+ @visibility("read")
+ eventSubscriptionId?: string;
+}
+
+/** Event data for Microsoft.EventGrid.SystemEvents.MQTTClientCreatedOrUpdated event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Following Swagger Inheritance"
+#suppress "@azure-tools/typespec-azure-core/casing-style" "MQTT is an acronym and should be all caps"
+model EventGridMQTTClientCreatedOrUpdatedEventData
+ extends EventGridMQTTClientEventData {
+ /** Configured state of the client. The value could be Enabled or Disabled */
+ state?: EventGridMQTTClientState;
+
+ /** Time the client resource is created based on the provider's UTC time. */
+ // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
+ createdOn?: utcDateTime;
+
+ /**
+Time the client resource is last updated based on the provider's UTC time. If
+the client resource was never updated, this value is identical to the value of
+the 'createdOn' property.
+*/
+ updatedOn?: utcDateTime;
+
+ /** The key-value attributes that are assigned to the client resource. */
+ attributes?: Record;
+}
+
+/** Schema of the Data property of an EventGridEvent for MQTT Client state changes. */
+#suppress "@azure-tools/typespec-azure-core/casing-style" "MQTT is an acronym and should be all caps"
+model EventGridMQTTClientEventData {
+ /**
+Unique identifier for the MQTT client that the client presents to the service
+for authentication. This case-sensitive string can be up to 128 characters
+long, and supports UTF-8 characters.
+*/
+ clientAuthenticationName?: string;
+
+ /** Name of the client resource in the Event Grid namespace. */
+ clientName?: string;
+
+ /** Name of the Event Grid namespace where the MQTT client was created or updated. */
+ namespaceName?: string;
+}
+
+/** Event data for Microsoft.EventGrid.SystemEvents.MQTTClientDeleted event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Following Swagger Inheritance"
+#suppress "@azure-tools/typespec-azure-core/casing-style" "MQTT is an acronym and should be all caps"
+model EventGridMQTTClientDeletedEventData
+ extends EventGridMQTTClientEventData {}
+
+/** Event data for Microsoft.EventGrid.SystemEvents.MQTTClientSessionConnected event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Following Swagger Inheritance"
+#suppress "@azure-tools/typespec-azure-core/casing-style" "MQTT is an acronym and should be all caps"
+model EventGridMQTTClientSessionConnectedEventData
+ extends EventGridMQTTClientEventData {
+ /**
+Unique identifier for the MQTT client's session. This case-sensitive string can
+be up to 128 characters long, and supports UTF-8 characters.
+*/
+ clientSessionName?: string;
+
+ /**
+A number that helps indicate order of MQTT client session connected or
+disconnected events. Latest event will have a sequence number that is higher
+than the previous event.
+*/
+ sequenceNumber?: int64;
+}
+
+/** Event data for Microsoft.EventGrid.SystemEvents.MQTTClientSessionDisconnected event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Following Swagger Inheritance"
+#suppress "@azure-tools/typespec-azure-core/casing-style" "MQTT is an acronym and should be all caps"
+model EventGridMQTTClientSessionDisconnectedEventData
+ extends EventGridMQTTClientEventData {
+ /**
+Unique identifier for the MQTT client's session. This case-sensitive string can
+be up to 128 characters long, and supports UTF-8 characters.
+*/
+ clientSessionName?: string;
+
+ /**
+A number that helps indicate order of MQTT client session connected or
+disconnected events. Latest event will have a sequence number that is higher
+than the previous event.
+*/
+ sequenceNumber?: int64;
+
+ /**
+Reason for the disconnection of the MQTT client's session. The value could be
+one of the values in the disconnection reasons table.
+*/
+ disconnectionReason?: EventGridMQTTClientDisconnectionReason;
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/EventHub.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/EventHub.tsp
new file mode 100644
index 0000000000000..8023d448c1575
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/EventHub.tsp
@@ -0,0 +1,32 @@
+/** Describes the schema of the Azure EventHub events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent. */
+namespace Microsoft.EventGrid.SystemEvents;
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.EventHub.CaptureFileCreated event. */
+model EventHubCaptureFileCreatedEventData {
+ /** The path to the capture file. */
+ fileUrl?: string;
+
+ /** The file type of the capture file. */
+ fileType?: string;
+
+ /** The shard ID. */
+ partitionId?: string;
+
+ /** The file size. */
+ sizeInBytes?: int32;
+
+ /** The number of events in the file. */
+ eventCount?: int32;
+
+ /** The smallest sequence number from the queue. */
+ firstSequenceNumber?: int32;
+
+ /** The last sequence number from the queue. */
+ lastSequenceNumber?: int32;
+
+ /** The first time from the queue. */
+ firstEnqueueTime?: utcDateTime;
+
+ /** The last time from the queue. */
+ lastEnqueueTime?: utcDateTime;
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/HealthcareApis.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/HealthcareApis.tsp
new file mode 100644
index 0000000000000..9343b4fefb2f4
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/HealthcareApis.tsp
@@ -0,0 +1,599 @@
+/** Describes the schema of the Azure HealthcareApis events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent. */
+namespace Microsoft.EventGrid.SystemEvents {
+ // model HealthcareFhirResourceType is string {}
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.HealthcareApis.FhirResourceCreated event. */
+ model HealthcareFhirResourceCreatedEventData {
+ /** Type of HL7 FHIR resource. */
+ resourceType?: HealthcareFhirResourceType;
+
+ /** Domain name of FHIR account for this resource. */
+ resourceFhirAccount?: string;
+
+ /** Id of HL7 FHIR resource. */
+ resourceFhirId?: string;
+
+ /** VersionId of HL7 FHIR resource. It changes when the resource is created, updated, or deleted(soft-deletion). */
+ resourceVersionId?: int64;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.HealthcareApis.FhirResourceUpdated event. */
+ model HealthcareFhirResourceUpdatedEventData {
+ /** Type of HL7 FHIR resource. */
+ resourceType?: HealthcareFhirResourceType;
+
+ /** Domain name of FHIR account for this resource. */
+ resourceFhirAccount?: string;
+
+ /** Id of HL7 FHIR resource. */
+ resourceFhirId?: string;
+
+ /** VersionId of HL7 FHIR resource. It changes when the resource is created, updated, or deleted(soft-deletion). */
+ resourceVersionId?: int64;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.HealthcareApis.FhirResourceDeleted event. */
+ model HealthcareFhirResourceDeletedEventData {
+ /** Type of HL7 FHIR resource. */
+ resourceType?: HealthcareFhirResourceType;
+
+ /** Domain name of FHIR account for this resource. */
+ resourceFhirAccount?: string;
+
+ /** Id of HL7 FHIR resource. */
+ resourceFhirId?: string;
+
+ /** VersionId of HL7 FHIR resource. It changes when the resource is created, updated, or deleted(soft-deletion). */
+ resourceVersionId?: int64;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.HealthcareApis.DicomImageCreated event. */
+ model HealthcareDicomImageCreatedEventData {
+ /** Data partition name */
+ partitionName?: string;
+
+ /** Unique identifier for the Study */
+ imageStudyInstanceUid?: string;
+
+ /** Unique identifier for the Series */
+ imageSeriesInstanceUid?: string;
+
+ /** Unique identifier for the DICOM Image */
+ imageSopInstanceUid?: string;
+
+ /** Domain name of the DICOM account for this image. */
+ serviceHostName?: string;
+
+ /** Sequence number of the DICOM Service within Azure Health Data Services. It is unique for every image creation and deletion within the service. */
+ sequenceNumber?: int64;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.HealthcareApis.DicomImageDeleted event. */
+ model HealthcareDicomImageDeletedEventData {
+ /** Data partition name */
+ partitionName?: string;
+
+ /** Unique identifier for the Study */
+ imageStudyInstanceUid?: string;
+
+ /** Unique identifier for the Series */
+ imageSeriesInstanceUid?: string;
+
+ /** Unique identifier for the DICOM Image */
+ imageSopInstanceUid?: string;
+
+ /** Host name of the DICOM account for this image. */
+ serviceHostName?: string;
+
+ /** Sequence number of the DICOM Service within Azure Health Data Services. It is unique for every image creation and deletion within the service. */
+ sequenceNumber?: int64;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.HealthcareApis.DicomImageUpdated event. */
+ model HealthcareDicomImageUpdatedEventData {
+ /** Data partition name */
+ partitionName?: string;
+
+ /** Unique identifier for the Study */
+ imageStudyInstanceUid?: string;
+
+ /** Unique identifier for the Series */
+ imageSeriesInstanceUid?: string;
+
+ /** Unique identifier for the DICOM Image */
+ imageSopInstanceUid?: string;
+
+ /** Domain name of the DICOM account for this image. */
+ serviceHostName?: string;
+
+ /** Sequence number of the DICOM Service within Azure Health Data Services. It is unique for every image creation, updation and deletion within the service. */
+ sequenceNumber?: int64;
+ }
+
+ /** Schema of FHIR resource type enumeration. */
+ union HealthcareFhirResourceType {
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Account",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "ActivityDefinition",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "AdverseEvent",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "AllergyIntolerance",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Appointment",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "AppointmentResponse",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "AuditEvent",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Basic",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Binary",
+
+ /** The FHIR resource type defined in R4. */
+ "BiologicallyDerivedProduct",
+
+ /** The FHIR resource type defined in STU3. */
+ "BodySite",
+
+ /** The FHIR resource type defined in R4. */
+ "BodyStructure",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Bundle",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "CapabilityStatement",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "CarePlan",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "CareTeam",
+
+ /** The FHIR resource type defined in R4. */
+ "CatalogEntry",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "ChargeItem",
+
+ /** The FHIR resource type defined in R4. */
+ "ChargeItemDefinition",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Claim",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "ClaimResponse",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "ClinicalImpression",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "CodeSystem",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Communication",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "CommunicationRequest",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "CompartmentDefinition",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Composition",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "ConceptMap",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Condition",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Consent",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Contract",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Coverage",
+
+ /** The FHIR resource type defined in R4. */
+ "CoverageEligibilityRequest",
+
+ /** The FHIR resource type defined in R4. */
+ "CoverageEligibilityResponse",
+
+ /** The FHIR resource type defined in STU3. */
+ "DataElement",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "DetectedIssue",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Device",
+
+ /** The FHIR resource type defined in STU3. */
+ "DeviceComponent",
+
+ /** The FHIR resource type defined in R4. */
+ "DeviceDefinition",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "DeviceMetric",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "DeviceRequest",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "DeviceUseStatement",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "DiagnosticReport",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "DocumentManifest",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "DocumentReference",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "DomainResource",
+
+ /** The FHIR resource type defined in R4. */
+ "EffectEvidenceSynthesis",
+
+ /** The FHIR resource type defined in STU3. */
+ "EligibilityRequest",
+
+ /** The FHIR resource type defined in STU3. */
+ "EligibilityResponse",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Encounter",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Endpoint",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "EnrollmentRequest",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "EnrollmentResponse",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "EpisodeOfCare",
+
+ /** The FHIR resource type defined in R4. */
+ "EventDefinition",
+
+ /** The FHIR resource type defined in R4. */
+ "Evidence",
+
+ /** The FHIR resource type defined in R4. */
+ "EvidenceVariable",
+
+ /** The FHIR resource type defined in R4. */
+ "ExampleScenario",
+
+ /** The FHIR resource type defined in STU3. */
+ "ExpansionProfile",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "ExplanationOfBenefit",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "FamilyMemberHistory",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Flag",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Goal",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "GraphDefinition",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Group",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "GuidanceResponse",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "HealthcareService",
+
+ /** The FHIR resource type defined in STU3. */
+ "ImagingManifest",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "ImagingStudy",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Immunization",
+
+ /** The FHIR resource type defined in R4. */
+ "ImmunizationEvaluation",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "ImmunizationRecommendation",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "ImplementationGuide",
+
+ /** The FHIR resource type defined in R4. */
+ "InsurancePlan",
+
+ /** The FHIR resource type defined in R4. */
+ "Invoice",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Library",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Linkage",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "List",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Location",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Measure",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "MeasureReport",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Media",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Medication",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "MedicationAdministration",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "MedicationDispense",
+
+ /** The FHIR resource type defined in R4. */
+ "MedicationKnowledge",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "MedicationRequest",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "MedicationStatement",
+
+ /** The FHIR resource type defined in R4. */
+ "MedicinalProduct",
+
+ /** The FHIR resource type defined in R4. */
+ "MedicinalProductAuthorization",
+
+ /** The FHIR resource type defined in R4. */
+ "MedicinalProductContraindication",
+
+ /** The FHIR resource type defined in R4. */
+ "MedicinalProductIndication",
+
+ /** The FHIR resource type defined in R4. */
+ "MedicinalProductIngredient",
+
+ /** The FHIR resource type defined in R4. */
+ "MedicinalProductInteraction",
+
+ /** The FHIR resource type defined in R4. */
+ "MedicinalProductManufactured",
+
+ /** The FHIR resource type defined in R4. */
+ "MedicinalProductPackaged",
+
+ /** The FHIR resource type defined in R4. */
+ "MedicinalProductPharmaceutical",
+
+ /** The FHIR resource type defined in R4. */
+ "MedicinalProductUndesirableEffect",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "MessageDefinition",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "MessageHeader",
+
+ /** The FHIR resource type defined in R4. */
+ "MolecularSequence",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "NamingSystem",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "NutritionOrder",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Observation",
+
+ /** The FHIR resource type defined in R4. */
+ "ObservationDefinition",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "OperationDefinition",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "OperationOutcome",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Organization",
+
+ /** The FHIR resource type defined in R4. */
+ "OrganizationAffiliation",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Parameters",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Patient",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "PaymentNotice",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "PaymentReconciliation",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Person",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "PlanDefinition",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Practitioner",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "PractitionerRole",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Procedure",
+
+ /** The FHIR resource type defined in STU3. */
+ "ProcedureRequest",
+
+ /** The FHIR resource type defined in STU3. */
+ "ProcessRequest",
+
+ /** The FHIR resource type defined in STU3. */
+ "ProcessResponse",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Provenance",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Questionnaire",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "QuestionnaireResponse",
+
+ /** The FHIR resource type defined in STU3. */
+ "ReferralRequest",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "RelatedPerson",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "RequestGroup",
+
+ /** The FHIR resource type defined in R4. */
+ "ResearchDefinition",
+
+ /** The FHIR resource type defined in R4. */
+ "ResearchElementDefinition",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "ResearchStudy",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "ResearchSubject",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Resource",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "RiskAssessment",
+
+ /** The FHIR resource type defined in R4. */
+ "RiskEvidenceSynthesis",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Schedule",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "SearchParameter",
+
+ /** The FHIR resource type defined in STU3. */
+ "Sequence",
+
+ /** The FHIR resource type defined in STU3. */
+ "ServiceDefinition",
+
+ /** The FHIR resource type defined in R4. */
+ "ServiceRequest",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Slot",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Specimen",
+
+ /** The FHIR resource type defined in R4. */
+ "SpecimenDefinition",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "StructureDefinition",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "StructureMap",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Subscription",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Substance",
+
+ /** The FHIR resource type defined in R4. */
+ "SubstanceNucleicAcid",
+
+ /** The FHIR resource type defined in R4. */
+ "SubstancePolymer",
+
+ /** The FHIR resource type defined in R4. */
+ "SubstanceProtein",
+
+ /** The FHIR resource type defined in R4. */
+ "SubstanceReferenceInformation",
+
+ /** The FHIR resource type defined in R4. */
+ "SubstanceSourceMaterial",
+
+ /** The FHIR resource type defined in R4. */
+ "SubstanceSpecification",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "SupplyDelivery",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "SupplyRequest",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "Task",
+
+ /** The FHIR resource type defined in R4. */
+ "TerminologyCapabilities",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "TestReport",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "TestScript",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "ValueSet",
+
+ /** The FHIR resource type defined in R4. */
+ "VerificationResult",
+
+ /** The FHIR resource type defined in STU3 and R4. */
+ "VisionPrescription",
+
+ string,
+ }
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/IotHub.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/IotHub.tsp
new file mode 100644
index 0000000000000..f642c5be97486
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/IotHub.tsp
@@ -0,0 +1,145 @@
+/** Describes the schema of the Azure IoT Hub events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent. */
+#suppress "@azure-tools/typespec-azure-core/casing-style" "Modeling after the existing service swagger."
+namespace Microsoft.EventGrid.SystemEvents;
+
+/** Schema of the Data property of an EventGridEvent for a device life cycle event (DeviceCreated, DeviceDeleted). */
+model DeviceLifeCycleEventProperties {
+ /** The unique identifier of the device. This case-sensitive string can be up to 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following special characters: - : . + % _ # * ? ! ( ) , = `@` ; $ '. */
+ deviceId?: string;
+
+ /** Name of the IoT Hub where the device was created or deleted. */
+ hubName?: string;
+
+ /** Information about the device twin, which is the cloud representation of application device metadata. */
+ twin?: DeviceTwinInfo;
+}
+
+/** Metadata information for the properties JSON document. */
+model DeviceTwinMetadata {
+ /** The ISO8601 timestamp of the last time the properties were updated. */
+ lastUpdated?: string;
+}
+
+/** A portion of the properties that can be written only by the application back-end, and read by the device. */
+model DeviceTwinProperties {
+ /** Metadata information for the properties JSON document. */
+ metadata?: DeviceTwinMetadata;
+
+ /** Version of device twin properties. */
+ version?: float32;
+}
+
+//THIS IS WHAT IS CAUSING THE ISSUE
+/** Information about the device twin, which is the cloud representation of application device metadata. */
+model DeviceTwinInfo {
+ /** Authentication type used for this device: either SAS, SelfSigned, or CertificateAuthority. */
+ authenticationType?: string;
+
+ /** Count of cloud to device messages sent to this device. */
+ cloudToDeviceMessageCount?: float32;
+
+ /** Whether the device is connected or disconnected. */
+ connectionState?: string;
+
+ /** The unique identifier of the device twin. */
+ deviceId?: string;
+
+ /** A piece of information that describes the content of the device twin. Each etag is guaranteed to be unique per device twin. */
+ etag?: string;
+
+ /** The ISO8601 timestamp of the last activity. */
+ lastActivityTime?: string;
+
+ //TODO: something here needs to change
+
+ /** Properties JSON element. */
+ properties?: DeviceTwinInfoProperties;
+
+ /** Whether the device twin is enabled or disabled. */
+ status?: string;
+
+ /** The ISO8601 timestamp of the last device twin status update. */
+ statusUpdateTime?: string;
+
+ /** An integer that is incremented by one each time the device twin is updated. */
+ version?: float32;
+
+ //TODO: also here
+
+ /** The thumbprint is a unique value for the x509 certificate, commonly used to find a particular certificate in a certificate store. The thumbprint is dynamically generated using the SHA1 algorithm, and does not physically exist in the certificate. */
+ x509Thumbprint?: DeviceTwinInfoX509Thumbprint;
+}
+
+/** Schema of the Data property of an EventGridEvent for a device connection state event (DeviceConnected, DeviceDisconnected). */
+model DeviceConnectionStateEventProperties {
+ /** The unique identifier of the device. This case-sensitive string can be up to 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following special characters: - : . + % _ # * ? ! ( ) , = `@` ; $ '. */
+ deviceId?: string;
+
+ /** The unique identifier of the module. This case-sensitive string can be up to 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following special characters: - : . + % _ # * ? ! ( ) , = `@` ; $ '. */
+ moduleId?: string;
+
+ /** Name of the IoT Hub where the device was created or deleted. */
+ hubName?: string;
+
+ /** Information about the device connection state event. */
+ deviceConnectionStateEventInfo?: DeviceConnectionStateEventInfo;
+}
+
+/** Schema of the Data property of an EventGridEvent for a device telemetry event (DeviceTelemetry). */
+model DeviceTelemetryEventProperties {
+ /** The content of the message from the device. */
+ #suppress "@azure-tools/typespec-azure-core/bad-record-type" "The type of body is object"
+ body?: Record;
+
+ /** Application properties are user-defined strings that can be added to the message. These fields are optional. */
+ properties?: Record;
+
+ /** System properties help identify contents and source of the messages. */
+ systemProperties?: Record;
+}
+
+/** Information about the device connection state event. */
+model DeviceConnectionStateEventInfo {
+ /** Sequence number is string representation of a hexadecimal number. string compare can be used to identify the larger number because both in ASCII and HEX numbers come after alphabets. If you are converting the string to hex, then the number is a 256 bit number. */
+ sequenceNumber?: string;
+}
+
+/** Event data for Microsoft.Devices.DeviceCreated event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model IotHubDeviceCreatedEventData extends DeviceLifeCycleEventProperties {}
+
+/** Event data for Microsoft.Devices.DeviceDeleted event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model IotHubDeviceDeletedEventData extends DeviceLifeCycleEventProperties {}
+
+/** Event data for Microsoft.Devices.DeviceConnected event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model IotHubDeviceConnectedEventData
+ extends DeviceConnectionStateEventProperties {}
+
+/** Event data for Microsoft.Devices.DeviceDisconnected event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model IotHubDeviceDisconnectedEventData
+ extends DeviceConnectionStateEventProperties {}
+
+/** Event data for Microsoft.Devices.DeviceTelemetry event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model IotHubDeviceTelemetryEventData extends DeviceTelemetryEventProperties {}
+
+/** The thumbprint is a unique value for the x509 certificate, commonly used to find a particular certificate in a certificate store. The thumbprint is dynamically generated using the SHA1 algorithm, and does not physically exist in the certificate. */
+model DeviceTwinInfoX509Thumbprint {
+ /** Primary thumbprint for the x509 certificate. */
+ primaryThumbprint?: string;
+
+ /** Secondary thumbprint for the x509 certificate. */
+ secondaryThumbprint?: string;
+}
+
+/** Properties JSON element. */
+model DeviceTwinInfoProperties {
+ /** A portion of the properties that can be written only by the application back-end, and read by the device. */
+ desired?: DeviceTwinProperties;
+
+ /** A portion of the properties that can be written only by the device, and read by the application back-end. */
+ reported?: DeviceTwinProperties;
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/KeyVault.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/KeyVault.tsp
new file mode 100644
index 0000000000000..785bcb7399171
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/KeyVault.tsp
@@ -0,0 +1,82 @@
+/** Describes the schema of the Azure Key Vault events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent. */
+namespace Microsoft.EventGrid.SystemEvents {
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.KeyVault.CertificateNewVersionCreated event. */
+ model KeyVaultCertificateNewVersionCreatedEventData {
+ ...KeyVaultCertificateBase;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.KeyVault.CertificateNearExpiry event. */
+ model KeyVaultCertificateNearExpiryEventData {
+ ...KeyVaultCertificateBase;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.KeyVault.CertificateExpired event. */
+ model KeyVaultCertificateExpiredEventData {
+ ...KeyVaultCertificateBase;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.KeyVault.KeyNewVersionCreated event. */
+ model KeyVaultKeyNewVersionCreatedEventData {
+ ...KeyVaultCertificateBase;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.KeyVault.KeyNearExpiry event. */
+ model KeyVaultKeyNearExpiryEventData {
+ ...KeyVaultCertificateBase;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.KeyVault.KeyExpired event. */
+ model KeyVaultKeyExpiredEventData {
+ ...KeyVaultCertificateBase;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.KeyVault.SecretNewVersionCreated event. */
+ model KeyVaultSecretNewVersionCreatedEventData {
+ ...KeyVaultCertificateBase;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.KeyVault.SecretNearExpiry event. */
+ model KeyVaultSecretNearExpiryEventData {
+ ...KeyVaultCertificateBase;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.KeyVault.SecretExpired event. */
+ model KeyVaultSecretExpiredEventData {
+ ...KeyVaultCertificateBase;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.KeyVault.VaultAccessPolicyChanged event. */
+ model KeyVaultVaultAccessPolicyChangedEventData {
+ ...KeyVaultCertificateBase;
+ }
+
+ alias KeyVaultCertificateBase = {
+ /** The id of the object that triggered this event. */
+ #suppress "@azure-tools/typespec-azure-core/casing-style" "Modeling after service swagger."
+ Id?: string;
+
+ /** Key vault name of the object that triggered this event. */
+ #suppress "@azure-tools/typespec-azure-core/casing-style" "Modeling after service swagger."
+ VaultName?: string;
+
+ /** The type of the object that triggered this event */
+ #suppress "@azure-tools/typespec-azure-core/casing-style" "Modeling after service swagger."
+ ObjectType?: string;
+
+ /** The name of the object that triggered this event */
+ #suppress "@azure-tools/typespec-azure-core/casing-style" "Modeling after service swagger."
+ ObjectName?: string;
+
+ /** The version of the object that triggered this event */
+ #suppress "@azure-tools/typespec-azure-core/casing-style" "Modeling after service swagger."
+ Version?: string;
+
+ /** Not before date of the object that triggered this event */
+ #suppress "@azure-tools/typespec-azure-core/casing-style" "Modeling after service swagger."
+ NBF?: float32;
+
+ /** The expiration date of the object that triggered this event */
+ #suppress "@azure-tools/typespec-azure-core/casing-style" "Modeling after service swagger."
+ EXP?: float32;
+ };
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/MachineLearningServices.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/MachineLearningServices.tsp
new file mode 100644
index 0000000000000..5527e7d244def
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/MachineLearningServices.tsp
@@ -0,0 +1,115 @@
+/** Describes the schema of the Azure Machine Learning Services events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent. */
+namespace Microsoft.EventGrid.SystemEvents;
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.MachineLearningServices.ModelRegistered event. */
+model MachineLearningServicesModelRegisteredEventData {
+ /** The name of the model that was registered. */
+ modelName?: string;
+
+ /** The version of the model that was registered. */
+ modelVersion?: string;
+
+ /** The tags of the model that was registered. */
+ #suppress "@azure-tools/typespec-azure-core/bad-record-type" "Model tags is type object"
+ modelTags?: Record;
+
+ /** The properties of the model that was registered. */
+ #suppress "@azure-tools/typespec-azure-core/bad-record-type" "Model tags is type object"
+ modelProperties?: Record;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.MachineLearningServices.ModelDeployed event. */
+model MachineLearningServicesModelDeployedEventData {
+ /** The name of the deployed service. */
+ serviceName?: string;
+
+ /** The compute type (e.g. ACI, AKS) of the deployed service. */
+ serviceComputeType?: string;
+
+ /** A common separated list of model IDs. The IDs of the models deployed in the service. */
+ modelIds?: string;
+
+ /** The tags of the deployed service. */
+ #suppress "@azure-tools/typespec-azure-core/bad-record-type" "Service tags is type any"
+ serviceTags?: Record;
+
+ /** The properties of the deployed service. */
+ #suppress "@azure-tools/typespec-azure-core/bad-record-type" "Service properties is type any"
+ serviceProperties?: Record;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.MachineLearningServices.RunCompleted event. */
+model MachineLearningServicesRunCompletedEventData {
+ /** The ID of the experiment that the run belongs to. */
+ experimentId?: string;
+
+ /** The name of the experiment that the run belongs to. */
+ experimentName?: string;
+
+ /** The ID of the Run that was completed. */
+ runId?: string;
+
+ /** The Run Type of the completed Run. */
+ runType?: string;
+
+ /** The tags of the completed Run. */
+ #suppress "@azure-tools/typespec-azure-core/bad-record-type" "Run tags is type any"
+ runTags?: Record;
+
+ /** The properties of the completed Run. */
+ #suppress "@azure-tools/typespec-azure-core/bad-record-type" "Run properties is type any"
+ runProperties?: Record;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.MachineLearningServices.DatasetDriftDetected event. */
+model MachineLearningServicesDatasetDriftDetectedEventData {
+ /** The ID of the data drift monitor that triggered the event. */
+ dataDriftId?: string;
+
+ /** The name of the data drift monitor that triggered the event. */
+ dataDriftName?: string;
+
+ /** The ID of the Run that detected data drift. */
+ runId?: string;
+
+ /** The ID of the base Dataset used to detect drift. */
+ baseDatasetId?: string;
+
+ /** The ID of the target Dataset used to detect drift. */
+ targetDatasetId?: string;
+
+ /** The coefficient result that triggered the event. */
+ driftCoefficient?: float64;
+
+ /** The start time of the target dataset time series that resulted in drift detection. */
+ startTime?: utcDateTime;
+
+ /** The end time of the target dataset time series that resulted in drift detection. */
+ endTime?: utcDateTime;
+}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.MachineLearningServices.RunStatusChanged event. */
+model MachineLearningServicesRunStatusChangedEventData {
+ /** The ID of the experiment that the Machine Learning Run belongs to. */
+ experimentId?: string;
+
+ /** The name of the experiment that the Machine Learning Run belongs to. */
+ experimentName?: string;
+
+ /** The ID of the Machine Learning Run. */
+ runId?: string;
+
+ /** The Run Type of the Machine Learning Run. */
+ runType?: string;
+
+ /** The tags of the Machine Learning Run. */
+ #suppress "@azure-tools/typespec-azure-core/bad-record-type" "Run tags is type object"
+ runTags?: Record;
+
+ /** The properties of the Machine Learning Run. */
+ #suppress "@azure-tools/typespec-azure-core/bad-record-type" "Run properties is type object"
+ runProperties?: Record;
+
+ /** The status of the Machine Learning Run. */
+ runStatus?: string;
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/Maps.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/Maps.tsp
new file mode 100644
index 0000000000000..5d0ff3d6b22f0
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/Maps.tsp
@@ -0,0 +1,50 @@
+/** Describes the schema of the Azure Maps events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent. */
+namespace Microsoft.EventGrid.SystemEvents;
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Maps.GeofenceEntered event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model MapsGeofenceEnteredEventData extends MapsGeofenceEventProperties {}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Maps.GeofenceExited event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model MapsGeofenceExitedEventData extends MapsGeofenceEventProperties {}
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Maps.GeofenceResult event. */
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model MapsGeofenceResultEventData extends MapsGeofenceEventProperties {}
+
+/** Schema of the Data property of an EventGridEvent for a Geofence event (GeofenceEntered, GeofenceExited, GeofenceResult). */
+model MapsGeofenceEventProperties {
+ /** Lists of the geometry ID of the geofence which is expired relative to the user time in the request. */
+ expiredGeofenceGeometryId?: string[];
+
+ /** Lists the fence geometries that either fully contain the coordinate position or have an overlap with the searchBuffer around the fence. */
+ geometries?: MapsGeofenceGeometry[];
+
+ /** Lists of the geometry ID of the geofence which is in invalid period relative to the user time in the request. */
+ invalidPeriodGeofenceGeometryId?: string[];
+
+ /** True if at least one event is published to the Azure Maps event subscriber, false if no event is published to the Azure Maps event subscriber. */
+ isEventPublished?: boolean;
+}
+
+/** The geofence geometry. */
+model MapsGeofenceGeometry {
+ /** ID of the device. */
+ deviceId?: string;
+
+ /** Distance from the coordinate to the closest border of the geofence. Positive means the coordinate is outside of the geofence. If the coordinate is outside of the geofence, but more than the value of searchBuffer away from the closest geofence border, then the value is 999. Negative means the coordinate is inside of the geofence. If the coordinate is inside the polygon, but more than the value of searchBuffer away from the closest geofencing border,then the value is -999. A value of 999 means that there is great confidence the coordinate is well outside the geofence. A value of -999 means that there is great confidence the coordinate is well within the geofence. */
+ distance?: float32;
+
+ /** The unique ID for the geofence geometry. */
+ geometryId?: string;
+
+ /** Latitude of the nearest point of the geometry. */
+ nearestLat?: float32;
+
+ /** Longitude of the nearest point of the geometry. */
+ nearestLon?: float32;
+
+ /** The unique id returned from user upload service when uploading a geofence. Will not be included in geofencing post API. */
+ udId?: string;
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/MediaServices.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/MediaServices.tsp
new file mode 100644
index 0000000000000..cc7faf2af7490
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/MediaServices.tsp
@@ -0,0 +1,570 @@
+/** Describes the schema of the Azure Media Services events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent. */
+namespace Microsoft.EventGrid.SystemEvents {
+ /** State of a Media Job. */
+ union MediaJobState {
+ /** The job was canceled. This is a final state for the job. */
+ "Canceled",
+
+ /** The job is in the process of being canceled. This is a transient state for the job. */
+ "Canceling",
+
+ /** The job has encountered an error. This is a final state for the job. */
+ "Error",
+
+ /** The job is finished. This is a final state for the job. */
+ "Finished",
+
+ /** The job is processing. This is a transient state for the job. */
+ "Processing",
+
+ /** The job is in a queued state, waiting for resources to become available. This is a transient state. */
+ "Queued",
+
+ /** The job is being scheduled to run on an available resource. This is a transient state, between queued and processing states. */
+ "Scheduled",
+
+ string,
+ }
+
+ /** Media Job Error Codes. */
+ union MediaJobErrorCode {
+ /** Fatal service error, please contact support. */
+ "ServiceError",
+
+ /** Transient error, please retry, if retry is unsuccessful, please contact support. */
+ "ServiceTransientError",
+
+ /** While trying to download the input files, the files were not accessible, please check the availability of the source. */
+ "DownloadNotAccessible",
+
+ /** While trying to download the input files, there was an issue during transfer (storage service, network errors), see details and check your source. */
+ "DownloadTransientError",
+
+ /** While trying to upload the output files, the destination was not reachable, please check the availability of the destination. */
+ "UploadNotAccessible",
+
+ /** While trying to upload the output files, there was an issue during transfer (storage service, network errors), see details and check your destination. */
+ "UploadTransientError",
+
+ /** There was a problem with the combination of input files and the configuration settings applied, fix the configuration settings and retry with the same input, or change input to match the configuration. */
+ "ConfigurationUnsupported",
+
+ /** There was a problem with the input content (for example: zero byte files, or corrupt/non-decodable files), check the input files. */
+ "ContentMalformed",
+
+ /** There was a problem with the format of the input (not valid media file, or an unsupported file/codec), check the validity of the input files. */
+ "ContentUnsupported",
+
+ /** There is an error verifying to the account identity. Check and fix the identity configurations and retry. If unsuccessful, please contact support. */
+ "IdentityUnsupported",
+
+ string,
+ }
+
+ /** Error categories for Media Job Errors. */
+ union MediaJobErrorCategory {
+ /** The error is service related. */
+ "Service",
+
+ /** The error is download related. */
+ "Download",
+
+ /** The error is upload related. */
+ "Upload",
+
+ /** The error is configuration related. */
+ "Configuration",
+
+ /** The error is related to data in the input files. */
+ "Content",
+
+ /** The error is related to account information. */
+ "Account",
+
+ string,
+ }
+
+ /** Media Job Retry Options. */
+ union MediaJobRetry {
+ /** Issue needs to be investigated and then the job resubmitted with corrections or retried once the underlying issue has been corrected. */
+ "DoNotRetry",
+
+ /** Issue may be resolved after waiting for a period of time and resubmitting the same Job. */
+ "MayRetry",
+
+ string,
+ }
+
+ /**
+ Schema of the Data property of an EventGridEvent for a
+ Microsoft.Media.JobStateChange event.
+ */
+ model MediaJobStateChangeEventData {
+ /** The previous state of the Job. */
+ @visibility("read")
+ previousState?: MediaJobState;
+
+ /** The new state of the Job. */
+ @visibility("read")
+ state?: MediaJobState;
+
+ /** Gets the Job correlation data. */
+ correlationData?: Record;
+ }
+
+ /** Details of JobOutput errors. */
+ model MediaJobError {
+ /** Error code describing the error. */
+ @visibility("read")
+ code?: MediaJobErrorCode;
+
+ /** A human-readable language-dependent representation of the error. */
+ @visibility("read")
+ message?: string;
+
+ /** Helps with categorization of errors. */
+ @visibility("read")
+ category?: MediaJobErrorCategory;
+
+ /** Indicates that it may be possible to retry the Job. If retry is unsuccessful, please contact Azure support via Azure Portal. */
+ @visibility("read")
+ retry?: MediaJobRetry;
+
+ /** An array of details about specific errors that led to this reported error. */
+ @visibility("read")
+ details?: MediaJobErrorDetail[];
+ }
+
+ /** Details of JobOutput errors. */
+ model MediaJobErrorDetail {
+ /** Code describing the error detail. */
+ @visibility("read")
+ code?: string;
+
+ /** A human-readable representation of the error. */
+ @visibility("read")
+ message?: string;
+ }
+
+ /** The event data for a Job output. */
+ @discriminator("@odataType")
+ model MediaJobOutput {
+ /** The discriminator for derived types. */
+ `@odataType`: string;
+
+ /** Gets the Job output error. */
+ error?: MediaJobError;
+
+ /** Gets the Job output label. */
+ label?: string;
+
+ /** Gets the Job output progress. */
+ progress: int64;
+
+ /** Gets the Job output state. */
+ state: MediaJobState;
+ }
+
+ /** The event data for a Job output asset. */
+ model MediaJobOutputAsset extends MediaJobOutput {
+ /** Gets the Job output asset name. */
+ assetName?: string;
+
+ /** The discriminator for derived types. */
+ `@odataType`: "#Microsoft.Media.JobOutputAsset";
+ }
+
+ /**
+ Job Output Progress Event Data. Schema of the Data property of an
+ EventGridEvent for a Microsoft.Media.JobOutputProgress event.
+ */
+ model MediaJobOutputProgressEventData {
+ /** Gets the Job output label. */
+ label?: string;
+
+ /** Gets the Job output progress. */
+ progress?: int64;
+
+ /** Gets the Job correlation data. */
+ jobCorrelationData?: Record;
+ }
+
+ /**
+ Schema of the Data property of an EventGridEvent for a
+ Microsoft.Media.JobOutputStateChange event.
+ */
+ model MediaJobOutputStateChangeEventData {
+ /** The previous state of the Job. */
+ @visibility("read")
+ previousState?: MediaJobState;
+
+ /** Gets the output. */
+ output?: MediaJobOutput;
+
+ /** Gets the Job correlation data. */
+ jobCorrelationData?: Record;
+ }
+
+ /**
+Job scheduled event data. Schema of the data property of an EventGridEvent for
+a Microsoft.Media.JobScheduled event.
+*/
+ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+ model MediaJobScheduledEventData extends MediaJobStateChangeEventData {}
+
+ /**
+Job processing event data. Schema of the data property of an EventGridEvent for
+a Microsoft.Media.JobProcessing event.
+*/
+ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+ model MediaJobProcessingEventData extends MediaJobStateChangeEventData {}
+
+ /**
+Job canceling event data. Schema of the data property of an EventGridEvent for
+a Microsoft.Media.JobCanceling event.
+*/
+ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+ model MediaJobCancelingEventData extends MediaJobStateChangeEventData {}
+
+ /**
+Job finished event data. Schema of the data property of an EventGridEvent for a
+Microsoft.Media.JobFinished event.
+*/
+ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+ model MediaJobFinishedEventData extends MediaJobStateChangeEventData {
+ /** Gets the Job outputs. */
+ outputs?: MediaJobOutput[];
+ }
+
+ /**
+Job canceled event data. Schema of the data property of an EventGridEvent for a
+Microsoft.Media.JobCanceled event.
+*/
+ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+ model MediaJobCanceledEventData extends MediaJobStateChangeEventData {
+ /** Gets the Job outputs. */
+ outputs?: MediaJobOutput[];
+ }
+
+ /**
+Job error state event data. Schema of the data property of an EventGridEvent
+for a Microsoft.Media.JobErrored event.
+*/
+ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+ model MediaJobErroredEventData extends MediaJobStateChangeEventData {
+ /** Gets the Job outputs. */
+ outputs?: MediaJobOutput[];
+ }
+
+ /**
+Job output canceled event data. Schema of the data property of an
+EventGridEvent for a Microsoft.Media.JobOutputCanceled event.
+*/
+ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+ model MediaJobOutputCanceledEventData
+ extends MediaJobOutputStateChangeEventData {}
+
+ /**
+Job output canceling event data. Schema of the data property of an
+EventGridEvent for a Microsoft.Media.JobOutputCanceling event.
+*/
+ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+ model MediaJobOutputCancelingEventData
+ extends MediaJobOutputStateChangeEventData {}
+
+ /**
+Job output error event data. Schema of the data property of an EventGridEvent
+for a Microsoft.Media.JobOutputErrored event.
+*/
+ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+ model MediaJobOutputErroredEventData
+ extends MediaJobOutputStateChangeEventData {}
+
+ /**
+Job output finished event data. Schema of the data property of an
+EventGridEvent for a Microsoft.Media.JobOutputFinished event.
+*/
+ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+ model MediaJobOutputFinishedEventData
+ extends MediaJobOutputStateChangeEventData {}
+
+ /**
+Job output processing event data. Schema of the data property of an
+EventGridEvent for a Microsoft.Media.JobOutputProcessing event.
+*/
+ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+ model MediaJobOutputProcessingEventData
+ extends MediaJobOutputStateChangeEventData {}
+
+ /**
+Job output scheduled event data. Schema of the data property of an
+EventGridEvent for a Microsoft.Media.JobOutputScheduled event.
+*/
+ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+ model MediaJobOutputScheduledEventData
+ extends MediaJobOutputStateChangeEventData {}
+
+ /** Encoder connect event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventEncoderConnected event. */
+ model MediaLiveEventEncoderConnectedEventData {
+ ...MediaLiveEventConnectionBaseData;
+ }
+
+ /** Encoder connection rejected event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventConnectionRejected event. */
+ model MediaLiveEventConnectionRejectedEventData {
+ ...MediaLiveEventConnectionBaseData;
+
+ /** Gets the result code. */
+ resultCode?: string;
+ }
+
+ /** Encoder disconnected event data. Schema of the Data property of an EventGridEvent for a Microsoft.Media.LiveEventEncoderDisconnected event. */
+ model MediaLiveEventEncoderDisconnectedEventData {
+ ...MediaLiveEventConnectionBaseData;
+
+ /** Gets the result code. */
+ resultCode?: string;
+ }
+
+ /** Encoder connect event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventIncomingStreamReceived event. */
+ model MediaLiveEventIncomingStreamReceivedEventData {
+ /** Gets the ingest URL provided by the live event. */
+ @visibility("read")
+ ingestUrl?: string;
+
+ /** Gets the type of the track (Audio / Video). */
+ @visibility("read")
+ trackType?: string;
+
+ /** Gets the track name. */
+ @visibility("read")
+ trackName?: string;
+
+ /** Gets the bitrate of the track. */
+ @visibility("read")
+ bitrate?: int64;
+
+ /** Gets the remote IP. */
+ @visibility("read")
+ encoderIp?: string;
+
+ /** Gets the remote port. */
+ @visibility("read")
+ encoderPort?: string;
+
+ /** Gets the first timestamp of the data chunk received. */
+ @visibility("read")
+ timestamp?: string;
+
+ /** Gets the duration of the first data chunk. */
+ @visibility("read")
+ duration?: string;
+
+ /** Gets the timescale in which timestamp is represented. */
+ @visibility("read")
+ timescale?: string;
+ }
+
+ /** Incoming streams out of sync event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventIncomingStreamsOutOfSync event. */
+ model MediaLiveEventIncomingStreamsOutOfSyncEventData {
+ /** Gets the minimum last timestamp received. */
+ @visibility("read")
+ minLastTimestamp?: string;
+
+ /** Gets the type of stream with minimum last timestamp. */
+ @visibility("read")
+ typeOfStreamWithMinLastTimestamp?: string;
+
+ /** Gets the maximum timestamp among all the tracks (audio or video). */
+ @visibility("read")
+ maxLastTimestamp?: string;
+
+ /** Gets the type of stream with maximum last timestamp. */
+ @visibility("read")
+ typeOfStreamWithMaxLastTimestamp?: string;
+
+ /** Gets the timescale in which \"MinLastTimestamp\" is represented. */
+ @visibility("read")
+ timescaleOfMinLastTimestamp?: string;
+
+ /** Gets the timescale in which \"MaxLastTimestamp\" is represented. */
+ @visibility("read")
+ timescaleOfMaxLastTimestamp?: string;
+ }
+
+ /** Incoming video stream out of sync event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventIncomingVideoStreamsOutOfSync event. */
+ model MediaLiveEventIncomingVideoStreamsOutOfSyncEventData {
+ /** Gets the first timestamp received for one of the quality levels. */
+ @visibility("read")
+ firstTimestamp?: string;
+
+ /** Gets the duration of the data chunk with first timestamp. */
+ @visibility("read")
+ firstDuration?: string;
+
+ /** Gets the timestamp received for some other quality levels. */
+ @visibility("read")
+ secondTimestamp?: string;
+
+ /** Gets the duration of the data chunk with second timestamp. */
+ @visibility("read")
+ secondDuration?: string;
+
+ /** Gets the timescale in which both the timestamps and durations are represented. */
+ @visibility("read")
+ timescale?: string;
+ }
+
+ /** Ingest fragment dropped event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventIncomingDataChunkDropped event. */
+ model MediaLiveEventIncomingDataChunkDroppedEventData {
+ /** Gets the timestamp of the data chunk dropped. */
+ @visibility("read")
+ timestamp?: string;
+
+ /** Gets the type of the track (Audio / Video). */
+ @visibility("read")
+ trackType?: string;
+
+ /** Gets the bitrate of the track. */
+ @visibility("read")
+ bitrate?: int64;
+
+ /** Gets the timescale of the Timestamp. */
+ @visibility
+ timescale?: string;
+
+ /** Gets the result code for fragment drop operation. */
+ @visibility("read")
+ resultCode?: string;
+
+ /** Gets the name of the track for which fragment is dropped. */
+ @visibility("read")
+ trackName?: string;
+ }
+
+ /** Ingest heartbeat event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventIngestHeartbeat event. */
+ model MediaLiveEventIngestHeartbeatEventData {
+ /** Gets the type of the track (Audio / Video). */
+ @visibility("read")
+ trackType?: string;
+
+ /** Gets the track name. */
+ @visibility("read")
+ trackName?: string;
+
+ /** Gets the Live Transcription language. */
+ @visibility("read")
+ transcriptionLanguage?: string;
+
+ /** Gets the Live Transcription state. */
+ @visibility("read")
+ transcriptionState?: string;
+
+ /** Gets the bitrate of the track. */
+ @visibility("read")
+ bitrate?: int64;
+
+ /** Gets the incoming bitrate. */
+ @visibility("read")
+ incomingBitrate?: int64;
+
+ /** Gets the track ingest drift value. */
+ @visibility("read")
+ ingestDriftValue?: string;
+
+ /** Gets the arrival UTC time of the last fragment. */
+ @visibility("read")
+ lastFragmentArrivalTime?: string;
+
+ /** Gets the last timestamp. */
+ @visibility("read")
+ lastTimestamp?: string;
+
+ /** Gets the timescale of the last timestamp. */
+ @visibility("read")
+ timescale?: string;
+
+ /** Gets the fragment Overlap count. */
+ @visibility("read")
+ overlapCount?: int64;
+
+ /** Gets the fragment Discontinuity count. */
+ @visibility("read")
+ discontinuityCount?: int64;
+
+ /** Gets Non increasing count. */
+ @visibility("read")
+ nonincreasingCount?: int64;
+
+ /** Gets a value indicating whether unexpected bitrate is present or not. */
+ @visibility("read")
+ unexpectedBitrate?: boolean;
+
+ /** Gets the state of the live event. */
+ @visibility("read")
+ state?: string;
+
+ /** Gets a value indicating whether preview is healthy or not. */
+ @visibility("read")
+ healthy?: boolean;
+ }
+
+ /** Ingest track discontinuity detected event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventTrackDiscontinuityDetected event. */
+ model MediaLiveEventTrackDiscontinuityDetectedEventData {
+ /** Gets the type of the track (Audio / Video). */
+ @visibility("read")
+ trackType?: string;
+
+ /** Gets the track name. */
+ @visibility("read")
+ trackName?: string;
+
+ /** Gets the bitrate. */
+ @visibility("read")
+ bitrate?: int64;
+
+ /** Gets the timestamp of the previous fragment. */
+ @visibility("read")
+ previousTimestamp?: string;
+
+ /** Gets the timestamp of the current fragment. */
+ @visibility("read")
+ newTimestamp?: string;
+
+ /** Gets the timescale in which both timestamps and discontinuity gap are represented. */
+ @visibility("read")
+ timescale?: string;
+
+ /** Gets the discontinuity gap between PreviousTimestamp and NewTimestamp. */
+ @visibility("read")
+ discontinuityGap?: string;
+ }
+
+ /** Channel Archive heartbeat event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventChannelArchiveHeartbeat event. */
+ model MediaLiveEventChannelArchiveHeartbeatEventData {
+ /** Gets the channel latency in ms. */
+ @visibility("read")
+ channelLatencyMs: string;
+
+ /** Gets the latency result code. */
+ @visibility("read")
+ latencyResultCode: string;
+ }
+
+ alias MediaLiveEventConnectionBaseData = {
+ /** Gets the ingest URL provided by the live event. */
+ @visibility("read")
+ ingestUrl?: string;
+
+ /** Gets the stream Id. */
+ @visibility("read")
+ streamId?: string;
+
+ /** Gets the remote IP. */
+ @visibility("read")
+ encoderIp?: string;
+
+ /** Gets the remote port. */
+ @visibility("read")
+ encoderPort?: string;
+ };
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/PolicyInsights.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/PolicyInsights.tsp
new file mode 100644
index 0000000000000..0422c875de2ff
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/PolicyInsights.tsp
@@ -0,0 +1,40 @@
+/** Describes the schema of the Azure Policy events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent. */
+namespace Microsoft.EventGrid.SystemEvents {
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.PolicyInsights.PolicyStateCreated event. */
+ model PolicyInsightsPolicyStateCreatedEventData {
+ ...PolicyInsightsBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.PolicyInsights.PolicyStateChanged event. */
+ model PolicyInsightsPolicyStateChangedEventData {
+ ...PolicyInsightsBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.PolicyInsights.PolicyStateDeleted event. */
+ model PolicyInsightsPolicyStateDeletedEventData {
+ ...PolicyInsightsBaseEventData;
+ }
+
+ alias PolicyInsightsBaseEventData = {
+ /** The time that the resource was scanned by Azure Policy in the Universal ISO 8601 DateTime format yyyy-MM-ddTHH:mm:ss.fffffffZ. */
+ timestamp?: utcDateTime;
+
+ /** The resource ID of the policy assignment. */
+ policyAssignmentId?: string;
+
+ /** The resource ID of the policy definition. */
+ policyDefinitionId?: string;
+
+ /** The reference ID for the policy definition inside the initiative definition, if the policy assignment is for an initiative. May be empty. */
+ policyDefinitionReferenceId?: string;
+
+ /** The compliance state of the resource with respect to the policy assignment. */
+ complianceState?: string;
+
+ /** The subscription ID of the resource. */
+ subscriptionId?: string;
+
+ /** The compliance reason code. May be empty. */
+ complianceReasonCode?: string;
+ };
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/README.md b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/README.md
new file mode 100644
index 0000000000000..e4b570b824e25
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/README.md
@@ -0,0 +1,46 @@
+# EventGrid Typespec Guide
+
+## Guidelines for defining a new event in Typespec
+
+ **_NOTE:_** New events must not be delivered to Event Grid production endpoints until the events have been reviewed with the Azure SDK Architecture board and the PR is merged into main. Once the PR is merged to main, the events are considered GA regardless of whether docs list them as being in preview. This is because customers cannot control which version of events they consume - it is entirely up to the service publishing the events. Any breaking changes to events would need to be implemented as a new event type. Full details can be found in the [Azure Breaking Changes Policy](http://aka.ms/AzBreakingChangesPolicy/), Section 4.
+
+In order to automate the mapping of event definition with event type, please follow the guidelines below when adding new events to your typespec:
+- The name of a new event definition should have `EventData` suffix. For e.g. `AcsChatMessageReceivedEventData`.
+- The description of the new event should include the event type. This is the `eventType` name in an `EventGridEvent` or `type` name in `CloudEvent`. For e.g. `"Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageReceived event."` Here `Microsoft.Communication.ChatMessageReceived` is the event name. If your event is in preview, you may add the word preview: `"Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageReceived preview event."`
+- Make sure to add add your service's SystemEvent CloudEvent Schema examples under `samples/stable/2024-01-01/YOUR_SERVICE_NAME/`.
+
+### Write in Typespec
+
+Under the `Azure.Messaging.EventGrid.SystemEvents` folder find or create your service's `.tsp` file. This is where you will add your new event. For help with typespec conventions refer to [this doc](https://microsoft.github.io/typespec/) about typespec basics. Each new event will be represented as a typespec `model`. After you create your new event, in the `client.tsp` file, you need to add `@@usage(EventGrid.YourEventName, Usage.output)` and `@@access(EventGrid.YourEventName, Access.public)`.
+
+A sample valid event definition is shown below:
+~~~ markdown
+
+/** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageReceived event. */
+model AcsChatMessageReceivedEventData {
+ ...AcsChatMessageEventBaseProperties;
+
+ /** The body of the chat message. */
+ messageBody ?: string;
+}
+~~~
+
+Adding `@usage` and `@access` to `client.tsp`:
+~~~ markdown
+
+@@usage(EventGrid.AcsChatMessageReceivedEventData, Usage.output);
+@@access(EventGrid.AcsChatMessageReceivedEventData, Access.public)
+~~~
+
+# How To Run
+
+Within Azure.Messaging.EventGrid.SystemEvents:
+
+
+To generate the EventGrid SystemEvents from TypeSpec:
+
+With `Azure.Messaging.EventGrid.SystemEvents` as your root directory:
+
+ `tsp compile client.tsp --emit YOUR_EMITTER`
+
+To generate the swagger file YOUR_EMITTER would be @azure-tools/typespec-autorest.
\ No newline at end of file
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/RedisCache.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/RedisCache.tsp
new file mode 100644
index 0000000000000..23b11d1a29c0b
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/RedisCache.tsp
@@ -0,0 +1,35 @@
+/** Describes the schema of the Redis Cache events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent. */
+namespace Microsoft.EventGrid.SystemEvents {
+ alias RedisBaseEventData = {
+ /** The time at which the event occurred. */
+ timestamp?: utcDateTime;
+
+ /** The name of this event. */
+ name?: string;
+
+ /** The status of this event. Failed or succeeded */
+ status?: string;
+ };
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Cache.PatchingCompleted event. */
+ model RedisPatchingCompletedEventData {
+ ...RedisBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Cache.ScalingCompleted event. */
+ model RedisScalingCompletedEventData {
+ ...RedisBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Cache.ExportRDBCompleted event. */
+ #suppress "@azure-tools/typespec-azure-core/casing-style" "Modeling after service swagger."
+ model RedisExportRDBCompletedEventData {
+ ...RedisBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Cache.ImportRDBCompleted event. */
+ #suppress "@azure-tools/typespec-azure-core/casing-style" "Modeling after service swagger."
+ model RedisImportRDBCompletedEventData {
+ ...RedisBaseEventData;
+ }
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/ResourceNotifications.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/ResourceNotifications.tsp
new file mode 100644
index 0000000000000..5ce0ff6e35a4b
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/ResourceNotifications.tsp
@@ -0,0 +1,111 @@
+/**
+Describes the schema of the Health Resources events published to Azure Event
+Grid. This corresponds to the Data property of an EventGridEvent.
+*/
+namespace Microsoft.EventGrid.SystemEvents;
+
+/**
+Schema of the Data property of an EventGridEvent for a
+Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged
+event.
+*/
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model ResourceNotificationsHealthResourcesAvailabilityStatusChangedEventData
+ extends ResourceNotificationsResourceUpdatedEventData {}
+
+/** Describes the schema of the common properties across all ARN system topic events */
+model ResourceNotificationsResourceUpdatedEventData {
+ /** resourceInfo details for update event */
+ resourceInfo?: ResourceNotificationsResourceUpdatedDetails;
+
+ /** details about operational info */
+ operationalInfo?: ResourceNotificationsOperationalDetails;
+
+ /** api version of the resource properties bag */
+ apiVersion?: string;
+}
+
+/**
+Describes the schema of the properties under resource info which are common
+across all ARN system topic events
+*/
+model ResourceNotificationsResourceUpdatedDetails {
+ /** id of the resource for which the event is being emitted */
+ id?: string;
+
+ /** name of the resource for which the event is being emitted */
+ name?: string;
+
+ /** the type of the resource for which the event is being emitted */
+ type?: string;
+
+ /** the location of the resource for which the event is being emitted */
+ location?: string;
+
+ /** the tags on the resource for which the event is being emitted */
+ tags?: Record;
+
+ /** properties in the payload of the resource for which the event is being emitted */
+ #suppress "@azure-tools/typespec-azure-core/bad-record-type" "The type of properties is object with additionalProperties object"
+ properties?: Record;
+}
+
+/** details of operational info */
+model ResourceNotificationsOperationalDetails {
+ /** Date and Time when resource was updated */
+ // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
+ resourceEventTime?: utcDateTime;
+}
+
+/**
+Schema of the Data property of an EventGridEvent for a
+Microsoft.ResourceNotifications.HealthResources.ResourceAnnotated event.
+*/
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model ResourceNotificationsHealthResourcesAnnotatedEventData
+ extends ResourceNotificationsResourceUpdatedEventData {}
+
+// Resources.json
+
+/**
+Schema of the Data property of an EventGridEvent for a
+Microsoft.ResourceNotifications.Resources.CreatedOrUpdated event.
+*/
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model ResourceNotificationsResourceManagementCreatedOrUpdatedEventData
+ extends ResourceNotificationsResourceUpdatedEventData {}
+
+/**
+Schema of the Data property of an EventGridEvent for a
+Microsoft.ResourceNotifications.Resources.Deleted event.
+*/
+#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Maintain compatibility with existing models."
+model ResourceNotificationsResourceManagementDeletedEventData
+ extends ResourceNotificationsResourceDeletedEventData {}
+
+/**
+Describes the schema of the common properties across all ARN system topic
+delete events
+*/
+model ResourceNotificationsResourceDeletedEventData {
+ /** resourceInfo details for delete event */
+ resourceInfo?: ResourceNotificationsResourceDeletedDetails;
+
+ /** details about operational info */
+ operationalInfo?: ResourceNotificationsOperationalDetails;
+}
+
+/**
+Describes the schema of the properties under resource info which are common
+across all ARN system topic delete events
+*/
+model ResourceNotificationsResourceDeletedDetails {
+ /** id of the resource for which the event is being emitted */
+ id?: string;
+
+ /** name of the resource for which the event is being emitted */
+ name?: string;
+
+ /** the type of the resource for which the event is being emitted */
+ type?: string;
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/Resources.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/Resources.tsp
new file mode 100644
index 0000000000000..489bbfb670d9e
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/Resources.tsp
@@ -0,0 +1,109 @@
+/** Describes the schema of the Azure resource events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent. */
+namespace Microsoft.EventGrid.SystemEvents {
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceWriteSuccess event. This is raised when a resource create or update operation succeeds. */
+ model ResourceWriteSuccessData {
+ ...ResourceBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceWriteFailure event. This is raised when a resource create or update operation fails. */
+ model ResourceWriteFailureData {
+ ...ResourceBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceWriteCancel event. This is raised when a resource create or update operation is canceled. */
+ model ResourceWriteCancelData {
+ ...ResourceBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceDeleteSuccess event. This is raised when a resource delete operation succeeds. */
+ model ResourceDeleteSuccessData {
+ ...ResourceBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceDeleteFailure event. This is raised when a resource delete operation fails. */
+ model ResourceDeleteFailureData {
+ ...ResourceBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceDeleteCancel event. This is raised when a resource delete operation is canceled. */
+ model ResourceDeleteCancelData {
+ ...ResourceBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceActionSuccess event. This is raised when a resource action operation succeeds. */
+ model ResourceActionSuccessData {
+ ...ResourceBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceActionFailure event. This is raised when a resource action operation fails. */
+ model ResourceActionFailureData {
+ ...ResourceBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceActionCancel event. This is raised when a resource action operation is canceled. */
+ model ResourceActionCancelData {
+ ...ResourceBaseEventData;
+ }
+
+ /** The details of the HTTP request. */
+ model ResourceHttpRequest {
+ /** The client request ID. */
+ clientRequestId?: string;
+
+ /** The client IP address. */
+ clientIpAddress?: string;
+
+ /** The request method. */
+ method?: string;
+
+ /** The url used in the request. */
+ url?: string;
+ }
+
+ /** The details of the authorization for the resource. */
+ model ResourceAuthorization {
+ /** The scope of the authorization. */
+ scope?: string;
+
+ /** The action being requested. */
+ action?: string;
+
+ /** The evidence for the authorization. */
+ evidence?: Record;
+ }
+
+ alias ResourceBaseEventData = {
+ /** The tenant ID of the resource. */
+ tenantId?: string;
+
+ /** The subscription ID of the resource. */
+ subscriptionId?: string;
+
+ /** The resource group of the resource. */
+ resourceGroup?: string;
+
+ /** The resource provider performing the operation. */
+ resourceProvider?: string;
+
+ /** The URI of the resource in the operation. */
+ resourceUri?: string;
+
+ /** The operation that was performed. */
+ operationName?: string;
+
+ /** The status of the operation. */
+ status?: string;
+
+ /** The requested authorization for the operation. */
+ authorization?: ResourceAuthorization;
+
+ /** The properties of the claims. */
+ claims?: Record;
+
+ /** An operation ID used for troubleshooting. */
+ correlationId?: string;
+
+ /** The details of the operation. */
+ httpRequest?: ResourceHttpRequest;
+ };
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/ServiceBus.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/ServiceBus.tsp
new file mode 100644
index 0000000000000..0167548c82fe8
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/ServiceBus.tsp
@@ -0,0 +1,42 @@
+/** Describes the schema of the Azure ServiceBus Messaging events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent. */
+namespace Microsoft.EventGrid.SystemEvents {
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.ServiceBus.ActiveMessagesAvailableWithNoListeners event. */
+ model ServiceBusActiveMessagesAvailableWithNoListenersEventData {
+ ...ServiceBusBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.ServiceBus.DeadletterMessagesAvailableWithNoListeners event. */
+ model ServiceBusDeadletterMessagesAvailableWithNoListenersEventData {
+ ...ServiceBusBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.ServiceBus.ActiveMessagesAvailablePeriodicNotifications event. */
+ model ServiceBusActiveMessagesAvailablePeriodicNotificationsEventData {
+ ...ServiceBusBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.ServiceBus.DeadletterMessagesAvailablePeriodicNotifications event. */
+ model ServiceBusDeadletterMessagesAvailablePeriodicNotificationsEventData {
+ ...ServiceBusBaseEventData;
+ }
+
+ alias ServiceBusBaseEventData = {
+ /** The namespace name of the Microsoft.ServiceBus resource. */
+ namespaceName?: string;
+
+ /** The endpoint of the Microsoft.ServiceBus resource. */
+ requestUri?: string;
+
+ /** The entity type of the Microsoft.ServiceBus resource. Could be one of 'queue' or 'subscriber'. */
+ entityType?: string;
+
+ /** The name of the Microsoft.ServiceBus queue. If the entity type is of type 'subscriber', then this value will be null. */
+ queueName?: string;
+
+ /** The name of the Microsoft.ServiceBus topic. If the entity type is of type 'queue', then this value will be null. */
+ topicName?: string;
+
+ /** The name of the Microsoft.ServiceBus topic's subscription. If the entity type is of type 'queue', then this value will be null. */
+ subscriptionName?: string;
+ };
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/SignalRService.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/SignalRService.tsp
new file mode 100644
index 0000000000000..ac2f698c5f70c
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/SignalRService.tsp
@@ -0,0 +1,32 @@
+/** Describes the schema of the Azure SignalR Service events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent. */
+#suppress "@azure-tools/typespec-azure-core/casing-style" "Modeling after service swagger."
+namespace Microsoft.EventGrid.SystemEvents {
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.SignalRService.ClientConnectionConnected event. */
+ #suppress "@azure-tools/typespec-azure-core/casing-style" "Modeling after service swagger."
+ model SignalRServiceClientConnectionConnectedEventData {
+ ...SignalRServiceBaseEventdata;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.SignalRService.ClientConnectionDisconnected event. */
+ #suppress "@azure-tools/typespec-azure-core/casing-style" "Modeling after service swagger."
+ model SignalRServiceClientConnectionDisconnectedEventData {
+ ...SignalRServiceBaseEventdata;
+
+ /** The message of error that cause the client connection disconnected. */
+ errorMessage?: string;
+ }
+
+ alias SignalRServiceBaseEventdata = {
+ /** The time at which the event occurred. */
+ timestamp?: utcDateTime;
+
+ /** The hub of connected client connection. */
+ hubName?: string;
+
+ /** The connection Id of connected client connection. */
+ connectionId?: string;
+
+ /** The user Id of connected client connection. */
+ userId?: string;
+ };
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/Storage.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/Storage.tsp
new file mode 100644
index 0000000000000..2d8e72c4db762
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/Storage.tsp
@@ -0,0 +1,351 @@
+/** Describes the schema of the Azure Storage events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent. */
+namespace Microsoft.EventGrid.SystemEvents {
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Storage.BlobCreated event. */
+ model StorageBlobCreatedEventData {
+ /** The name of the API/operation that triggered this event. */
+ api?: string;
+
+ /** A request id provided by the client of the storage API operation that triggered this event. */
+ clientRequestId?: string;
+
+ /** The request id generated by the storage service for the storage API operation that triggered this event. */
+ requestId?: string;
+
+ /** The etag of the blob at the time this event was triggered. */
+ eTag?: string;
+
+ /** The content type of the blob. This is the same as what would be returned in the Content-Type header from the blob. */
+ contentType?: string;
+
+ /** The size of the blob in bytes. This is the same as what would be returned in the Content-Length header from the blob. */
+ contentLength?: int64;
+
+ /** The offset of the blob in bytes. */
+ contentOffset?: int64;
+
+ /** The type of blob. */
+ blobType?: string;
+
+ /** The path to the blob. */
+ url?: string;
+
+ /** An opaque string value representing the logical sequence of events for any particular blob name. Users can use standard string comparison to understand the relative sequence of two events on the same blob name. */
+ sequencer?: string;
+
+ ...StorageBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Storage.BlobDeleted event. */
+ model StorageBlobDeletedEventData {
+ /** The name of the API/operation that triggered this event. */
+ api?: string;
+
+ /** A request id provided by the client of the storage API operation that triggered this event. */
+ clientRequestId?: string;
+
+ /** The request id generated by the storage service for the storage API operation that triggered this event. */
+ requestId?: string;
+
+ /** The content type of the blob. This is the same as what would be returned in the Content-Type header from the blob. */
+ contentType?: string;
+
+ /** The type of blob. */
+ blobType?: string;
+
+ /** The path to the blob. */
+ url?: string;
+
+ /** An opaque string value representing the logical sequence of events for any particular blob name. Users can use standard string comparison to understand the relative sequence of two events on the same blob name. */
+ sequencer?: string;
+
+ ...StorageBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Storage.DirectoryCreated event. */
+ model StorageDirectoryCreatedEventData {
+ /** The name of the API/operation that triggered this event. */
+ api?: string;
+
+ /** A request id provided by the client of the storage API operation that triggered this event. */
+ clientRequestId?: string;
+
+ /** The request id generated by the storage service for the storage API operation that triggered this event. */
+ requestId?: string;
+
+ /** The etag of the directory at the time this event was triggered. */
+ eTag?: string;
+
+ /** The path to the directory. */
+ url?: string;
+
+ /** An opaque string value representing the logical sequence of events for any particular directory name. Users can use standard string comparison to understand the relative sequence of two events on the same directory name. */
+ sequencer?: string;
+
+ ...StorageBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Storage.DirectoryDeleted event. */
+ model StorageDirectoryDeletedEventData {
+ /** The name of the API/operation that triggered this event. */
+ api?: string;
+
+ /** A request id provided by the client of the storage API operation that triggered this event. */
+ clientRequestId?: string;
+
+ /** The request id generated by the storage service for the storage API operation that triggered this event. */
+ requestId?: string;
+
+ /** The path to the deleted directory. */
+ url?: string;
+
+ /** Is this event for a recursive delete operation. */
+ recursive?: string;
+
+ /** An opaque string value representing the logical sequence of events for any particular directory name. Users can use standard string comparison to understand the relative sequence of two events on the same directory name. */
+ sequencer?: string;
+
+ ...StorageBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Storage.BlobRenamed event. */
+ model StorageBlobRenamedEventData {
+ /** The name of the API/operation that triggered this event. */
+ api?: string;
+
+ /** A request id provided by the client of the storage API operation that triggered this event. */
+ clientRequestId?: string;
+
+ /** The request id generated by the storage service for the storage API operation that triggered this event. */
+ requestId?: string;
+
+ /** The path to the blob that was renamed. */
+ sourceUrl?: string;
+
+ /** The new path to the blob after the rename operation. */
+ destinationUrl?: string;
+
+ /** An opaque string value representing the logical sequence of events for any particular blob name. Users can use standard string comparison to understand the relative sequence of two events on the same blob name. */
+ sequencer?: string;
+
+ ...StorageBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Storage.DirectoryRenamed event. */
+ model StorageDirectoryRenamedEventData {
+ /** The name of the API/operation that triggered this event. */
+ api?: string;
+
+ /** A request id provided by the client of the storage API operation that triggered this event. */
+ clientRequestId?: string;
+
+ /** The request id generated by the storage service for the storage API operation that triggered this event. */
+ requestId?: string;
+
+ /** The path to the directory that was renamed. */
+ sourceUrl?: string;
+
+ /** The new path to the directory after the rename operation. */
+ destinationUrl?: string;
+
+ /** An opaque string value representing the logical sequence of events for any particular directory name. Users can use standard string comparison to understand the relative sequence of two events on the same directory name. */
+ sequencer?: string;
+
+ ...StorageBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Storage.LifecyclePolicyCompleted event. */
+ model StorageLifecyclePolicyCompletedEventData {
+ /** The time the policy task was scheduled. */
+ scheduleTime?: string;
+
+ /** Execution statistics of a specific policy action in a Blob Management cycle. */
+ deleteSummary?: StorageLifecyclePolicyActionSummaryDetail;
+
+ /** Execution statistics of a specific policy action in a Blob Management cycle. */
+ tierToCoolSummary?: StorageLifecyclePolicyActionSummaryDetail;
+
+ /** Execution statistics of a specific policy action in a Blob Management cycle. */
+ tierToArchiveSummary?: StorageLifecyclePolicyActionSummaryDetail;
+ }
+
+ /** Execution statistics of a specific policy action in a Blob Management cycle. */
+ model StorageLifecyclePolicyActionSummaryDetail {
+ /** Total number of objects to be acted on by this action. */
+ totalObjectsCount?: int64;
+
+ /** Number of success operations of this action. */
+ successCount?: int64;
+
+ /** Error messages of this action if any. */
+ errorList?: string;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Storage.BlobTierChanged event. */
+ model StorageBlobTierChangedEventData {
+ /** The name of the API/operation that triggered this event. */
+ api?: string;
+
+ /** A request id provided by the client of the storage API operation that triggered this event. */
+ clientRequestId?: string;
+
+ /** The request id generated by the storage service for the storage API operation that triggered this event. */
+ requestId?: string;
+
+ /** The content type of the blob. This is the same as what would be returned in the Content-Type header from the blob. */
+ contentType?: string;
+
+ /** The size of the blob in bytes. This is the same as what would be returned in the Content-Length header from the blob. */
+ contentLength?: int64;
+
+ /** The type of blob. */
+ blobType?: string;
+
+ /** The path to the blob. */
+ url?: string;
+
+ /** An opaque string value representing the logical sequence of events for any particular blob name. Users can use standard string comparison to understand the relative sequence of two events on the same blob name. */
+ sequencer?: string;
+
+ ...StorageBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Storage.AsyncOperationInitiated event. */
+ model StorageAsyncOperationInitiatedEventData {
+ /** The name of the API/operation that triggered this event. */
+ api?: string;
+
+ /** A request id provided by the client of the storage API operation that triggered this event. */
+ clientRequestId?: string;
+
+ /** The request id generated by the storage service for the storage API operation that triggered this event. */
+ requestId?: string;
+
+ /** The content type of the blob. This is the same as what would be returned in the Content-Type header from the blob. */
+ contentType?: string;
+
+ /** The size of the blob in bytes. This is the same as what would be returned in the Content-Length header from the blob. */
+ contentLength?: int64;
+
+ /** The type of blob. */
+ blobType?: string;
+
+ /** The path to the blob. */
+ url?: string;
+
+ /** An opaque string value representing the logical sequence of events for any particular blob name. Users can use standard string comparison to understand the relative sequence of two events on the same blob name. */
+ sequencer?: string;
+
+ ...StorageBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for an Microsoft.Storage.BlobInventoryPolicyCompleted event. */
+ model StorageBlobInventoryPolicyCompletedEventData {
+ /** The time at which inventory policy was scheduled. */
+ scheduleDateTime?: utcDateTime;
+
+ /** The account name for which inventory policy is registered. */
+ accountName?: string;
+
+ /** The rule name for inventory policy. */
+ ruleName?: string;
+
+ /** The status of inventory run, it can be Succeeded/PartiallySucceeded/Failed. */
+ policyRunStatus?: string;
+
+ /** The status message for inventory run. */
+ policyRunStatusMessage?: string;
+
+ /** The policy run id for inventory run. */
+ policyRunId?: string;
+
+ /** The blob URL for manifest file for inventory run. */
+ manifestBlobUrl?: string;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for an Microsoft.Storage.StorageTaskCompleted event. */
+ model StorageTaskCompletedEventData {
+ /** The status for a storage task. */
+ status?: StorageTaskCompletedStatus;
+
+ /** The time at which a storage task was completed. */
+ completedDateTime?: utcDateTime;
+
+ /** The execution id for a storage task. */
+ taskExecutionId?: string;
+
+ /** The task name for a storage task. */
+ taskName?: string;
+
+ /** The summary report blob url for a storage task */
+ summaryReportBlobUrl?: url;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for an Microsoft.Storage.StorageTaskQueued event. */
+ model StorageTaskQueuedEventData {
+ /** The time at which a storage task was queued. */
+ queuedDateTime?: utcDateTime;
+
+ /** The execution id for a storage task. */
+ taskExecutionId?: string;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for an Microsoft.Storage.StorageTaskAssignmentQueued event. */
+ model StorageTaskAssignmentQueuedEventData {
+ /** The time at which a storage task was queued. */
+ // @encode("ISO8601")
+ queuedDateTime?: utcDateTime;
+
+ /** The execution id for a storage task. */
+ taskExecutionId?: string;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for an Microsoft.Storage.StorageTaskAssignmentCompleted event. */
+ model StorageTaskAssignmentCompletedEventData {
+ /** The status for a storage task. */
+ status?: StorageTaskAssignmentCompletedStatus;
+
+ /** The time at which a storage task was completed. */
+ // @encode("ISO8601")
+ completedDateTime?: utcDateTime;
+
+ /** The execution id for a storage task. */
+ taskExecutionId?: string;
+
+ /** The task name for a storage task. */
+ taskName?: string;
+
+ /** The summary report blob url for a storage task */
+ summaryReportBlobUrl?: url;
+ }
+
+ /** The status for a storage task. */
+ union StorageTaskAssignmentCompletedStatus {
+ /** Succeeded */
+ "Succeeded",
+
+ /** Failed */
+ "Failed",
+
+ string,
+ }
+
+ /** The status for a storage task. */
+ union StorageTaskCompletedStatus {
+ /** Succeeded */
+ "Succeeded",
+
+ /** Failed */
+ "Failed",
+
+ string,
+ }
+
+ alias StorageBaseEventData = {
+ /** The identity of the requester that triggered this event. */
+ identity?: string;
+
+ /** For service use only. Diagnostic data occasionally included by the Azure Storage service. This property should be ignored by event consumers. */
+ #suppress "@azure-tools/typespec-azure-core/bad-record-type" "Type is Object in swagger"
+ storageDiagnostics?: Record;
+ };
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/Web.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/Web.tsp
new file mode 100644
index 0000000000000..367113ce36dc3
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/Web.tsp
@@ -0,0 +1,212 @@
+/** Describes the schema of the Azure App Service events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent. */
+namespace Microsoft.EventGrid.SystemEvents {
+ // /** sku of app service plan. */
+ /** Detail of action on the app. */
+ model AppEventTypeDetail {
+ /** Type of action of the operation. */
+ action?: AppAction;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Web.AppUpdated event. */
+ model WebAppUpdatedEventData {
+ ...WebAppBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Web.BackupOperationStarted event. */
+ model WebBackupOperationStartedEventData {
+ ...WebAppBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Web.BackupOperationCompleted event. */
+ model WebBackupOperationCompletedEventData {
+ ...WebAppBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Web.BackupOperationFailed event. */
+ model WebBackupOperationFailedEventData {
+ ...WebAppBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Web.RestoreOperationStarted event. */
+ model WebRestoreOperationStartedEventData {
+ ...WebAppBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Web.RestoreOperationCompleted event. */
+ model WebRestoreOperationCompletedEventData {
+ ...WebAppBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Web.RestoreOperationFailed event. */
+ model WebRestoreOperationFailedEventData {
+ ...WebAppBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Web.SlotSwapStarted event. */
+ model WebSlotSwapStartedEventData {
+ ...WebAppBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Web.SlotSwapCompleted event. */
+ model WebSlotSwapCompletedEventData {
+ ...WebAppBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Web.SlotSwapFailed event. */
+ model WebSlotSwapFailedEventData {
+ ...WebAppBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Web.SlotSwapWithPreviewStarted event. */
+ model WebSlotSwapWithPreviewStartedEventData {
+ ...WebAppBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Web.SlotSwapWithPreviewCancelled event. */
+ model WebSlotSwapWithPreviewCancelledEventData {
+ ...WebAppBaseEventData;
+ }
+
+ /** Schema of the Data property of an EventGridEvent for a Microsoft.Web.AppServicePlanUpdated event. */
+ model WebAppServicePlanUpdatedEventData {
+ /** Detail of action on the app service plan. */
+ appServicePlanEventTypeDetail?: AppServicePlanEventTypeDetail;
+
+ /** sku of app service plan. */
+ sku?: WebAppServicePlanUpdatedEventDataSku;
+
+ /** name of the app service plan that had this event. */
+ name?: string;
+
+ /** The client request id generated by the app service for the app service plan API operation that triggered this event. */
+ clientRequestId?: string;
+
+ /** The correlation request id generated by the app service for the app service plan API operation that triggered this event. */
+ correlationRequestId?: string;
+
+ /** The request id generated by the app service for the app service plan API operation that triggered this event. */
+ requestId?: string;
+
+ /** HTTP request URL of this operation. */
+ address?: string;
+
+ /** HTTP verb of this operation. */
+ verb?: string;
+ }
+
+ /** Type of action of the operation */
+ union AppAction {
+ /** Web app was restarted. */
+ "Restarted",
+
+ /** Web app was stopped. */
+ "Stopped",
+
+ /** There was an operation to change app setting on the web app. */
+ "ChangedAppSettings",
+
+ /** The job has started. */
+ "Started",
+
+ /** The job has completed. */
+ "Completed",
+
+ /** The job has failed to complete. */
+ "Failed",
+
+ string,
+ }
+
+ /** Kind of environment where app service plan is. */
+ union StampKind {
+ /** App Service Plan is running on a public stamp. */
+ "Public",
+
+ /** App Service Plan is running on an App Service Environment V1. */
+ "AseV1",
+
+ /** App Service Plan is running on an App Service Environment V2. */
+ "AseV2",
+
+ string,
+ }
+
+ /** Type of action on the app service plan. */
+ union AppServicePlanAction {
+ /** App Service plan is being updated. */
+ "Updated",
+
+ string,
+ }
+
+ /** Detail of action on the app service plan. */
+ model AppServicePlanEventTypeDetail {
+ /** Kind of environment where app service plan is. */
+ stampKind?: StampKind;
+
+ /** Type of action on the app service plan. */
+ action?: AppServicePlanAction;
+
+ /** Asynchronous operation status of the operation on the app service plan. */
+ status?: AsyncStatus;
+ }
+
+ /** Asynchronous operation status of the operation on the app service plan. */
+ union AsyncStatus {
+ /** Async operation has started. */
+ "Started",
+
+ /** Async operation has completed. */
+ "Completed",
+
+ /** Async operation failed to complete. */
+ "Failed",
+
+ string,
+ }
+
+ alias WebAppBaseEventData = {
+ /** Detail of action on the app. */
+ appEventTypeDetail?: AppEventTypeDetail;
+
+ /** name of the web site that had this event. */
+ name?: string;
+
+ /** The client request id generated by the app service for the site API operation that triggered this event. */
+ clientRequestId?: string;
+
+ /** The correlation request id generated by the app service for the site API operation that triggered this event. */
+ correlationRequestId?: string;
+
+ /** The request id generated by the app service for the site API operation that triggered this event. */
+ requestId?: string;
+
+ /** HTTP request URL of this operation. */
+ address?: string;
+
+ /** HTTP verb of this operation. */
+ verb?: string;
+ };
+
+ /** sku of app service plan. */
+ model WebAppServicePlanUpdatedEventDataSku {
+ /** name of app service plan sku. */
+ name?: string;
+
+ /** tier of app service plan sku. */
+ #suppress "@azure-tools/typespec-azure-core/casing-style" "Modeling after original service swagger."
+ Tier?: string;
+
+ /** size of app service plan sku. */
+ #suppress "@azure-tools/typespec-azure-core/casing-style" "Modeling after original service swagger."
+ Size?: string;
+
+ /** family of app service plan sku. */
+ #suppress "@azure-tools/typespec-azure-core/casing-style" "Modeling after original service swagger."
+ Family?: string;
+
+ /** capacity of app service plan sku. */
+ #suppress "@azure-tools/typespec-azure-core/casing-style" "Modeling after original service swagger."
+ Capacity?: string;
+ }
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/client.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/client.tsp
new file mode 100644
index 0000000000000..9efe25648d95b
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/client.tsp
@@ -0,0 +1,1695 @@
+import "@azure-tools/typespec-client-generator-core";
+import "@typespec/versioning";
+
+import "./main.tsp";
+
+using Azure.ClientGenerator.Core;
+
+// Models
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementUserCreatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementUserCreatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementUserUpdatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementUserUpdatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementUserDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementUserDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementSubscriptionCreatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementSubscriptionCreatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementSubscriptionUpdatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementSubscriptionUpdatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementSubscriptionDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementSubscriptionDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementProductCreatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementProductCreatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementProductUpdatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementProductUpdatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementProductDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementProductDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementApiCreatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementApiCreatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementApiUpdatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementApiUpdatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementApiDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementApiDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementApiReleaseCreatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementApiReleaseCreatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementApiReleaseUpdatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementApiReleaseUpdatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementApiReleaseDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementApiReleaseDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayCreatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayCreatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayUpdatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayUpdatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayHostnameConfigurationCreatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayHostnameConfigurationCreatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayHostnameConfigurationUpdatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayHostnameConfigurationUpdatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayHostnameConfigurationDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayHostnameConfigurationDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayCertificateAuthorityCreatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayCertificateAuthorityCreatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayCertificateAuthorityUpdatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayCertificateAuthorityUpdatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayCertificateAuthorityDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayCertificateAuthorityDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayApiAddedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayApiAddedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayApiRemovedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ApiManagementGatewayApiRemovedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AppConfigurationKeyValueModifiedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AppConfigurationKeyValueModifiedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AppConfigurationKeyValueDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AppConfigurationKeyValueDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AppConfigurationSnapshotEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AppConfigurationSnapshotEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AppConfigurationSnapshotCreatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AppConfigurationSnapshotCreatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AppConfigurationSnapshotModifiedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AppConfigurationSnapshotModifiedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AvsPrivateCloudUpdatingEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AvsPrivateCloudUpdatingEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AvsPrivateCloudUpdatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AvsPrivateCloudUpdatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AvsPrivateCloudFailedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AvsPrivateCloudFailedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AvsClusterCreatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AvsClusterCreatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AvsClusterDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AvsClusterDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AvsClusterUpdatingEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AvsClusterUpdatingEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AvsClusterUpdatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AvsClusterUpdatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AvsClusterFailedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AvsClusterFailedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AvsScriptExecutionFinishedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AvsScriptExecutionFinishedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AvsScriptExecutionCancelledEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AvsScriptExecutionCancelledEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AvsScriptExecutionFailedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AvsScriptExecutionFailedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AvsPrivateCloudEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AvsPrivateCloudEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AvsClusterEventData, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.AvsClusterEventData, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.AvsScriptExecutionEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AvsScriptExecutionEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsIncomingCallEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsIncomingCallEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsUserDisconnectedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsUserDisconnectedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatMessageReceivedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatMessageReceivedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatMessageReceivedInThreadEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatMessageReceivedInThreadEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatMessageEditedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatMessageEditedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatMessageEditedInThreadEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatMessageEditedInThreadEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatMessageDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatMessageDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatMessageDeletedInThreadEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatMessageDeletedInThreadEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatThreadCreatedWithUserEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatThreadCreatedWithUserEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatThreadCreatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatThreadCreatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatThreadWithUserDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatThreadWithUserDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatThreadDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatThreadDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatThreadPropertiesUpdatedPerUserEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatThreadPropertiesUpdatedPerUserEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatThreadPropertiesUpdatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatThreadPropertiesUpdatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatParticipantAddedToThreadWithUserEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatParticipantAddedToThreadWithUserEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatParticipantRemovedFromThreadWithUserEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatParticipantRemovedFromThreadWithUserEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatParticipantAddedToThreadEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatParticipantAddedToThreadEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatParticipantRemovedFromThreadEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatParticipantRemovedFromThreadEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsSmsDeliveryReportReceivedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsSmsDeliveryReportReceivedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsSmsReceivedEventData, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.AcsSmsReceivedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRecordingFileStatusUpdatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRecordingFileStatusUpdatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsEmailDeliveryReportReceivedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsEmailDeliveryReportReceivedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsEmailEngagementTrackingReportReceivedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsEmailEngagementTrackingReportReceivedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterJobCancelledEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterJobCancelledEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterJobClassificationFailedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterJobClassificationFailedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterJobClassifiedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterJobClassifiedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterJobClosedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterJobClosedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterJobCompletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterJobCompletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterJobDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterJobDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterJobExceptionTriggeredEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterJobExceptionTriggeredEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterJobQueuedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterJobQueuedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterJobReceivedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterJobReceivedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterJobSchedulingFailedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterJobSchedulingFailedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterJobUnassignedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterJobUnassignedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterJobWaitingForActivationEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterJobWaitingForActivationEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterJobWorkerSelectorsExpiredEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterJobWorkerSelectorsExpiredEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerDeregisteredEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerDeregisteredEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerOfferAcceptedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerOfferAcceptedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerOfferDeclinedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerOfferDeclinedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerOfferExpiredEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerOfferExpiredEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerOfferIssuedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerOfferIssuedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerOfferRevokedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerOfferRevokedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerRegisteredEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerRegisteredEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterJobEventData, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterJobEventData, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterEventData, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterEventData, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterChannelConfiguration,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterChannelConfiguration,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterQueueDetails, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterQueueDetails, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterCommunicationError,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterCommunicationError,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerSelector, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerSelector,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsEmailDeliveryReportStatusDetails,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsEmailDeliveryReportStatusDetails,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatThreadEventBaseProperties,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatThreadEventBaseProperties,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatThreadEventInThreadBaseProperties,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatThreadEventInThreadBaseProperties,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatMessageEventBaseProperties,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatMessageEventBaseProperties,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatMessageEventInThreadBaseProperties,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatMessageEventInThreadBaseProperties,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatEventInThreadBaseProperties,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatEventInThreadBaseProperties,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatEventBaseProperties,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatEventBaseProperties,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsChatThreadParticipantProperties,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsChatThreadParticipantProperties,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsSmsEventBaseProperties,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsSmsEventBaseProperties,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsSmsDeliveryAttemptProperties,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsSmsDeliveryAttemptProperties,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRecordingStorageInfoProperties,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRecordingStorageInfoProperties,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRecordingChunkInfoProperties,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRecordingChunkInfoProperties,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsIncomingCallCustomContext,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsIncomingCallCustomContext,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.CommunicationIdentifierModel,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.CommunicationIdentifierModel,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MicrosoftTeamsUserIdentifierModel,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MicrosoftTeamsUserIdentifierModel,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.PhoneNumberIdentifierModel,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.PhoneNumberIdentifierModel,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.CommunicationUserIdentifierModel,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.CommunicationUserIdentifierModel,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ContainerRegistryImagePushedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ContainerRegistryImagePushedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ContainerRegistryImageDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ContainerRegistryImageDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ContainerRegistryChartPushedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ContainerRegistryChartPushedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ContainerRegistryChartDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ContainerRegistryChartDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ContainerRegistryEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ContainerRegistryEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ContainerRegistryArtifactEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ContainerRegistryArtifactEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ContainerRegistryEventTarget,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ContainerRegistryEventTarget,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ContainerRegistryArtifactEventTarget,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ContainerRegistryArtifactEventTarget,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ContainerRegistryEventRequest,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ContainerRegistryEventRequest,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ContainerRegistryEventActor,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ContainerRegistryEventActor,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ContainerRegistryEventSource,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ContainerRegistryEventSource,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ContainerRegistryEventConnectedRegistry,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ContainerRegistryEventConnectedRegistry,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ContainerServiceNewKubernetesVersionAvailableEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ContainerServiceNewKubernetesVersionAvailableEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ContainerServiceClusterSupportEndedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ContainerServiceClusterSupportEndedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ContainerServiceClusterSupportEndingEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ContainerServiceClusterSupportEndingEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ContainerServiceNodePoolRollingStartedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ContainerServiceNodePoolRollingStartedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ContainerServiceNodePoolRollingSucceededEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ContainerServiceNodePoolRollingSucceededEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ContainerServiceNodePoolRollingFailedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ContainerServiceNodePoolRollingFailedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ContainerServiceClusterSupportEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ContainerServiceClusterSupportEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ContainerServiceNodePoolRollingEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ContainerServiceNodePoolRollingEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.DataBoxCopyStartedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.DataBoxCopyStartedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.DataBoxCopyCompletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.DataBoxCopyCompletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.DataBoxOrderCompletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.DataBoxOrderCompletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.SubscriptionValidationEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.SubscriptionValidationEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.SubscriptionValidationResponse,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.SubscriptionValidationResponse,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.SubscriptionDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.SubscriptionDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.EventGridMQTTClientCreatedOrUpdatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.EventGridMQTTClientCreatedOrUpdatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.EventGridMQTTClientEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.EventGridMQTTClientEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.EventGridMQTTClientDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.EventGridMQTTClientDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.EventGridMQTTClientSessionConnectedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.EventGridMQTTClientSessionConnectedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.EventGridMQTTClientSessionDisconnectedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.EventGridMQTTClientSessionDisconnectedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.EventHubCaptureFileCreatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.EventHubCaptureFileCreatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceType,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceType,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceCreatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceCreatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceUpdatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceUpdatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.HealthcareDicomImageCreatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.HealthcareDicomImageCreatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.HealthcareDicomImageDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.HealthcareDicomImageDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.HealthcareDicomImageUpdatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.HealthcareDicomImageUpdatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.DeviceLifeCycleEventProperties,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.DeviceLifeCycleEventProperties,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.DeviceTwinMetadata, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.DeviceTwinMetadata, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.DeviceTwinProperties, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.DeviceTwinProperties, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.DeviceTwinInfo, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.DeviceTwinInfo, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.DeviceConnectionStateEventProperties,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.DeviceConnectionStateEventProperties,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.DeviceTelemetryEventProperties,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.DeviceTelemetryEventProperties,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.DeviceConnectionStateEventInfo,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.DeviceConnectionStateEventInfo,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.IotHubDeviceCreatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.IotHubDeviceCreatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.IotHubDeviceDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.IotHubDeviceDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.IotHubDeviceConnectedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.IotHubDeviceConnectedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.IotHubDeviceDisconnectedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.IotHubDeviceDisconnectedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.IotHubDeviceTelemetryEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.IotHubDeviceTelemetryEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.DeviceTwinInfoX509Thumbprint,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.DeviceTwinInfoX509Thumbprint,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.DeviceTwinInfoProperties,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.DeviceTwinInfoProperties,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.KeyVaultCertificateNewVersionCreatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.KeyVaultCertificateNewVersionCreatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.KeyVaultCertificateNearExpiryEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.KeyVaultCertificateNearExpiryEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.KeyVaultCertificateExpiredEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.KeyVaultCertificateExpiredEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.KeyVaultKeyNewVersionCreatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.KeyVaultKeyNewVersionCreatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.KeyVaultKeyNearExpiryEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.KeyVaultKeyNearExpiryEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.KeyVaultKeyExpiredEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.KeyVaultKeyExpiredEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.KeyVaultSecretNewVersionCreatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.KeyVaultSecretNewVersionCreatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.KeyVaultSecretNearExpiryEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.KeyVaultSecretNearExpiryEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.KeyVaultSecretExpiredEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.KeyVaultSecretExpiredEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.KeyVaultVaultAccessPolicyChangedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.KeyVaultVaultAccessPolicyChangedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MachineLearningServicesModelRegisteredEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MachineLearningServicesModelRegisteredEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MachineLearningServicesModelDeployedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MachineLearningServicesModelDeployedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MachineLearningServicesRunCompletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MachineLearningServicesRunCompletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MachineLearningServicesDatasetDriftDetectedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MachineLearningServicesDatasetDriftDetectedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MachineLearningServicesRunStatusChangedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MachineLearningServicesRunStatusChangedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MapsGeofenceEnteredEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MapsGeofenceEnteredEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MapsGeofenceExitedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MapsGeofenceExitedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MapsGeofenceResultEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MapsGeofenceResultEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MapsGeofenceEventProperties,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MapsGeofenceEventProperties,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MapsGeofenceGeometry, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.MapsGeofenceGeometry, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobStateChangeEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobStateChangeEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobError, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobError, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobErrorDetail, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobErrorDetail, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobOutput, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobOutput, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobOutputAsset, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobOutputAsset, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobOutputProgressEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobOutputProgressEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobOutputStateChangeEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobOutputStateChangeEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobScheduledEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobScheduledEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobProcessingEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobProcessingEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobCancelingEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobCancelingEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobFinishedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobFinishedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobCanceledEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobCanceledEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobErroredEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobErroredEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobOutputCanceledEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobOutputCanceledEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobOutputCancelingEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobOutputCancelingEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobOutputErroredEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobOutputErroredEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobOutputFinishedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobOutputFinishedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobOutputProcessingEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobOutputProcessingEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobOutputScheduledEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobOutputScheduledEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaLiveEventEncoderConnectedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaLiveEventEncoderConnectedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaLiveEventConnectionRejectedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaLiveEventConnectionRejectedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaLiveEventEncoderDisconnectedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaLiveEventEncoderDisconnectedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaLiveEventIncomingStreamReceivedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaLiveEventIncomingStreamReceivedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaLiveEventIncomingStreamsOutOfSyncEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaLiveEventIncomingStreamsOutOfSyncEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaLiveEventIncomingVideoStreamsOutOfSyncEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaLiveEventIncomingVideoStreamsOutOfSyncEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaLiveEventIncomingDataChunkDroppedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaLiveEventIncomingDataChunkDroppedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaLiveEventIngestHeartbeatEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaLiveEventIngestHeartbeatEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaLiveEventTrackDiscontinuityDetectedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaLiveEventTrackDiscontinuityDetectedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaLiveEventChannelArchiveHeartbeatEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.MediaLiveEventChannelArchiveHeartbeatEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.PolicyInsightsPolicyStateCreatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.PolicyInsightsPolicyStateCreatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.PolicyInsightsPolicyStateChangedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.PolicyInsightsPolicyStateChangedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.PolicyInsightsPolicyStateDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.PolicyInsightsPolicyStateDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.RedisPatchingCompletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.RedisPatchingCompletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.RedisScalingCompletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.RedisScalingCompletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.RedisExportRDBCompletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.RedisExportRDBCompletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.RedisImportRDBCompletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.RedisImportRDBCompletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ResourceWriteSuccessData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ResourceWriteSuccessData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ResourceWriteFailureData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ResourceWriteFailureData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ResourceWriteCancelData, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.ResourceWriteCancelData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ResourceDeleteSuccessData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ResourceDeleteSuccessData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ResourceDeleteFailureData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ResourceDeleteFailureData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ResourceDeleteCancelData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ResourceDeleteCancelData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ResourceActionSuccessData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ResourceActionSuccessData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ResourceActionFailureData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ResourceActionFailureData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ResourceActionCancelData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ResourceActionCancelData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ResourceHttpRequest, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.ResourceHttpRequest, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.ResourceAuthorization, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.ResourceAuthorization, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.ServiceBusActiveMessagesAvailableWithNoListenersEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ServiceBusActiveMessagesAvailableWithNoListenersEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ServiceBusDeadletterMessagesAvailableWithNoListenersEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ServiceBusDeadletterMessagesAvailableWithNoListenersEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ServiceBusActiveMessagesAvailablePeriodicNotificationsEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ServiceBusActiveMessagesAvailablePeriodicNotificationsEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ServiceBusDeadletterMessagesAvailablePeriodicNotificationsEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ServiceBusDeadletterMessagesAvailablePeriodicNotificationsEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.SignalRServiceClientConnectionConnectedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.SignalRServiceClientConnectionConnectedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.SignalRServiceClientConnectionDisconnectedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.SignalRServiceClientConnectionDisconnectedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.StorageBlobCreatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.StorageBlobCreatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.StorageBlobDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.StorageBlobDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.StorageDirectoryCreatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.StorageDirectoryCreatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.StorageDirectoryDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.StorageDirectoryDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.StorageBlobRenamedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.StorageBlobRenamedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.StorageDirectoryRenamedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.StorageDirectoryRenamedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.StorageLifecyclePolicyCompletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.StorageLifecyclePolicyCompletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.StorageLifecyclePolicyActionSummaryDetail,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.StorageLifecyclePolicyActionSummaryDetail,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.StorageBlobTierChangedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.StorageBlobTierChangedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.StorageAsyncOperationInitiatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.StorageAsyncOperationInitiatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.StorageBlobInventoryPolicyCompletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.StorageBlobInventoryPolicyCompletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.StorageTaskCompletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.StorageTaskCompletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.StorageTaskQueuedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.StorageTaskQueuedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.StorageTaskAssignmentQueuedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.StorageTaskAssignmentQueuedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.StorageTaskAssignmentCompletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.StorageTaskAssignmentCompletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AppEventTypeDetail, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.AppEventTypeDetail, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.WebAppUpdatedEventData, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.WebAppUpdatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.WebBackupOperationStartedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.WebBackupOperationStartedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.WebBackupOperationCompletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.WebBackupOperationCompletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.WebBackupOperationFailedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.WebBackupOperationFailedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.WebRestoreOperationStartedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.WebRestoreOperationStartedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.WebRestoreOperationCompletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.WebRestoreOperationCompletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.WebRestoreOperationFailedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.WebRestoreOperationFailedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.WebSlotSwapStartedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.WebSlotSwapStartedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.WebSlotSwapCompletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.WebSlotSwapCompletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.WebSlotSwapFailedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.WebSlotSwapFailedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.WebSlotSwapWithPreviewStartedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.WebSlotSwapWithPreviewStartedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.WebSlotSwapWithPreviewCancelledEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.WebSlotSwapWithPreviewCancelledEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.WebAppServicePlanUpdatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.WebAppServicePlanUpdatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AppServicePlanEventTypeDetail,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AppServicePlanEventTypeDetail,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.WebAppServicePlanUpdatedEventDataSku,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.WebAppServicePlanUpdatedEventDataSku,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ResourceNotificationsHealthResourcesAvailabilityStatusChangedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ResourceNotificationsHealthResourcesAvailabilityStatusChangedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ResourceNotificationsResourceUpdatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ResourceNotificationsResourceUpdatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ResourceNotificationsResourceUpdatedDetails,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ResourceNotificationsResourceUpdatedDetails,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ResourceNotificationsOperationalDetails,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ResourceNotificationsOperationalDetails,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ResourceNotificationsHealthResourcesAnnotatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ResourceNotificationsHealthResourcesAnnotatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ResourceNotificationsResourceManagementCreatedOrUpdatedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ResourceNotificationsResourceManagementCreatedOrUpdatedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ResourceNotificationsResourceManagementDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ResourceNotificationsResourceManagementDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ResourceNotificationsResourceDeletedEventData,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ResourceNotificationsResourceDeletedEventData,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.ResourceNotificationsResourceDeletedDetails,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.ResourceNotificationsResourceDeletedDetails,
+ Access.public
+);
+// Enums
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterJobStatus, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterJobStatus, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.recordingContentType, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.recordingContentType, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.recordingChannelType, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.recordingChannelType, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.recordingFormatType, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.recordingFormatType, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterLabelOperator, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterLabelOperator,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerSelectorState,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsRouterWorkerSelectorState,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsEmailDeliveryReportStatus,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.AcsEmailDeliveryReportStatus,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AcsUserEngagement, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.AcsUserEngagement, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.CommunicationCloudEnvironmentModel,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.CommunicationCloudEnvironmentModel,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.DataBoxStageName, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.DataBoxStageName, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.EventGridMQTTClientState,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.EventGridMQTTClientState,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.EventGridMQTTClientDisconnectionReason,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.EventGridMQTTClientDisconnectionReason,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceType,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceType,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobState, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobState, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobErrorCode, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobErrorCode, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobErrorCategory, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobErrorCategory, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.MediaJobRetry, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.MediaJobRetry, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.StorageTaskAssignmentCompletedStatus,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.StorageTaskAssignmentCompletedStatus,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.StorageTaskCompletedStatus,
+ Usage.output
+);
+@@access(Microsoft.EventGrid.SystemEvents.StorageTaskCompletedStatus,
+ Access.public
+);
+@@usage(Microsoft.EventGrid.SystemEvents.AppAction, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.AppAction, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.StampKind, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.StampKind, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.AppServicePlanAction, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.AppServicePlanAction, Access.public);
+@@usage(Microsoft.EventGrid.SystemEvents.AsyncStatus, Usage.output);
+@@access(Microsoft.EventGrid.SystemEvents.AsyncStatus, Access.public);
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/HealthResources_AvailabilityStatusChanged.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/HealthResources_AvailabilityStatusChanged.json
new file mode 100644
index 0000000000000..93799aea17b8e
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/HealthResources_AvailabilityStatusChanged.json
@@ -0,0 +1,28 @@
+{
+ "id": "1fb6fa94-d965-4306-abeq-4810f0774e97",
+ "source": "/subscriptions/{subscription-id}",
+ "subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}",
+ "data": {
+ "resourceInfo": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}/providers/Microsoft.ResourceHealth/availabilityStatuses/{event-id}",
+ "name": "{event-id}",
+ "type": "Microsoft.ResourceHealth/availabilityStatuses",
+ "properties": {
+ "targetResourceId": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}",
+ "targetResourceType": "Microsoft.Compute/virtualMachines",
+ "occurredTime": "2023-07-24T19:20:37.9245071Z",
+ "previousAvailabilityState": "Unavailable",
+ "availabilityState": "Available"
+ }
+ },
+ "operationalInfo": {
+ "resourceEventTime": "2023-07-24T19:20:37.9245071Z"
+ },
+ "apiVersion": "2023-12-01"
+ },
+ "type": "Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged",
+ "specversion": "1.0",
+ "time": "2023-07-24T19:20:37.9245071Z",
+ "operationId": "AvailabilityStatusChangedEventName",
+ "title": "AvailabilityStatusChanged"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/HealthResources_ResourceAnnotated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/HealthResources_ResourceAnnotated.json
new file mode 100644
index 0000000000000..491bfd7597d44
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/HealthResources_ResourceAnnotated.json
@@ -0,0 +1,31 @@
+{
+ "id": "8945cf9b-e220-496e-ab4f-f3a239318995",
+ "source": "/subscriptions/{subscription-id}",
+ "subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}",
+ "data": {
+ "resourceInfo": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}/providers/Microsoft.ResourceHealth/resourceAnnotations/{event-id}",
+ "name": "{event-id}",
+ "type": "Microsoft.ResourceHealth/resourceAnnotations",
+ "properties": {
+ "targetResourceId": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}",
+ "targetResourceType": "Microsoft.Compute/virtualMachines",
+ "occurredTime": "2023-07-24T19:20:37.9245071Z",
+ "annotationName": "VirtualMachineDeallocationInitiated",
+ "reason": "Stopping and deallocating",
+ "summary": "This virtual machine is stopped and deallocated as requested by an authorized user or process.",
+ "context": "Customer Initiated",
+ "category": "Not Applicable"
+ }
+ },
+ "operationalInfo": {
+ "resourceEventTime": "2023-07-24T19:20:37.9245071Z"
+ },
+ "apiVersion": "2022-08-01"
+ },
+ "type": "Microsoft.ResourceNotifications.HealthResources.ResourceAnnotated",
+ "specversion": "1.0",
+ "time": "2023-07-24T19:20:37.9245071Z",
+ "operationId": "ResourceAnnotatedEventName",
+ "title": "ResourceAnnotated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/MediaLiveEventChannelArchiveHeartbeatEvent.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/MediaLiveEventChannelArchiveHeartbeatEvent.json
new file mode 100644
index 0000000000000..27df681b35848
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/MediaLiveEventChannelArchiveHeartbeatEvent.json
@@ -0,0 +1,14 @@
+{
+ "source": "/subscriptions//resourceGroups//providers/Microsoft.Media/mediaservices/",
+ "subject": "liveEvent/mle1",
+ "type": "Microsoft.Media.LiveEventChannelArchiveHeartbeat",
+ "time": "2021-05-14T23:50:00.3240000",
+ "id": "7f450938-491f-41e1-b06f-c6cd3965d786",
+ "data": {
+ "channelLatencyMs": "10",
+ "latencyResultCode": "S_OK"
+ },
+ "specversion": "1.0",
+ "operationId": "LiveEventChannelArchiveHeartbeatEventName",
+ "title": "LiveEventChannelArchiveHeartbeat"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/MediaLiveEventIngestHeartbeatEvent.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/MediaLiveEventIngestHeartbeatEvent.json
new file mode 100644
index 0000000000000..fe68e1a956e3c
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/MediaLiveEventIngestHeartbeatEvent.json
@@ -0,0 +1,28 @@
+{
+ "source": "/subscriptions//resourceGroups//providers/Microsoft.Media/mediaservices/",
+ "subject": "liveEvent/mle1",
+ "type": "Microsoft.Media.LiveEventIngestHeartbeat",
+ "time": "2021-05-14T23:50:00.3240000",
+ "id": "7f450938-491f-41e1-b06f-c6cd3965d786",
+ "data": {
+ "trackType": "video",
+ "trackName": "video",
+ "bitrate": 2500000,
+ "incomingBitrate": 2462597,
+ "lastTimestamp": "106999",
+ "timescale": "1000",
+ "overlapCount": 0,
+ "discontinuityCount": 0,
+ "nonincreasingCount": 0,
+ "unexpectedBitrate": false,
+ "state": "Running",
+ "healthy": true,
+ "lastFragmentArrivalTime": "2021-05-14T23:50:00",
+ "ingestDriftValue": "0",
+ "transcriptionState": "On",
+ "transcriptionLanguage": "en-us"
+ },
+ "specversion": "1.0",
+ "operationId": "LiveEventIngestHeartbeatEventName",
+ "title": "LiveEventIngestHeartbeat"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/Resources_CreatedOrUpdated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/Resources_CreatedOrUpdated.json
new file mode 100644
index 0000000000000..4ba368f765667
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/Resources_CreatedOrUpdated.json
@@ -0,0 +1,74 @@
+{
+ "id": "4eef929a-a65c-47dd-93e2-46b8c17c6c17",
+ "source": "/subscriptions/{subscription-id}",
+ "subject": "/subscriptions/{subscription-id} /resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storageAccount-name}",
+ "data": {
+ "resourceInfo": {
+ "tags": {},
+ "id": "/subscriptions/{subcription-id} /resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storageAccount-name}",
+ "name": "StorageAccount-name",
+ "type": "Microsoft.Storage/storageAccounts",
+ "location": "eastus",
+ "properties": {
+ "privateEndpointConnections": [],
+ "minimumTlsVersion": "TLS1_2",
+ "allowBlobPublicAccess": 1,
+ "allowSharedKeyAccess": 1,
+ "networkAcls": {
+ "bypass": "AzureServices",
+ "virtualNetworkRules": [],
+ "ipRules": [],
+ "defaultAction": "Allow"
+ },
+ "supportsHttpsTrafficOnly": 1,
+ "encryption": {
+ "requireInfrastructureEncryption": 0,
+ "services": {
+ "file": {
+ "keyType": "Account",
+ "enabled": 1,
+ "lastEnabledTime": "2023-07-28T20:12:50.6380308Z"
+ },
+ "blob": {
+ "keyType": "Account",
+ "enabled": 1,
+ "lastEnabledTime": "2023-07-28T20:12:50.6380308Z"
+ }
+ },
+ "keySource": "Microsoft.Storage"
+ },
+ "accessTier": "Hot",
+ "provisioningState": "Succeeded",
+ "creationTime": "2023-07-28T20:12:50.4661564Z",
+ "primaryEndpoints": {
+ "dfs": "https://{storageAccount-name}.dfs.core.windows.net/",
+ "web": "https://{storageAccount-name}.z13.web.core.windows.net/",
+ "blob": "https://{storageAccount-name}.blob.core.windows.net/",
+ "queue": "https://{storageAccount-name}.queue.core.windows.net/",
+ "table": "https://{storageAccount-name}.table.core.windows.net/",
+ "file": "https://{storageAccount-name}.file.core.windows.net/"
+ },
+ "primaryLocation": "eastus",
+ "statusOfPrimary": "available",
+ "secondaryLocation": "westus",
+ "statusOfSecondary": "available",
+ "secondaryEndpoints": {
+ "dfs": "https://{storageAccount-name} -secondary.dfs.core.windows.net/",
+ "web": "https://{storageAccount-name}-secondary.z13.web.core.windows.net/",
+ "blob": "https://{storageAccount-name}-secondary.blob.core.windows.net/",
+ "queue": "https://{storageAccount-name}-secondary.queue.core.windows.net/",
+ "table": "https://{storageAccount-name}-secondary.table.core.windows.net/"
+ }
+ }
+ },
+ "operationalInfo": {
+ "resourceEventTime": "2023-07-28T20:13:10.8418063Z"
+ },
+ "apiVersion": "2019-06-01"
+ },
+ "type": "Microsoft.ResourceNotifications.Resources.CreatedOrUpdated",
+ "specversion": "1.0",
+ "time": "2023-07-28T20:13:10.8418063Z",
+ "operationId": "CreatedOrUpdatedEventName",
+ "title": "CreatedOrUpdated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/Resources_Deleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/Resources_Deleted.json
new file mode 100644
index 0000000000000..5ffd29bde249e
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/Resources_Deleted.json
@@ -0,0 +1,20 @@
+{
+ "id": "d4611260-d179-4f86-b196-3a9d4128be2d",
+ "source": "/subscriptions/{subscription-id}",
+ "subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storageAccount-name}",
+ "data": {
+ "resourceInfo": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storageAccount-name}",
+ "name": "storageAccount-name",
+ "type": "Microsoft.Storage/storageAccounts"
+ },
+ "operationalInfo": {
+ "resourceEventTime": "2023-07-28T20:11:36.6347858Z"
+ }
+ },
+ "type": "Microsoft.ResourceNotifications.Resources.Deleted",
+ "specversion": "1.0",
+ "time": "2023-07-28T20:11:36.6347858Z",
+ "operationId": "DeletedEventName",
+ "title": "Deleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/active_messages_available_periodic_notifications.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/active_messages_available_periodic_notifications.json
new file mode 100644
index 0000000000000..25820ab479e75
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/active_messages_available_periodic_notifications.json
@@ -0,0 +1,18 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourcegroups/DemoGroup/providers/Microsoft.ServiceBus/namespaces/{namespace}",
+ "subject": "topics/{topic}/subscriptions/{subscription}",
+ "type": "Microsoft.ServiceBus.ActiveMessagesAvailablePeriodicNotifications",
+ "time": "2018-02-14T05:12:53.4133526Z",
+ "id": "dede87b0-3656-419c-acaf-70c95ddc60f5",
+ "data": {
+ "namespaceName": "{namespace}",
+ "requestUri": "https://{namespace}.servicebus.windows.net/{topic}/subscriptions/{subscription}/$deadletterqueue/messages/head",
+ "entityType": "subscriber",
+ "queueName": null,
+ "topicName": "{topic}",
+ "subscriptionName": "{subscription}"
+ },
+ "specversion": "1.0",
+ "operationId": "ActiveMessagesAvailablePeriodicNotificationsEventName",
+ "title": "ActiveMessagesAvailablePeriodicNotifications"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/active_messages_available_with_no_listeners.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/active_messages_available_with_no_listeners.json
new file mode 100644
index 0000000000000..afbd8fed40743
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/active_messages_available_with_no_listeners.json
@@ -0,0 +1,18 @@
+{
+ "source": "/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourcegroups/v-tong-MonthlyTrleaseTestPass/providers/Microsoft.ServiceBus/namespaces/othercloudtest",
+ "subject": "queues/gaoqueue",
+ "type": "Microsoft.ServiceBus.ActiveMessagesAvailableWithNoListeners",
+ "time": "2021-09-09T05:43:01.8429206Z",
+ "id": "3ce929ea-fab7-428a-8270-0452970fa710",
+ "data": {
+ "namespaceName": "othercloudtest",
+ "requestUri": "https://othercloudtest.servicebus.windows.net/gaoqueue/messages/head",
+ "entityType": "queue",
+ "queueName": "gaoqueue",
+ "topicName": null,
+ "subscriptionName": null
+ },
+ "specversion": "1.0",
+ "operationId": "ActiveMessagesAvailableWithNoListenersEventName",
+ "title": "ActiveMessagesAvailableWithNoListeners"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/apiCreated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/apiCreated.json
new file mode 100644
index 0000000000000..b18026ef1ecc1
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/apiCreated.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/apis/myapi",
+ "type": "Microsoft.ApiManagement.APICreated",
+ "time": "2021-07-12T23:13:44.9048323Z",
+ "id": "95015754-aa51-4eb6-98d9-9ee322b82ad7",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/apis/myapi"
+ },
+ "specversion": "1.0",
+ "operationId": "APICreatedEventName",
+ "title": "APICreated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/apiDeleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/apiDeleted.json
new file mode 100644
index 0000000000000..a83f317cafabd
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/apiDeleted.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/apis/myapi;Rev=1",
+ "type": "Microsoft.ApiManagement.APIDeleted",
+ "time": "2021-07-12T23:13:44.9048323Z",
+ "id": "95015754-aa51-4eb6-98d9-9ee322b82ad7",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/apis/myapi;Rev=1"
+ },
+ "specversion": "1.0",
+ "operationId": "APIDeletedEventName",
+ "title": "APIDeleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/apiReleaseCreated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/apiReleaseCreated.json
new file mode 100644
index 0000000000000..7bc9e9c121e2b
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/apiReleaseCreated.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/apis/{apiId}/releases/{releaseId}",
+ "type": "Microsoft.ApiManagement.APIReleaseCreated",
+ "time": "2021-07-12T23:13:44.9048323Z",
+ "id": "95015754-aa51-4eb6-98d9-9ee322b82ad7",
+ "data": {
+ "resourceUri": "/subscriptions/subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/apis/{apiId}/releases/{releaseId}"
+ },
+ "specversion": "1.0",
+ "operationId": "APIReleaseCreatedEventName",
+ "title": "APIReleaseCreated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/apiReleaseDeleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/apiReleaseDeleted.json
new file mode 100644
index 0000000000000..809b213397e92
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/apiReleaseDeleted.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/apis/{apiId}/releases/{releaseId}",
+ "type": "Microsoft.ApiManagement.APIReleaseDeleted",
+ "time": "2021-07-12T23:13:44.9048323Z",
+ "id": "95015754-aa51-4eb6-98d9-9ee322b82ad7",
+ "data": {
+ "resourceUri": "/subscriptions/subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/apis/{apiId}/releases/{releaseId}"
+ },
+ "specversion": "1.0",
+ "operationId": "APIReleaseDeletedEventName",
+ "title": "APIReleaseDeleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/apiReleaseUpdated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/apiReleaseUpdated.json
new file mode 100644
index 0000000000000..84b3512bba39e
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/apiReleaseUpdated.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/apis/{apiId}/releases/{releaseId}",
+ "type": "Microsoft.ApiManagement.APIReleaseUpdated",
+ "time": "2021-07-12T23:13:44.9048323Z",
+ "id": "95015754-aa51-4eb6-98d9-9ee322b82ad7",
+ "data": {
+ "resourceUri": "/subscriptions/subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/apis/{apiId}/releases/{releaseId}"
+ },
+ "specversion": "1.0",
+ "operationId": "APIReleaseUpdatedEventName",
+ "title": "APIReleaseUpdated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/apiUpdated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/apiUpdated.json
new file mode 100644
index 0000000000000..14f42cdcf6903
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/apiUpdated.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/apis/myapi;Rev=1",
+ "type": "Microsoft.ApiManagement.APIUpdated",
+ "time": "2021-07-12T23:13:44.9048323Z",
+ "id": "95015754-aa51-4eb6-98d9-9ee322b82ad7",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/apis/myapi;Rev=1"
+ },
+ "specversion": "1.0",
+ "operationId": "APIUpdatedEventName",
+ "title": "APIUpdated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/app_service_plan_updated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/app_service_plan_updated.json
new file mode 100644
index 0000000000000..85df248a02a5b
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/app_service_plan_updated.json
@@ -0,0 +1,30 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/serverfarms/{serverfarm-name}",
+ "subject": "/Microsoft.Web/serverfarms/{plan-name}",
+ "type": "Microsoft.Web.AppServicePlanUpdated",
+ "time": "2020-01-28T18:22:23.5516004Z",
+ "id": "56501672-9150-40e1-893a-18420c7fdbf7",
+ "data": {
+ "serverFarmEventTypeDetail": {
+ "stampKind": "Public",
+ "action": "Updated",
+ "status": "Started"
+ },
+ "serverFarmId": "0",
+ "sku": {
+ "name": "P1v2",
+ "tier": "PremiumV2",
+ "size": "P1v2",
+ "family": "Pv2",
+ "capacity": 1
+ },
+ "clientRequestId": "8f880321-a991-45c7-b743-6ff63fe4c004",
+ "correlationRequestId": "1995c3be-ba7f-4ccf-94af-516df637ec8a",
+ "requestId": "b973a8e6-6949-4783-b44c-ac778be831bb",
+ "address": "/websystems/WebSites/serverfarms/subscriptions/{subscription-id}/webspaces/{webspace-id}/serverfarms/{plan-name}/async",
+ "verb": "PUT"
+ },
+ "specversion": "1.0",
+ "operationId": "AppServicePlanUpdatedEventName",
+ "title": "AppServicePlanUpdated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/app_updated_changed_app_settings.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/app_updated_changed_app_settings.json
new file mode 100644
index 0000000000000..c4de138b0d5a0
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/app_updated_changed_app_settings.json
@@ -0,0 +1,21 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "type": "Microsoft.Web.AppUpdated",
+ "time": "2020-01-28T18:22:30.2760952Z",
+ "id": "b74ea56b-2a3f-4de5-a5d7-38e60c81cf23",
+ "data": {
+ "appEventTypeDetail": {
+ "action": "Stopped"
+ },
+ "name": "{site-name}",
+ "clientRequestId": "64a5e0aa-7cee-4ff1-9093-b9197b820014",
+ "correlationRequestId": "25bb36a5-8f6c-4f04-b615-e9a0ee045756",
+ "requestId": "f2e8eb3f-b190-42de-b99e-6acefe587374",
+ "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/stop",
+ "verb": "POST"
+ },
+ "specversion": "1.0",
+ "operationId": "AppUpdatedEventName",
+ "title": "AppUpdated Changed App Settings"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/app_updated_restarted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/app_updated_restarted.json
new file mode 100644
index 0000000000000..2ffb6a7c1579e
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/app_updated_restarted.json
@@ -0,0 +1,21 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "type": "Microsoft.Web.AppUpdated",
+ "time": "2020-01-28T18:22:30.2760952Z",
+ "id": "b74ea56b-2a3f-4de5-a5d7-38e60c81cf23",
+ "data": {
+ "appEventTypeDetail": {
+ "action": "Stopped"
+ },
+ "name": "{site-name}",
+ "clientRequestId": "64a5e0aa-7cee-4ff1-9093-b9197b820014",
+ "correlationRequestId": "25bb36a5-8f6c-4f04-b615-e9a0ee045756",
+ "requestId": "f2e8eb3f-b190-42de-b99e-6acefe587374",
+ "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/stop",
+ "verb": "POST"
+ },
+ "specversion": "1.0",
+ "operationId": "AppUpdatedEventName",
+ "title": "AppUpdated Restarted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/app_updated_stopped.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/app_updated_stopped.json
new file mode 100644
index 0000000000000..1418759eb75ff
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/app_updated_stopped.json
@@ -0,0 +1,21 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "type": "Microsoft.Web.AppUpdated",
+ "time": "2020-01-28T18:22:30.2760952Z",
+ "id": "b74ea56b-2a3f-4de5-a5d7-38e60c81cf23",
+ "data": {
+ "appEventTypeDetail": {
+ "action": "Stopped"
+ },
+ "name": "{site-name}",
+ "clientRequestId": "64a5e0aa-7cee-4ff1-9093-b9197b820014",
+ "correlationRequestId": "25bb36a5-8f6c-4f04-b615-e9a0ee045756",
+ "requestId": "f2e8eb3f-b190-42de-b99e-6acefe587374",
+ "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/stop",
+ "verb": "POST"
+ },
+ "specversion": "1.0",
+ "operationId": "AppUpdatedEventName",
+ "title": "AppUpdated Stopped"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/backup_operation_completed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/backup_operation_completed.json
new file mode 100644
index 0000000000000..cececab71686a
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/backup_operation_completed.json
@@ -0,0 +1,21 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "type": "Microsoft.Web.BackupOperationCompleted",
+ "time": "2020-01-28T18:26:51.7194887Z",
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "data": {
+ "appEventTypeDetail": {
+ "action": "Started"
+ },
+ "name": "{site-name}",
+ "clientRequestId": "None",
+ "correlationRequestId": "None",
+ "requestId": "292f499d-04ee-4066-994d-c2df57b99198",
+ "address": "None",
+ "verb": "None"
+ },
+ "specversion": "1.0",
+ "operationId": "BackupOperationCompletedEventName",
+ "title": "BackupOperationCompleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/backup_operation_failed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/backup_operation_failed.json
new file mode 100644
index 0000000000000..066b7f80aa0ae
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/backup_operation_failed.json
@@ -0,0 +1,21 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "type": "Microsoft.Web.BackupOperationFailed",
+ "time": "2020-01-28T18:26:51.7194887Z",
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "data": {
+ "appEventTypeDetail": {
+ "action": "Started"
+ },
+ "name": "{site-name}",
+ "clientRequestId": "None",
+ "correlationRequestId": "None",
+ "requestId": "292f499d-04ee-4066-994d-c2df57b99198",
+ "address": "None",
+ "verb": "None"
+ },
+ "specversion": "1.0",
+ "operationId": "BackupOperationFailedEventName",
+ "title": "BackupOperationFailed"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/backup_operation_started.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/backup_operation_started.json
new file mode 100644
index 0000000000000..d8cf500757b36
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/backup_operation_started.json
@@ -0,0 +1,21 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "type": "Microsoft.Web.BackupOperationStarted",
+ "time": "2020-01-28T18:26:51.7194887Z",
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "data": {
+ "appEventTypeDetail": {
+ "action": "Started"
+ },
+ "name": "{site-name}",
+ "clientRequestId": "None",
+ "correlationRequestId": "None",
+ "requestId": "292f499d-04ee-4066-994d-c2df57b99198",
+ "address": "None",
+ "verb": "None"
+ },
+ "specversion": "1.0",
+ "operationId": "BackupOperationStartedEventName",
+ "title": "BackupOperationStarted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/blob_created.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/blob_created.json
new file mode 100644
index 0000000000000..f31c5f8a4122f
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/blob_created.json
@@ -0,0 +1,24 @@
+{
+ "source": "/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/jolov/providers/Microsoft.Storage/storageAccounts/jolovstorage",
+ "subject": "/blobServices/default/containers/gaocontainer/blobs/Template1.xlsx",
+ "type": "Microsoft.Storage.BlobCreated",
+ "time": "2021-08-16T02:51:26.4248221Z",
+ "id": "beb21a5e-401e-002b-3749-928517060431",
+ "data": {
+ "api": "PutBlob",
+ "clientRequestId": "89bc72c2-5dfe-4d9f-9706-43612c1bd01b",
+ "requestId": "beb21a5e-401e-002b-3749-928517000000",
+ "eTag": "0x8D96060BDA19D9D",
+ "contentType": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+ "contentLength": 17555,
+ "blobType": "BlockBlob",
+ "url": "https://jolovstorage.blob.core.windows.net/gaocontainer/Template1.xlsx",
+ "sequencer": "0000000000000000000000000000B00D0000000005b058d3",
+ "storageDiagnostics": {
+ "batchId": "23f68872-a006-0065-0049-9240f2000000"
+ }
+ },
+ "specversion": "1.0",
+ "operationId": "BlobCreatedEventName",
+ "title": "BlobCreated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/blob_deleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/blob_deleted.json
new file mode 100644
index 0000000000000..2d09010d37090
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/blob_deleted.json
@@ -0,0 +1,23 @@
+{
+ "source": "/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/jolov/providers/Microsoft.Storage/storageAccounts/jolovstorage",
+ "subject": "/blobServices/default/containers/gaocontainer/blobs/Template1.xlsx",
+ "type": "Microsoft.Storage.BlobDeleted",
+ "time": "2021-08-16T02:58:18.5038290Z",
+ "id": "3626e710-c01e-005c-794a-92005606d96d",
+ "data": {
+ "api": "DeleteBlob",
+ "requestId": "3626e710-c01e-005c-794a-920056000000",
+ "eTag": "0x8D96061B33FE1D2",
+ "contentType": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+ "contentLength": 17555,
+ "blobType": "BlockBlob",
+ "url": "https://jolovstorage.blob.core.windows.net/gaocontainer/Template1.xlsx",
+ "sequencer": "0000000000000000000000000000B00D0000000005b29696",
+ "storageDiagnostics": {
+ "batchId": "24045172-a006-0065-004a-9240f2000000"
+ }
+ },
+ "specversion": "1.0",
+ "operationId": "BlobDeletedEventName",
+ "title": "BlobDeleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/blob_inventory_policy_completed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/blob_inventory_policy_completed.json
new file mode 100644
index 0000000000000..afa2e78302131
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/blob_inventory_policy_completed.json
@@ -0,0 +1,19 @@
+{
+ "source": "/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/jolov/providers/Microsoft.Storage/storageAccounts/jolovstorage",
+ "subject": "BlobDataManagement/BlobInventory",
+ "type": "Microsoft.Storage.BlobInventoryPolicyCompleted",
+ "time": "2021-08-20T22:26:04.0000000Z",
+ "id": "5d055648-1126-4053-bc6f-f86b8d14790f",
+ "data": {
+ "scheduleDateTime": "2021-08-20T22:04:55Z",
+ "accountName": "jolovstorage",
+ "ruleName": "gao8.20",
+ "policyRunStatus": "Succeeded",
+ "policyRunStatusMessage": "Inventory run succeeded, refer manifest file for inventory details.",
+ "policyRunId": "83e7c94c-6973-4fbc-acdc-88277e448bf5",
+ "manifestBlobUrl": "https://jolovstorage.blob.core.windows.net/gaoaugcontainer/2021/08/20/22-04-55/gao8.20/gao8.20-manifest.json"
+ },
+ "specversion": "1.0",
+ "operationId": "BlobInventoryPolicyCompletedEventName",
+ "title": "BlobInventoryPolicyCompleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/blob_renamed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/blob_renamed.json
new file mode 100644
index 0000000000000..eb323b34bce5c
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/blob_renamed.json
@@ -0,0 +1,22 @@
+{
+ "source": "/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/jolov/providers/Microsoft.Storage/storageAccounts/jolovdfs",
+ "subject": "/blobServices/default/containers/gaocontainer/blobs/newname",
+ "type": "Microsoft.Storage.BlobRenamed",
+ "time": "2021-08-19T01:37:38.9324784Z",
+ "id": "707665f1-a01f-0037-799a-9490a106020e",
+ "data": {
+ "api": "RenameFile",
+ "requestId": "707665f1-a01f-0037-799a-9490a1000000",
+ "destinationBlobUrl": "https://jolovdfs.blob.core.windows.net/gaocontainer/newname",
+ "sourceBlobUrl": "https://jolovdfs.blob.core.windows.net/gaocontainer/metrics.txt",
+ "destinationUrl": "https://jolovdfs.dfs.core.windows.net/gaocontainer/newname",
+ "sourceUrl": "https://jolovdfs.dfs.core.windows.net/gaocontainer/metrics.txt",
+ "sequencer": "0000000000000000000000000000010200000000000364db",
+ "storageDiagnostics": {
+ "batchId": "69bbaf93-267f-4752-9267-b575e61e0d5d"
+ }
+ },
+ "specversion": "1.0",
+ "operationId": "BlobRenamedEventName",
+ "title": "BlobRenamed"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/blob_tier_changed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/blob_tier_changed.json
new file mode 100644
index 0000000000000..b47e37c1bfea4
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/blob_tier_changed.json
@@ -0,0 +1,23 @@
+{
+ "source": "/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/jolov/providers/Microsoft.Storage/storageAccounts/jolovstorage",
+ "subject": "/blobServices/default/containers/gaocontainer/blobs/Template1.xlsx",
+ "type": "Microsoft.Storage.BlobTierChanged",
+ "time": "2021-08-16T03:13:40.5681296Z",
+ "id": "5ed67fc9-401e-0009-354c-92eb2106efc7",
+ "data": {
+ "api": "SetBlobTier",
+ "requestId": "5ed67fc9-401e-0009-354c-92eb21000000",
+ "eTag": "0x8D9606211320D17",
+ "contentType": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+ "contentLength": 17555,
+ "blobType": "BlockBlob",
+ "url": "https://jolovstorage.blob.core.windows.net/gaocontainer/Template1.xlsx",
+ "sequencer": "0000000000000000000000000000B00D0000000005b7c63a",
+ "storageDiagnostics": {
+ "batchId": "24231d1f-a006-0065-004c-9240f2000000"
+ }
+ },
+ "specversion": "1.0",
+ "operationId": "BlobTierChangedEventName",
+ "title": "BlobTierChanged"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/capture_file_created.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/capture_file_created.json
new file mode 100644
index 0000000000000..cf34596b12441
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/capture_file_created.json
@@ -0,0 +1,21 @@
+{
+ "source": "/subscriptions/{guid}/resourcegroups/rgDataMigrationSample/providers/Microsoft.EventHub/namespaces/tfdatamigratens",
+ "subject": "eventhubs/hubdatamigration",
+ "type": "Microsoft.EventHub.CaptureFileCreated",
+ "time": "2017-08-31T19:12:46.0498024Z",
+ "id": "14e87d03-6fbf-4bb2-9a21-92bd1281f247",
+ "data": {
+ "fileUrl": "https://tf0831datamigrate.blob.core.windows.net/windturbinecapture/tfdatamigratens/hubdatamigration/1/2017/08/31/19/11/45.avro",
+ "fileType": "AzureBlockBlob",
+ "partitionId": "1",
+ "sizeInBytes": 249168,
+ "eventCount": 1500,
+ "firstSequenceNumber": 2400,
+ "lastSequenceNumber": 3899,
+ "firstEnqueueTime": "2017-08-31T19:12:14.674Z",
+ "lastEnqueueTime": "2017-08-31T19:12:44.309Z"
+ },
+ "specversion": "1.0",
+ "operationId": "CaptureFileCreatedEventName",
+ "title": "CaptureFileCreated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chart_deleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chart_deleted.json
new file mode 100644
index 0000000000000..8d469b96edaf5
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chart_deleted.json
@@ -0,0 +1,28 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.ContainerRegistry/registries/{name}",
+ "subject": "mychart:1.0.0",
+ "type": "Microsoft.ContainerRegistry.ChartDeleted",
+ "time": "2019-03-12T22:42:08.7034064Z",
+ "id": "39136b3a-1a7e-416f-a09e-5c85d5402fca",
+ "data": {
+ "id": "ea3a9c28-5b17-40f6-a500-3f02b682927",
+ "timestamp": "2019-03-12T15:42:08.3783775-07:00",
+ "action": "chart_delete",
+ "location": "westus",
+ "target": {
+ "mediaType": "application/vnd.acr.helm.chart",
+ "size": 25265,
+ "digest": "sha256:7f060075264b5ba7c14c23672698152ae6a3ebac1c47916e4efe19cd624d5fab",
+ "repository": "repo",
+ "tag": "mychart-1.0.0.tgz",
+ "name": "mychart",
+ "version": "1.0.0"
+ },
+ "connectedRegistry": {
+ "name": "edge1"
+ }
+ },
+ "specversion": "1.0",
+ "operationId": "ChartDeletedEventName",
+ "title": "ChartDeleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chart_pushed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chart_pushed.json
new file mode 100644
index 0000000000000..1aed13dbb33f0
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chart_pushed.json
@@ -0,0 +1,28 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.ContainerRegistry/registries/{name}",
+ "subject": "mychart:1.0.0",
+ "type": "Microsoft.ContainerRegistry.ChartPushed",
+ "time": "2019-03-12T22:16:31.5164086Z",
+ "id": "ea3a9c28-5b17-40f6-a500-3f02b6829277",
+ "data": {
+ "id": "ea3a9c28-5b17-40f6-a500-3f02b682927",
+ "timestamp": "2019-03-12T15:16:31.0087496-07:00",
+ "action": "chart_push",
+ "location": "westus",
+ "target": {
+ "mediaType": "application/vnd.acr.helm.chart",
+ "size": 25265,
+ "digest": "sha256:7f060075264b5ba7c14c23672698152ae6a3ebac1c47916e4efe19cd624d5fab",
+ "repository": "repo",
+ "tag": "mychart-1.0.0.tgz",
+ "name": "mychart",
+ "version": "1.0.0"
+ },
+ "connectedRegistry": {
+ "name": "edge1"
+ }
+ },
+ "specversion": "1.0",
+ "operationId": "ChartPushedEventName",
+ "title": "ChartPushed"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_message_deleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_message_deleted.json
new file mode 100644
index 0000000000000..af12a893574b7
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_message_deleted.json
@@ -0,0 +1,34 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/sender/{rawId}/recipient/{rawId}",
+ "type": "Microsoft.Communication.ChatMessageDeleted",
+ "time": "2021-02-19T00:43:10.9982947Z",
+ "id": "23cfcc13-33f2-4ae1-8d23-b5015b05302b",
+ "data": {
+ "deleteTime": "2021-02-19T00:43:10.14Z",
+ "messageId": "1613695388152",
+ "senderId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d07-83fe-084822000f6e",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d07-83fe-084822000f6e",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d07-83fe-084822000f6e"
+ }
+ },
+ "senderDisplayName": "Bob(Admin)",
+ "composeTime": "2021-02-19T00:43:08.152Z",
+ "type": "Text",
+ "version": 1613695390361,
+ "recipientId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d60-83fe-084822000f6f",
+ "recipientCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d60-83fe-084822000f6f",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d60-83fe-084822000f6f"
+ }
+ },
+ "transactionId": "fFs4InlBn0O/0WyhfQZVSQ.1.1.2.1.1867776045.1.4",
+ "threadId": "19:48899258eec941e7a281e03edc8f4964@thread.v2"
+ },
+ "specversion": "1.0",
+ "operationId": "ChatMessageDeletedEventName",
+ "title": "ChatMessageDeleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_message_deleted_in_thread.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_message_deleted_in_thread.json
new file mode 100644
index 0000000000000..a18d69128cca3
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_message_deleted_in_thread.json
@@ -0,0 +1,26 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/sender/{rawId}",
+ "type": "Microsoft.Communication.ChatMessageDeletedInThread",
+ "time": "2021-02-20T01:00:14.8518034Z",
+ "id": "17d9c39d-0c58-4ed8-947d-c55959f57f75",
+ "data": {
+ "deleteTime": "2021-02-19T16:59:10.464-08:00",
+ "messageId": "1613782685440",
+ "type": "Text",
+ "version": "1613782814333",
+ "senderDisplayName": "Scott",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453"
+ }
+ },
+ "composeTime": "2021-02-19T16:58:05.44-08:00",
+ "threadId": "19:e07c8ddc5bab4c059ea9f11d29b544b6@thread.v2",
+ "transactionId": "HqU6PeK5AkCRSpW8eAbL0A.1.1.2.1.987824181.1"
+ },
+ "specversion": "1.0",
+ "operationId": "ChatMessageDeletedInThreadEventName",
+ "title": "ChatMessageDeletedInThread"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_message_edited.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_message_edited.json
new file mode 100644
index 0000000000000..8d18c57c3bcc7
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_message_edited.json
@@ -0,0 +1,39 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/sender/{rawId}/recipient/{rawId}",
+ "type": "Microsoft.Communication.ChatMessageEdited",
+ "time": "2021-02-19T00:28:21.7456718Z",
+ "id": "93fc1037-b645-4eb0-a0f2-d7bb3ba6e060",
+ "data": {
+ "editTime": "2021-02-19T00:28:20.784Z",
+ "messageBody": "Let's Chat about new communication services.",
+ "messageId": "1613694357917",
+ "metadata": {
+ "key": "value",
+ "description": "A map of data associated with the message"
+ },
+ "senderId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724"
+ }
+ },
+ "senderDisplayName": "Bob(Admin)",
+ "composeTime": "2021-02-19T00:25:57.917Z",
+ "type": "Text",
+ "version": 1613694500784,
+ "recipientId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d60-83fe-084822000f6f",
+ "recipientCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d60-83fe-084822000f6f",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d60-83fe-084822000f6f"
+ }
+ },
+ "transactionId": "1mL4XZH2gEecu/alk9tOtw.2.1.2.1.1833042153.1.7",
+ "threadId": "19:6e5d6ca1d75044a49a36a7965ec4a906@thread.v2"
+ },
+ "specversion": "1.0",
+ "operationId": "ChatMessageEditedEventName",
+ "title": "ChatMessageEdited"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_message_edited_in_thread.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_message_edited_in_thread.json
new file mode 100644
index 0000000000000..650a5a61046d6
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_message_edited_in_thread.json
@@ -0,0 +1,31 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/sender/{rawId}",
+ "type": "Microsoft.Communication.ChatMessageEditedInThread",
+ "time": "2021-02-20T00:59:10.7600061Z",
+ "id": "7b8dc01e-2659-41fa-bc8c-88a967714510",
+ "data": {
+ "editTime": "2021-02-19T16:59:10.464-08:00",
+ "messageBody": "8effb181-1eb2-4a58-9d03-ed48a461b19b",
+ "messageId": "1613782685964",
+ "metadata": {
+ "key": "value",
+ "description": "A map of data associated with the message"
+ },
+ "type": "Text",
+ "version": "1613782750464",
+ "senderDisplayName": "Scott",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453"
+ }
+ },
+ "composeTime": "2021-02-19T16:58:05.964-08:00",
+ "threadId": "19:e07c8ddc5bab4c059ea9f11d29b544b6@thread.v2",
+ "transactionId": "H8Gpj3NkIU6bXlWw8WPvhQ.2.1.2.1.985333801.1"
+ },
+ "specversion": "1.0",
+ "operationId": "ChatMessageEditedInThreadEventName",
+ "title": "ChatMessageEditedInThread"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_message_received.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_message_received.json
new file mode 100644
index 0000000000000..39c7115e884b3
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_message_received.json
@@ -0,0 +1,38 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/sender/{rawId}/recipient/{rawId}",
+ "type": "Microsoft.Communication.ChatMessageReceived",
+ "time": "2021-02-19T00:25:59.9436666Z",
+ "id": "02272459-badb-4e2e-b538-4cb8a2f71da6",
+ "data": {
+ "messageBody": "Welcome to Azure Communication Services",
+ "messageId": "1613694358927",
+ "metadata": {
+ "key": "value",
+ "description": "A map of data associated with the message"
+ },
+ "senderId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724"
+ }
+ },
+ "senderDisplayName": "Jhon",
+ "composeTime": "2021-02-19T00:25:58.927Z",
+ "type": "Text",
+ "version": 1613694358927,
+ "recipientId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d05-83fe-084822000f6d",
+ "recipientCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d05-83fe-084822000f6d",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d05-83fe-084822000f6d"
+ }
+ },
+ "transactionId": "oh+LGB2dUUadMcTAdRWQxQ.1.1.1.1.1827536918.1.7",
+ "threadId": "19:6e5d6ca1d75044a49a36a7965ec4a906@thread.v2"
+ },
+ "specversion": "1.0",
+ "operationId": "ChatMessageReceivedEventName",
+ "title": "ChatMessageReceived"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_message_received_in_thread.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_message_received_in_thread.json
new file mode 100644
index 0000000000000..b92d6d6f1423c
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_message_received_in_thread.json
@@ -0,0 +1,30 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/sender/8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cdb-4916-07fd-084822002624",
+ "type": "Microsoft.Communication.ChatMessageReceivedInThread",
+ "time": "2021-02-20T01:07:10.5704596Z",
+ "id": "4f614f97-c451-4b82-a8c9-1e30c3bfcda1",
+ "data": {
+ "messageBody": "Talk about new Thread Events in commuication services",
+ "messageId": "1613783230064",
+ "metadata": {
+ "key": "value",
+ "description": "A map of data associated with the message"
+ },
+ "type": "Text",
+ "version": "1613783230064",
+ "senderDisplayName": "Bob",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cdb-4916-07fd-084822002624",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cdb-4916-07fd-084822002624"
+ }
+ },
+ "composeTime": "2021-02-19T17:07:10.064-08:00",
+ "threadId": "19:5b3809e80e4a439d92c3316e273f4a2b@thread.v2",
+ "transactionId": "foMkntkKS0O/MhMlIE5Aag.1.1.1.1.1004077250.1"
+ },
+ "specversion": "1.0",
+ "operationId": "ChatMessageReceivedInThreadEventName",
+ "title": "ChatMessageReceivedInThread"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_participant_added_to_thread_with_user.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_participant_added_to_thread_with_user.json
new file mode 100644
index 0000000000000..73bd86b07dfe4
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_participant_added_to_thread_with_user.json
@@ -0,0 +1,41 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/participantAdded/{rawId}/recipient/{rawId}",
+ "type": "Microsoft.Communication.ChatParticipantAddedToThreadWithUser",
+ "time": "2021-02-25T06:37:31.4880091Z",
+ "id": "049a5a7f-6cd7-43c1-b352-df9e9e6146d1",
+ "data": {
+ "time": "2021-02-25T06:37:29.9232485Z",
+ "addedByCommunicationIdentifier": {
+ "rawId": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8767-1655-373a0d00885d",
+ "communicationUser": {
+ "id": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8767-1655-373a0d00885d"
+ }
+ },
+ "participantAdded": {
+ "displayName": "John Smith",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8785-1655-373a0d00885f",
+ "communicationUser": {
+ "id": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8785-1655-373a0d00885f"
+ }
+ },
+ "metadata": {
+ "key": "value"
+ }
+ },
+ "recipientCommunicationIdentifier": {
+ "rawId": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8781-1655-373a0d00885e",
+ "communicationUser": {
+ "id": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8781-1655-373a0d00885e"
+ }
+ },
+ "createTime": "2021-02-25T06:37:17.371Z",
+ "version": 1614235049907,
+ "transactionId": "q7rr9by6m0CiGiQxKdSO1w.1.1.1.1.1473446055.1.6",
+ "threadId": "19:f1400e1c542f4086a606b52ad20cd0bd@thread.v2"
+ },
+ "specversion": "1.0",
+ "operationId": "ChatParticipantAddedToThreadWithUserEventName",
+ "title": "ChatParticipantAddedToThreadWithUser"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_participant_removed_from_thread_with_user.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_participant_removed_from_thread_with_user.json
new file mode 100644
index 0000000000000..2677715e6c02f
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_participant_removed_from_thread_with_user.json
@@ -0,0 +1,41 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/participantRemoved/{rawId}/recipient/{rawId}",
+ "type": "Microsoft.Communication.ChatParticipantRemovedFromThreadWithUser",
+ "time": "2021-02-25T06:40:24.2244945Z",
+ "id": "e8a4df24-799d-4c53-94fd-1e05703a4549",
+ "data": {
+ "time": "2021-02-25T06:40:20.3564556Z",
+ "removedByCommunicationIdentifier": {
+ "rawId": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8767-1655-373a0d00885d",
+ "communicationUser": {
+ "id": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8767-1655-373a0d00885d"
+ }
+ },
+ "participantRemoved": {
+ "displayName": "Bob",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8785-1655-373a0d00885f",
+ "communicationUser": {
+ "id": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8785-1655-373a0d00885f"
+ }
+ },
+ "metadata": {
+ "key": "value"
+ }
+ },
+ "recipientCommunicationIdentifier": {
+ "rawId": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8781-1655-373a0d00885e",
+ "communicationUser": {
+ "id": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8781-1655-373a0d00885e"
+ }
+ },
+ "createTime": "2021-02-25T06:37:17.371Z",
+ "version": 1614235220325,
+ "transactionId": "usv74GQ5zU+JmWv/bQ+qfg.1.1.1.1.1480065078.1.5",
+ "threadId": "19:f1400e1c542f4086a606b52ad20cd0bd@thread.v2"
+ },
+ "specversion": "1.0",
+ "operationId": "ChatParticipantRemovedFromThreadWithUserEventName",
+ "title": "ChatParticipantRemovedFromThreadWithUser"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_created.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_created.json
new file mode 100644
index 0000000000000..826c097015049
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_created.json
@@ -0,0 +1,79 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/createdBy/{rawId}",
+ "type": "Microsoft.Communication.ChatThreadCreated",
+ "time": "2021-02-20T00:31:54.5369967Z",
+ "id": "a607ac52-0974-4d3c-bfd8-6f708a26f509",
+ "data": {
+ "createdByCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453"
+ }
+ },
+ "properties": {
+ "topic": "Talk about new Thread Events in commuication services"
+ },
+ "participants": [
+ {
+ "displayName": "Bob",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453"
+ }
+ },
+ "metadata": {
+ "key": "value"
+ }
+ },
+ {
+ "displayName": "Scott",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38e6-07fd-084822002467",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38e6-07fd-084822002467"
+ }
+ },
+ "metadata": {
+ "key": "value",
+ "description": "A map of data associated with the participant"
+ }
+ },
+ {
+ "displayName": "Shawn",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38f6-83fe-084822002337",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38f6-83fe-084822002337"
+ }
+ },
+ "metadata": {
+ "key": "value"
+ }
+ },
+ {
+ "displayName": "Anthony",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38e3-e1fe-084822002c35",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38e3-e1fe-084822002c35"
+ }
+ },
+ "metadata": {
+ "key": "value"
+ }
+ }
+ ],
+ "metadata": {
+ "key": "value"
+ },
+ "createTime": "2021-02-19T16:31:54.365-08:00",
+ "version": 1613781114365,
+ "threadId": "19:e07c8ddc5bab4c059ea9f11d29b544b6@thread.v2",
+ "transactionId": "gK6+kgANy0O1wchlVKVTJg.1.1.1.1.921436178.1"
+ },
+ "specversion": "1.0",
+ "operationId": "ChatThreadCreatedEventName",
+ "title": "ChatThreadCreated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_created_withUser.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_created_withUser.json
new file mode 100644
index 0000000000000..d82045ca4b288
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_created_withUser.json
@@ -0,0 +1,72 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/createdBy/rawId/recipient/rawId",
+ "type": "Microsoft.Communication.ChatThreadCreatedWithUser",
+ "time": "2021-02-18T23:47:34.7437103Z",
+ "id": "eba02b2d-37bf-420e-8656-3a42ef74c435",
+ "data": {
+ "createdBy": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286d-e1fe-0848220013b9",
+ "createdByCommunicationIdentifier": {
+ "rawId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286d-e1fe-0848220013b9",
+ "communicationUser": {
+ "id": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286d-e1fe-0848220013b9"
+ }
+ },
+ "properties": {
+ "topic": "Chat about new commuication services"
+ },
+ "members": [
+ {
+ "displayName": "Bob",
+ "memberId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286d-e1fe-0848220013b9"
+ },
+ {
+ "displayName": "John",
+ "memberId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-289b-07fd-0848220015ea"
+ }
+ ],
+ "participants": [
+ {
+ "displayName": "Bob",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286d-e1fe-0848220013b9",
+ "communicationUser": {
+ "id": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286d-e1fe-0848220013b9"
+ }
+ },
+ "metadata": {
+ "key": "value"
+ }
+ },
+ {
+ "displayName": "John",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-289b-07fd-0848220015ea",
+ "communicationUser": {
+ "id": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-289b-07fd-0848220015ea"
+ }
+ },
+ "metadata": {
+ "key": "value"
+ }
+ }
+ ],
+ "metadata": {
+ "key": "value"
+ },
+ "createTime": "2021-02-18T23:47:26.91Z",
+ "version": 1613692046910,
+ "recipientId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286e-84f5-08482200181c",
+ "recipientCommunicationIdentifier": {
+ "rawId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286e-84f5-08482200181c",
+ "communicationUser": {
+ "id": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286e-84f5-08482200181c"
+ }
+ },
+ "transactionId": "zbZt+9h/N0em+XCW2QvyIA.1.1.1.1.1737228330.0.1737490483.1.6",
+ "threadId": "19:1d594fb1eeb14566903cbc5decb5bf5b@thread.v2"
+ },
+ "specversion": "1.0",
+ "operationId": "ChatThreadCreatedWithUserEventName",
+ "title": "ChatThreadCreatedWithUser"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_deleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_deleted.json
new file mode 100644
index 0000000000000..0abed374bd4c1
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_deleted.json
@@ -0,0 +1,23 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/deletedBy/{rawId}",
+ "type": "Microsoft.Communication.ChatThreadDeleted",
+ "time": "2021-02-20T00:00:42.5428002Z",
+ "id": "1dbd5237-4823-4fed-980c-8d27c17cf5b0",
+ "data": {
+ "deletedByCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5c9e-a300-07fd-084822002266",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5c9e-a300-07fd-084822002266"
+ }
+ },
+ "deleteTime": "2021-02-19T16:00:42.109802-08:00",
+ "createTime": "2021-02-19T16:00:39.947-08:00",
+ "version": 1613779241389,
+ "threadId": "19:c9e9f3060b884e448671391882066ac3@thread.v2",
+ "transactionId": "KibptDpcLEeEFnlR7cI3QA.1.1.2.1.848298005.1"
+ },
+ "specversion": "1.0",
+ "operationId": "ChatThreadDeletedEventName",
+ "title": "ChatThreadDeleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_participant_added.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_participant_added.json
new file mode 100644
index 0000000000000..40572e2922d7c
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_participant_added.json
@@ -0,0 +1,35 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/participantadded/{rawId}",
+ "type": "Microsoft.Communication.ChatThreadParticipantAdded",
+ "time": "2021-02-20T00:54:43.9866454Z",
+ "id": "3024eb5d-1d71-49d1-878c-7dc3165433d9",
+ "data": {
+ "time": "2021-02-19T16:54:42.8622646-08:00",
+ "addedByCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453"
+ }
+ },
+ "participantAdded": {
+ "displayName": "Bob",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38f3-88f7-084822002454",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38f3-88f7-084822002454"
+ }
+ },
+ "metadata": {
+ "key": "value"
+ }
+ },
+ "createTime": "2021-02-19T16:31:54.365-08:00",
+ "version": 1613782482822,
+ "threadId": "19:e07c8ddc5bab4c059ea9f11d29b544b6@thread.v2",
+ "transactionId": "9q6cO7i4FkaZ+5RRVzshVw.1.1.1.1.974913783.1"
+ },
+ "specversion": "1.0",
+ "operationId": "ChatThreadParticipantAddedEventName",
+ "title": "ChatThreadParticipantAdded"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_participant_removed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_participant_removed.json
new file mode 100644
index 0000000000000..00c5fa0618212
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_participant_removed.json
@@ -0,0 +1,35 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/participantremoved/{rawId}",
+ "type": "Microsoft.Communication.ChatThreadParticipantRemoved",
+ "time": "2021-02-20T00:56:18.8567210Z",
+ "id": "6ed810fd-8776-4b13-81c2-1a0c4f791a07",
+ "data": {
+ "time": "2021-02-19T16:56:18.1118825-08:00",
+ "removedByCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453"
+ }
+ },
+ "participantRemoved": {
+ "displayName": "Shawn",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38e6-07fd-084822002467",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38e6-07fd-084822002467"
+ }
+ },
+ "metadata": {
+ "key": "value"
+ }
+ },
+ "createTime": "2021-02-19T16:31:54.365-08:00",
+ "version": 1613782578096,
+ "threadId": "19:e07c8ddc5bab4c059ea9f11d29b544b6@thread.v2",
+ "transactionId": "zGCq8IGRr0aEF6COuy7wSA.1.1.1.1.978649284.1"
+ },
+ "specversion": "1.0",
+ "operationId": "ChatThreadParticipantRemovedEventName",
+ "title": "ChatThreadParticipantRemoved"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_properties_updated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_properties_updated.json
new file mode 100644
index 0000000000000..3e0cd3f5481c9
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_properties_updated.json
@@ -0,0 +1,26 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/editedBy/{rawId}",
+ "type": "Microsoft.Communication.ChatThreadPropertiesUpdated",
+ "time": "2021-02-20T00:04:07.8410277Z",
+ "id": "cf867580-9caf-45be-b49f-ab1cbfcaa59f",
+ "data": {
+ "editedByCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5c9e-9e35-07fd-084822002264",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5c9e-9e35-07fd-084822002264"
+ }
+ },
+ "editTime": "2021-02-19T16:04:07.7152073-08:00",
+ "properties": {
+ "topic": "Talk about new Thread Events in commuication services"
+ },
+ "createTime": "2021-02-19T16:00:40.126-08:00",
+ "version": 1613779447695,
+ "threadId": "19:9e8eefe67b3c470a8187b4c2b00240bc@thread.v2",
+ "transactionId": "GBE9MB2a40KEWzexIg0D3A.1.1.1.1.856359041.1"
+ },
+ "specversion": "1.0",
+ "operationId": "ChatThreadPropertiesUpdatedEventName",
+ "title": "ChatThreadPropertiesUpdated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_properties_updated_per_user.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_properties_updated_per_user.json
new file mode 100644
index 0000000000000..7da296d593ce7
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_properties_updated_per_user.json
@@ -0,0 +1,37 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/editedBy/{rawId}/recipient/{rawId}",
+ "type": "Microsoft.Communication.ChatThreadPropertiesUpdatedPerUser",
+ "time": "2021-02-19T00:28:29.5597260Z",
+ "id": "d57342ff-264e-4a5e-9c54-ef05b7d50082",
+ "data": {
+ "editedBy": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d07-83fe-084822000f6e",
+ "editedByCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d07-83fe-084822000f6e",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d07-83fe-084822000f6e"
+ }
+ },
+ "editTime": "2021-02-19T00:28:28.7390282Z",
+ "properties": {
+ "topic": "Communication in Azure"
+ },
+ "metadata": {
+ "key": "value"
+ },
+ "createTime": "2021-02-19T00:28:25.864Z",
+ "version": 1613694508719,
+ "recipientId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724",
+ "recipientCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724"
+ }
+ },
+ "transactionId": "WLXPrnJ/I0+LTj2cwMrNMQ.1.1.1.1.1833369763.1.4",
+ "threadId": "19:2cc3504c41244d7483208a4f58a1f188@thread.v2"
+ },
+ "specversion": "1.0",
+ "operationId": "ChatThreadPropertiesUpdatedPerUserEventName",
+ "title": "ChatThreadPropertiesUpdatedPerUser"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_with_user_deleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_with_user_deleted.json
new file mode 100644
index 0000000000000..4c3f085b3cbc5
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/chat_thread_with_user_deleted.json
@@ -0,0 +1,31 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/deletedBy/{rawId}/recipient/{rawId}",
+ "type": "Microsoft.Communication.ChatThreadWithUserDeleted",
+ "time": "2021-02-18T23:57:52.1597234Z",
+ "id": "f5d6750c-c6d7-4da8-bb05-6f3fca6c7295",
+ "data": {
+ "deletedBy": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-5772-6473-83fe-084822000e21",
+ "deletedByCommunicationIdentifier": {
+ "rawId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-5772-6473-83fe-084822000e21",
+ "communicationUser": {
+ "id": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-5772-6473-83fe-084822000e21"
+ }
+ },
+ "deleteTime": "2021-02-18T23:57:51.5987591Z",
+ "createTime": "2021-02-18T23:54:15.683Z",
+ "version": 1613692578672,
+ "recipientId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-5772-647b-e1fe-084822001416",
+ "recipientCommunicationIdentifier": {
+ "rawId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-5772-647b-e1fe-084822001416",
+ "communicationUser": {
+ "id": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-5772-647b-e1fe-084822001416"
+ }
+ },
+ "transactionId": "mrliWVUndEmLwkZbeS5KoA.1.1.2.1.1761607918.1.6",
+ "threadId": "19:5870b8f021d74fd786bf5aeb095da291@thread.v2"
+ },
+ "specversion": "1.0",
+ "operationId": "ChatThreadWithUserDeletedEventName",
+ "title": "ChatThreadWithUserDeleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/client_connection_connected.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/client_connection_connected.json
new file mode 100644
index 0000000000000..076064ca5649d
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/client_connection_connected.json
@@ -0,0 +1,16 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/signalr-rg/providers/Microsoft.SignalRService/SignalR/signalr-resource",
+ "subject": "/hub/chat",
+ "type": "Microsoft.SignalRService.ClientConnectionConnected",
+ "time": "2019-06-10T18:41:00.9584103Z",
+ "id": "831e1650-001e-001b-66ab-eeb76e069631",
+ "data": {
+ "timestamp": "2019-06-10T18:41:00.9584103Z",
+ "hubName": "chat",
+ "connectionId": "crH0uxVSvP61p5wkFY1x1A",
+ "userId": "user-eymwyo23"
+ },
+ "specversion": "1.0",
+ "operationId": "ClientConnectionConnectedEventName",
+ "title": "ClientConnectionConnected"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/client_connection_disconnected.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/client_connection_disconnected.json
new file mode 100644
index 0000000000000..d9f457f792e29
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/client_connection_disconnected.json
@@ -0,0 +1,17 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/signalr-rg/providers/Microsoft.SignalRService/SignalR/signalr-resource",
+ "subject": "/hub/chat",
+ "type": "Microsoft.SignalRService.ClientConnectionDisconnected",
+ "time": "2019-06-10T18:41:00.9584103Z",
+ "id": "831e1650-001e-001b-66ab-eeb76e069631",
+ "data": {
+ "timestamp": "2019-06-10T18:41:00.9584103Z",
+ "hubName": "chat",
+ "connectionId": "crH0uxVSvP61p5wkFY1x1A",
+ "userId": "user-eymwyo23",
+ "errorMessage": "Internal server error."
+ },
+ "specversion": "1.0",
+ "operationId": "ClientConnectionDisconnectedEventName",
+ "title": "ClientConnectionDisconnected"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/client_created_or_updated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/client_created_or_updated.json
new file mode 100644
index 0000000000000..2b4272ce14d79
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/client_created_or_updated.json
@@ -0,0 +1,21 @@
+{
+ "specversion": "1.0",
+ "id": "383d1562-c95f-4095-936c-688e72c6b2bb",
+ "time": "2023-07-29T01:14:35.8928724Z",
+ "type": "Microsoft.EventGrid.MQTTClientCreatedOrUpdated",
+ "source": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myrg/providers/Microsoft.EventGrid/namespaces/myns",
+ "subject": "clients/client1",
+ "data": {
+ "createdOn": "2023-07-29T01:14:34.2048108Z",
+ "updatedOn": "2023-07-29T01:14:34.2048108Z",
+ "namespaceName": "myns",
+ "clientName": "client1",
+ "clientAuthenticationName": "client1",
+ "state": "Enabled",
+ "attributes": {
+ "attribute1": "value1"
+ }
+ },
+ "operationId": "MQTTClientCreatedOrUpdatedEventName",
+ "title": "MQTTClientCreatedOrUpdated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/client_deleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/client_deleted.json
new file mode 100644
index 0000000000000..c89b48800f367
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/client_deleted.json
@@ -0,0 +1,15 @@
+{
+ "specversion": "1.0",
+ "id": "2a93aaf9-66c2-4f8e-9ba3-8d899c10bf17",
+ "time": "2023-07-29T01:30:52.5620566Z",
+ "type": "Microsoft.EventGrid.MQTTClientDeleted",
+ "source": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myrg/providers/Microsoft.EventGrid/namespaces/myns",
+ "subject": "clients/client1",
+ "data": {
+ "namespaceName": "myns",
+ "clientName": "client1",
+ "clientAuthenticationName": "client1"
+ },
+ "operationId": "MQTTClientDeletedEventName",
+ "title": "MQTTClientDeleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/clientsession_connected.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/clientsession_connected.json
new file mode 100644
index 0000000000000..316395e92359d
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/clientsession_connected.json
@@ -0,0 +1,16 @@
+{
+ "specversion": "1.0",
+ "id": "5249c38a-a048-46dd-8f60-df34fcdab06c",
+ "time": "2023-07-29T01:23:49.6454046Z",
+ "type": "Microsoft.EventGrid.MQTTClientSessionConnected",
+ "source": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myrg/providers/Microsoft.EventGrid/namespaces/myns",
+ "subject": "clients/client1/sessions/session1",
+ "data": {
+ "namespaceName": "myns",
+ "clientAuthenticationName": "client1",
+ "clientSessionName": "session1",
+ "sequenceNumber": 1
+ },
+ "operationId": "MQTTClientSessionConnectedEventName",
+ "title": "MQTTClientSessionConnected"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/clientsession_disconnected.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/clientsession_disconnected.json
new file mode 100644
index 0000000000000..6218ca1e913b9
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/clientsession_disconnected.json
@@ -0,0 +1,17 @@
+{
+ "specversion": "1.0",
+ "id": "e30e5174-787d-4e19-8812-580148bfcf7b",
+ "time": "2023-07-29T01:27:40.2446871Z",
+ "type": "Microsoft.EventGrid.MQTTClientSessionDisconnected",
+ "source": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myrg/providers/Microsoft.EventGrid/namespaces/myns",
+ "subject": "clients/client1/sessions/session1",
+ "data": {
+ "namespaceName": "myns",
+ "clientAuthenticationName": "client1",
+ "clientSessionName": "session1",
+ "sequenceNumber": 1,
+ "disconnectionReason": "ClientInitiatedDisconnect"
+ },
+ "operationId": "MQTTClientSessionDisconnectedEventName",
+ "title": "MQTTClientSessionDisconnected"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/cluster_support_ended.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/cluster_support_ended.json
new file mode 100644
index 0000000000000..dffc188104676
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/cluster_support_ended.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.ContainerService/managedClusters/{cluster}",
+ "subject": "{cluster}",
+ "type": "Microsoft.ContainerService.ClusterSupportEnded",
+ "time": "2023-03-29T18:00:00.0000000Z",
+ "id": "1234567890abcdef1234567890abcdef12345678",
+ "data": {
+ "kubernetesVersion": "1.23.15"
+ },
+ "specversion": "1.0",
+ "operationId": "ClusterSupportEndedEventName",
+ "title": "ClusterSupportEnded"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/cluster_support_ending.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/cluster_support_ending.json
new file mode 100644
index 0000000000000..951f651513ba3
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/cluster_support_ending.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.ContainerService/managedClusters/{cluster}",
+ "subject": "{cluster}",
+ "type": "Microsoft.ContainerService.ClusterSupportEnding",
+ "time": "2023-03-29T18:00:00.0000000Z",
+ "id": "1234567890abcdef1234567890abcdef12345678",
+ "data": {
+ "kubernetesVersion": "1.24.10"
+ },
+ "specversion": "1.0",
+ "operationId": "ClusterSupportEndingEventName",
+ "title": "ClusterSupportEnding"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/cluster_updated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/cluster_updated.json
new file mode 100644
index 0000000000000..f882398b74e20
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/cluster_updated.json
@@ -0,0 +1,22 @@
+{
+ "source": "/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.AVS/privateClouds/{sddc_name}",
+ "subject": "/clusters/{cluster_name}",
+ "type": "Microsoft.AVS.ClusterUpdated",
+ "time": "2023-12-09T16:50:19.9995668-05:00",
+ "id": "9b87886d-21a5-4af5-8e3e-10c4b8dac73b",
+ "data": {
+ "addedHostNames": [
+ "esx17-r04.p01.431cc…"
+ ],
+ "removedHostNames": [
+ "esx15-r01.p01.431cc…"
+ ],
+ "inMaintenanceHostNames": [
+ "esx01-r03.p01.431cc…"
+ ],
+ "operationId": "c8c0b304-2db3-402b-8a6b-06065e0e1755"
+ },
+ "specVersion": "1.0",
+ "operationId": "ClusterUpdatedEventName",
+ "title": "ClusterUpdated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/copy_completed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/copy_completed.json
new file mode 100644
index 0000000000000..98275184f5574
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/copy_completed.json
@@ -0,0 +1,15 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.DataBox/jobs/{your-resource}",
+ "subject": "/jobs/{your-resource}",
+ "type": "Microsoft.DataBox.CopyCompleted",
+ "time": "2022-10-16T02:51:26.4248221Z",
+ "id": "759c892a-a628-4e48-a116-2e1d54c555ce",
+ "data": {
+ "serialNumber": "SampleSerialNumber",
+ "stageName": "CopyCompleted",
+ "stageTime": "2022-10-12T19:38:08.0218897Z"
+ },
+ "specVersion": "1.0",
+ "operationId": "CopyCompletedEventName",
+ "title": "CopyCompleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/copy_started.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/copy_started.json
new file mode 100644
index 0000000000000..b801ddeb44989
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/copy_started.json
@@ -0,0 +1,15 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.DataBox/jobs/{your-resource}",
+ "subject": "/jobs/{your-resource}",
+ "type": "Microsoft.DataBox.CopyStarted",
+ "time": "2022-10-16T02:51:26.4248221Z",
+ "id": "049ec3f6-5b7d-4052-858e-6f4ce6a46570",
+ "data": {
+ "serialNumber": "SampleSerialNumber",
+ "stageName": "CopyStarted",
+ "stageTime": "2022-10-12T19:38:08.0218897Z"
+ },
+ "specVersion": "1.0",
+ "operationId": "CopyStartedEventName",
+ "title": "CopyStarted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/dataset_drift_detected.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/dataset_drift_detected.json
new file mode 100644
index 0000000000000..33ad61a57bc98
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/dataset_drift_detected.json
@@ -0,0 +1,20 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-name}",
+ "subject": "datadrifts/{}/runs/{}",
+ "type": "Microsoft.MachineLearningServices.DatasetDriftDetected",
+ "time": "2017-06-26T18:41:00.9584103Z",
+ "id": "831e1650-001e-001b-66ab-eeb76e069631",
+ "data": {
+ "DataDriftId": "01d29aa4-e6a4-470a-9ef3-66660d21f8ef",
+ "DataDriftName": "myDriftMonitor",
+ "RunId": "01d29aa4-e6a4-470a-9ef3-66660d21f8ef_1571590300380",
+ "BaseDatasetId": "3c56d136-0f64-4657-a0e8-5162089a88a3",
+ "TargetDatasetId": "d7e74d2e-c972-4266-b5fb-6c9c182d2a74",
+ "DriftCoefficient": 0.8350349068479208,
+ "StartTime": "2019-07-03T17:00:00-07:00",
+ "EndTime": "2019-07-04T17:00:00-07:00"
+ },
+ "specversion": "1.0",
+ "operationId": "DatasetDriftDetectedEventName",
+ "title": "DatasetDriftDetected"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/deadletter_messages_available_periodic_notification.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/deadletter_messages_available_periodic_notification.json
new file mode 100644
index 0000000000000..36d8ffa69db4f
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/deadletter_messages_available_periodic_notification.json
@@ -0,0 +1,18 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourcegroups/DemoGroup/providers/Microsoft.ServiceBus/namespaces/{namespace}",
+ "subject": "queues/{queue}",
+ "type": "Microsoft.ServiceBus.DeadletterMessagesAvailablePeriodicNotifications",
+ "time": "2018-02-14T05:12:53.4133526Z",
+ "id": "dede87b0-3656-419c-acaf-70c95ddc60f5",
+ "data": {
+ "namespaceName": "{namespace}",
+ "requestUri": "https://{namespace}.servicebus.windows.net/{queue}/$deadletterqueue/messages/head",
+ "entityType": "subscriber",
+ "queueName": "{queue}",
+ "topicName": null,
+ "subscriptionName": null
+ },
+ "specversion": "1.0",
+ "operationId": "DeadletterMessagesAvailablePeriodicNotificationsEventName",
+ "title": "DeadletterMessagesAvailablePeriodicNotifications"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/deadletter_messages_available_with_no_listeners.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/deadletter_messages_available_with_no_listeners.json
new file mode 100644
index 0000000000000..987421be786bd
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/deadletter_messages_available_with_no_listeners.json
@@ -0,0 +1,18 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourcegroups/{your-rg}/providers/Microsoft.ServiceBus/namespaces/{your-service-bus-namespace}",
+ "subject": "topics/{your-service-bus-topic}/subscriptions/{your-service-bus-subscription}",
+ "type": "Microsoft.ServiceBus.DeadletterMessagesAvailableWithNoListeners",
+ "time": "2018-02-14T05:12:53.4133526Z",
+ "id": "dede87b0-3656-419c-acaf-70c95ddc60f5",
+ "data": {
+ "namespaceName": "YOUR SERVICE BUS NAMESPACE WILL SHOW HERE",
+ "requestUri": "https://{your-service-bus-namespace}.servicebus.windows.net/{your-topic}/subscriptions/{your-service-bus-subscription}/$deadletterqueue/messages/head",
+ "entityType": "subscriber",
+ "queueName": "QUEUE NAME IF QUEUE",
+ "topicName": "TOPIC NAME IF TOPIC",
+ "subscriptionName": "SUBSCRIPTION NAME"
+ },
+ "specversion": "1.0",
+ "operationId": "DeadletterMessagesAvailableWithNoListenersEventName",
+ "title": "DeadletterMessagesAvailableWithNoListeners"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/device_connected.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/device_connected.json
new file mode 100644
index 0000000000000..f43cb336e8df6
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/device_connected.json
@@ -0,0 +1,18 @@
+{
+ "source": "/SUBSCRIPTIONS/{subscription-id}/RESOURCEGROUPS{resource-group}/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/{hub—name}",
+ "subject": "devices/LogicAppTestDevice",
+ "type": "Microsoft.Devices.DeviceConnected",
+ "time": "2018-06-02T19:17:44.4383997Z",
+ "id": "f6bbf8f4-d365-520d-a878-17bf7238abd8",
+ "data": {
+ "deviceConnectionStateEventInfo": {
+ "sequenceNumber": "000000000000000001D4132452F67CE200000002000000000000000000000001"
+ },
+ "hubName": "egtesthub1",
+ "deviceId": "LogicAppTestDevice",
+ "moduleId": "DeviceModuleID"
+ },
+ "specversion": "1.0",
+ "operationId": "DeviceConnectedEventName",
+ "title": "DeviceConnected"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/device_created.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/device_created.json
new file mode 100644
index 0000000000000..dcf8df794805e
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/device_created.json
@@ -0,0 +1,44 @@
+{
+ "source": "/SUBSCRIPTIONS/{subscription-ID}/RESOURCEGROUPS/{resource-group}/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/{hub-name}",
+ "subject": "devices/LogicAppTestDevice",
+ "type": "Microsoft.Devices.DeviceCreated",
+ "time": "2018-01-02T19:17:44.4383997Z",
+ "id": "56afc886-767b-d359-d59e-0da7877166b2",
+ "data": {
+ "twin": {
+ "deviceId": "LogicAppTestDevice",
+ "etag": "AAAAAAAAAAE=",
+ "deviceEtag": "null",
+ "status": "enabled",
+ "statusUpdateTime": "0001-01-01T00:00:00",
+ "connectionState": "Disconnected",
+ "lastActivityTime": "0001-01-01T00:00:00",
+ "cloudToDeviceMessageCount": 0,
+ "authenticationType": "sas",
+ "x509Thumbprint": {
+ "primaryThumbprint": null,
+ "secondaryThumbprint": null
+ },
+ "version": 2,
+ "properties": {
+ "desired": {
+ "$metadata": {
+ "$lastUpdated": "2018-01-02T19:17:44.4383997Z"
+ },
+ "$version": 1
+ },
+ "reported": {
+ "$metadata": {
+ "$lastUpdated": "2018-01-02T19:17:44.4383997Z"
+ },
+ "$version": 1
+ }
+ }
+ },
+ "hubName": "egtesthub1",
+ "deviceId": "LogicAppTestDevice"
+ },
+ "specversion": "1.0",
+ "operationId": "DeviceCreatedEventName",
+ "title": "DeviceCreated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/device_telemetry.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/device_telemetry.json
new file mode 100644
index 0000000000000..d406fff9c2f59
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/device_telemetry.json
@@ -0,0 +1,30 @@
+{
+ "source": "/SUBSCRIPTIONS/{subscription-ID}/RESOURCEGROUPS/{resource-group}/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/{hub-name}",
+ "subject": "devices/LogicAppTestDevice",
+ "type": "Microsoft.Devices.DeviceTelemetry",
+ "time": "2019-01-07T20:58:30.4800000Z",
+ "id": "9af86784-8d40-fe2g-8b2a-bab65e106785",
+ "data": {
+ "body": {
+ "Weather": {
+ "Temperature": 900
+ },
+ "Location": "USA"
+ },
+ "properties": {
+ "Status": "Active"
+ },
+ "systemProperties": {
+ "iothub-content-type": "application/json",
+ "iothub-content-encoding": "utf-8",
+ "iothub-connection-device-id": "d1",
+ "iothub-connection-auth-method": "{\"scope\":\"device\",\"type\":\"sas\",\"issuer\":\"iothub\",\"acceptingIpFilterRule\":null}",
+ "iothub-connection-auth-generation-id": "123455432199234570",
+ "iothub-enqueuedtime": "2019-01-07T20:58:30.48Z",
+ "iothub-message-source": "Telemetry"
+ }
+ },
+ "specversion": "1.0",
+ "operationId": "DeviceTelemetryEventName",
+ "title": "DeviceTelemetry"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/dicom_image_created.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/dicom_image_created.json
new file mode 100644
index 0000000000000..41ce40083bc69
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/dicom_image_created.json
@@ -0,0 +1,18 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.HealthcareApis/workspaces/{workspace-name}",
+ "subject": "{dicom-account}.dicom.azurehealthcareapis.com/v1/partitions/Microsoft.Default/studies/1.2.3.4.3/series/1.2.3.4.3.9423673/instances/1.3.6.1.4.1.45096.2.296485376.2210.1633373143.864442",
+ "type": "Microsoft.HealthcareApis.DicomImageCreated",
+ "time": "2022-09-15T01:14:04.5613214Z",
+ "id": "d621839d-958b-4142-a638-bb966b4f7dfd",
+ "data": {
+ "partitionName": "Microsoft.Default",
+ "imageStudyInstanceUid": "1.2.3.4.3",
+ "imageSeriesInstanceUid": "1.2.3.4.3.9423673",
+ "imageSopInstanceUid": "1.3.6.1.4.1.45096.2.296485376.2210.1633373143.864442",
+ "serviceHostName": "{dicom-account}.dicom.azurehealthcareapis.com",
+ "sequenceNumber": 1
+ },
+ "specversion": "1.0",
+ "operationId": "DicomImageCreatedEventName",
+ "title": "DicomImageCreated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/dicom_image_deleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/dicom_image_deleted.json
new file mode 100644
index 0000000000000..aae916c2f6a1a
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/dicom_image_deleted.json
@@ -0,0 +1,18 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.HealthcareApis/workspaces/{workspace-name}",
+ "subject": "{dicom-account}.dicom.azurehealthcareapis.com/v1/partitions/Microsoft.Default/studies/1.2.3.4.3/series/1.2.3.4.3.9423673/instances/1.3.6.1.4.1.45096.2.296485376.2210.1633373143.864442",
+ "type": "Microsoft.HealthcareApis.DicomImageDeleted",
+ "time": "2022-09-15T01:14:04.5613214Z",
+ "id": "eac1c1a0-ffa8-4b28-97cc-1d8b9a0a6021",
+ "data": {
+ "partitionName": "Microsoft.Default",
+ "imageStudyInstanceUid": "1.2.3.4.3",
+ "imageSeriesInstanceUid": "1.2.3.4.3.9423673",
+ "imageSopInstanceUid": "1.3.6.1.4.1.45096.2.296485376.2210.1633373143.864442",
+ "serviceHostName": "{dicom-account}.dicom.azurehealthcareapis.com",
+ "sequenceNumber": 2
+ },
+ "specversion": "1.0",
+ "operationId": "DicomImageDeletedEventName",
+ "title": "DicomImageDeleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/dicom_image_updated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/dicom_image_updated.json
new file mode 100644
index 0000000000000..930c742cdd5ac
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/dicom_image_updated.json
@@ -0,0 +1,18 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.HealthcareApis/workspaces/{workspace-name}",
+ "subject": "{dicom-account}.dicom.azurehealthcareapis.com/v1/partitions/Microsoft.Default/studies/1.2.3.4.3/series/1.2.3.4.3.9423673/instances/1.3.6.1.4.1.45096.2.296485376.2210.1633373143.864442",
+ "type": "Microsoft.HealthcareApis.DicomImageUpdated",
+ "time": "2022-09-15T01:14:04.5613214Z",
+ "id": "7e8aca04-e815-4387-82a8-9fcf15a3114b",
+ "data": {
+ "partitionName": "Microsoft.Default",
+ "imageStudyInstanceUid": "1.2.3.4.3",
+ "imageSeriesInstanceUid": "1.2.3.4.3.9423673",
+ "imageSopInstanceUid": "1.3.6.1.4.1.45096.2.296485376.2210.1633373143.864442",
+ "serviceHostName": "{dicom-account}.dicom.azurehealthcareapis.com",
+ "sequenceNumber": 1
+ },
+ "specversion": "1.0",
+ "operationId": "DicomImageUpdatedEventName",
+ "title": "DicomImageUpdated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/directory_created.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/directory_created.json
new file mode 100644
index 0000000000000..13490d6b14ff8
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/directory_created.json
@@ -0,0 +1,33 @@
+{
+ "source": "/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/jolov/providers/Microsoft.Storage/storageAccounts/jolovdfs",
+ "subject": "/blobServices/default/containers/gaocontainer/blobs/gaodir",
+ "type": "Microsoft.Storage.DirectoryCreated",
+ "time": "2021-08-16T05:36:06.1613834Z",
+ "id": "d706a817-d01f-0002-3e60-92fcb5068c19",
+ "data": {
+ "api": "CreateDirectory",
+ "requestId": "d706a817-d01f-0002-3e60-92fcb5000000",
+ "eTag": "0x8D96077BE69372E",
+ "directoryProperties": [
+ {
+ "acl": [
+ {
+ "access": "u::rwx,g::rx,o::",
+ "permission": "0750",
+ "owner": "$superuser",
+ "group": "$superuser"
+ }
+ ]
+ }
+ ],
+ "blobUrl": "https://jolovdfs.blob.core.windows.net/gaocontainer/gaodir",
+ "url": "https://jolovdfs.dfs.core.windows.net/gaocontainer/gaodir",
+ "sequencer": "00000000000000000000000000000102000000000001e192",
+ "storageDiagnostics": {
+ "batchId": "e4b5c5d5-b727-4429-b35f-babb83eb15f1"
+ }
+ },
+ "specversion": "1.0",
+ "operationId": "DirectoryCreatedEventName",
+ "title": "DirectoryCreated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/directory_deleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/directory_deleted.json
new file mode 100644
index 0000000000000..773dc9815252a
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/directory_deleted.json
@@ -0,0 +1,21 @@
+{
+ "source": "/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/jolov/providers/Microsoft.Storage/storageAccounts/jolovdfs",
+ "subject": "/blobServices/default/containers/gaocontainer/blobs/gaodir",
+ "type": "Microsoft.Storage.DirectoryDeleted",
+ "time": "2021-08-16T05:36:57.4835481Z",
+ "id": "45a3a9fa-001f-0001-1b60-921dd1069801",
+ "data": {
+ "api": "DeleteDirectory",
+ "requestId": "45a3a9fa-001f-0001-1b60-921dd1000000",
+ "blobUrl": "https://jolovdfs.blob.core.windows.net/gaocontainer/gaodir",
+ "url": "https://jolovdfs.dfs.core.windows.net/gaocontainer/gaodir",
+ "recursive": "false",
+ "sequencer": "00000000000000000000000000000102000000000001e1a4",
+ "storageDiagnostics": {
+ "batchId": "c41d46e2-dfa5-4dd1-832a-9a63bed28ebc"
+ }
+ },
+ "specversion": "1.0",
+ "operationId": "DirectoryDeletedEventName",
+ "title": "DirectoryDeleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/directory_renamed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/directory_renamed.json
new file mode 100644
index 0000000000000..bb6cdab85b2aa
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/directory_renamed.json
@@ -0,0 +1,22 @@
+{
+ "source": "/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/jolov/providers/Microsoft.Storage/storageAccounts/jolovdfs",
+ "subject": "/blobServices/default/containers/gaocontainer/blobs/gaonewdir",
+ "type": "Microsoft.Storage.DirectoryRenamed",
+ "time": "2021-08-16T05:38:05.1425527Z",
+ "id": "45a3aa46-001f-0001-2d60-921dd1062e11",
+ "data": {
+ "api": "RenameDirectory",
+ "requestId": "45a3aa46-001f-0001-2d60-921dd1000000",
+ "destinationBlobUrl": "https://jolovdfs.blob.core.windows.net/gaocontainer/gaonewdir",
+ "sourceBlobUrl": "https://jolovdfs.blob.core.windows.net/gaocontainer/gaoname",
+ "destinationUrl": "https://jolovdfs.dfs.core.windows.net/gaocontainer/gaonewdir",
+ "sourceUrl": "https://jolovdfs.dfs.core.windows.net/gaocontainer/gaoname",
+ "sequencer": "00000000000000000000000000000102000000000001e1c6",
+ "storageDiagnostics": {
+ "batchId": "5f991456-5dcf-4b1b-9d49-562ee2b0757f"
+ }
+ },
+ "specversion": "1.0",
+ "operationId": "DirectoryRenamedEventName",
+ "title": "DirectoryRenamed"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/email_delivery_report_received.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/email_delivery_report_received.json
new file mode 100644
index 0000000000000..bf96f5e6b66f9
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/email_delivery_report_received.json
@@ -0,0 +1,17 @@
+{
+ "id": "5f04f77c-2a6a-43bd-9b74-576a64c01f9e",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "sender/test2@contoso.org/message/950850f5-bcdf-4315-b77a-6447cf56fac9",
+ "data": {
+ "sender": "test2@contoso.org",
+ "recipient": "test1@contoso.com",
+ "messageId": "950850f5-bcdf-4315-b77a-6447cf56fac9",
+ "status": "delivered",
+ "deliveryAttemptTimeStamp": "2023-02-09T19:46:12.2480265+00:00"
+ },
+ "type": "Microsoft.Communication.EmailDeliveryReportReceived",
+ "time": "2023-02-09T19:46:12.2478002Z",
+ "specversion": "1.0",
+ "operationId": "EmailDeliveryReportReceivedEventName",
+ "title": "EmailDeliveryReportReceived"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/email_engagement_tracking_report_received.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/email_engagement_tracking_report_received.json
new file mode 100644
index 0000000000000..85f10a93a9650
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/email_engagement_tracking_report_received.json
@@ -0,0 +1,18 @@
+{
+ "id": "b69d6528-f09f-4ba7-93f9-dab8baf98d0e",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "sender/test2@contoso.org/message/fe26a737-6941-410c-b126-7eacbe4035d1",
+ "data": {
+ "sender": "test2@contoso.org",
+ "messageId": "fe26a737-6941-410c-b126-7eacbe4035d1",
+ "userActionTimeStamp": "2023-02-09T20:07:22.745555+00:00",
+ "engagementContext": "www.example.com",
+ "userAgent": "Desktop",
+ "engagementType": "click"
+ },
+ "type": "Microsoft.Communication.EmailEngagementTrackingReportReceived",
+ "time": "2023-02-09T20:07:22.7453611Z",
+ "specversion": "1.0",
+ "operationId": "EmailEngagementTrackingReportReceivedEventName",
+ "title": "EmailEngagementTrackingReportReceived"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/export_rdb_completed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/export_rdb_completed.json
new file mode 100644
index 0000000000000..0a9a8071c3ede
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/export_rdb_completed.json
@@ -0,0 +1,15 @@
+{
+ "source": "/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Cache/Redis/{cache_name}",
+ "subject": "ExportRDBCompleted",
+ "type": "Microsoft.Cache.ExportRDBCompleted",
+ "time": "2020-12-09T13:50:19.9995668-08:00",
+ "id": "9b87886d-21a5-4af5-8e3e-10c4b8dac73b",
+ "data": {
+ "name": "ExportRDBCompleted",
+ "timestamp": "2020-12-09T13:50:19.9995668-08:00",
+ "status": "Succeeded"
+ },
+ "specversion": "1.0",
+ "operationId": "ExportRDBCompletedEventName",
+ "title": "ExportRDBCompleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/fhir_resource_created.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/fhir_resource_created.json
new file mode 100644
index 0000000000000..a1510809bc920
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/fhir_resource_created.json
@@ -0,0 +1,16 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.HealthcareApis/workspaces/{workspace-name}",
+ "subject": "{fhir-account}.fhir.azurehealthcareapis.com/Patient/e0a1f743-1a70-451f-830e-e96477163902",
+ "type": "Microsoft.HealthcareApis.FhirResourceCreated",
+ "time": "2021-09-08T01:14:04.5613214Z",
+ "id": "e4c7f556-d72c-e7f7-1069-1e82ac76ab41",
+ "data": {
+ "resourceType": "Patient",
+ "resourceFhirAccount": "{fhir-account}.fhir.azurehealthcareapis.com",
+ "resourceFhirId": "e0a1f743-1a70-451f-830e-e96477163902",
+ "resourceVersionId": 1
+ },
+ "specversion": "1.0",
+ "operationId": "FhirResourceCreatedEventName",
+ "title": "FhirResourceCreated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/fhir_resource_deleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/fhir_resource_deleted.json
new file mode 100644
index 0000000000000..9fbe50d21eee2
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/fhir_resource_deleted.json
@@ -0,0 +1,16 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.HealthcareApis/workspaces/{workspace-name}",
+ "subject": "{fhir-account}.fhir.azurehealthcareapis.com/Patient/e0a1f743-1a70-451f-830e-e96477163902",
+ "type": "Microsoft.HealthcareApis.FhirResourceDeleted",
+ "time": "2021-09-08T01:31:58.5175837Z",
+ "id": "ef289b93-3159-b833-3a44-dc6b86ed1a8a",
+ "data": {
+ "resourceType": "Patient",
+ "resourceFhirAccount": "{fhir-account}.fhir.azurehealthcareapis.com",
+ "resourceFhirId": "e0a1f743-1a70-451f-830e-e96477163902",
+ "resourceVersionId": 3
+ },
+ "specversion": "1.0",
+ "operationId": "FhirResourceDeletedEventName",
+ "title": "FhirResourceDeleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/fhir_resource_updated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/fhir_resource_updated.json
new file mode 100644
index 0000000000000..29b409b82e27e
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/fhir_resource_updated.json
@@ -0,0 +1,16 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.HealthcareApis/workspaces/{workspace-name}",
+ "subject": "{fhir-account}.fhir.azurehealthcareapis.com/Patient/e0a1f743-1a70-451f-830e-e96477163902",
+ "type": "Microsoft.HealthcareApis.FhirResourceUpdated",
+ "time": "2021-09-08T01:29:12.0618739Z",
+ "id": "634bd421-8467-f23c-b8cb-f6a31e41c32a",
+ "data": {
+ "resourceType": "Patient",
+ "resourceFhirAccount": "{fhir-account}.fhir.azurehealthcareapis.com",
+ "resourceFhirId": "e0a1f743-1a70-451f-830e-e96477163902",
+ "resourceVersionId": 2
+ },
+ "specversion": "1.0",
+ "operationId": "FhirResourceUpdatedEventName",
+ "title": "FhirResourceUpdated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayApiAdded.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayApiAdded.json
new file mode 100644
index 0000000000000..5cb4419dc19d4
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayApiAdded.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/gateways/{gateway-name}/apis/example-api",
+ "type": "Microsoft.ApiManagement.GatewayAPIAdded",
+ "time": "2021-07-02T00:47:47.8536532Z",
+ "id": "92c502f2-a966-42a7-a428-d3b319844544",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/gateways/{gateway-name}/apis/example-api"
+ },
+ "specVersion": "1.0",
+ "operationId": "GatewayAPIAddedEventName",
+ "title": "GatewayAPIAdded"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayApiRemoved.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayApiRemoved.json
new file mode 100644
index 0000000000000..f8680f8d25695
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayApiRemoved.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/gateways/{gateway-name}/apis/example-api",
+ "type": "Microsoft.ApiManagement.GatewayAPIRemoved",
+ "time": "2021-07-02T00:47:47.8536532Z",
+ "id": "92c502f2-a966-42a7-a428-d3b319844544",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/gateways/{gateway-name}/apis/example-api"
+ },
+ "specVersion": "1.0",
+ "operationId": "GatewayAPIRemovedEventName",
+ "title": "GatewayAPIRemoved"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayCertificateAuthorityCreated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayCertificateAuthorityCreated.json
new file mode 100644
index 0000000000000..79c80577a672c
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayCertificateAuthorityCreated.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/gateways/{gateway-name}/certificateAuthorities/example-ca",
+ "type": "Microsoft.ApiManagement.GatewayCertificateAuthorityCreated",
+ "time": "2021-07-02T00:47:47.8536532Z",
+ "id": "92c502f2-a966-42a7-a428-d3b319844544",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/gateways/{gateway-name}/certificateAuthorities/example-ca"
+ },
+ "specVersion": "1.0",
+ "operationId": "GatewayCertificateAuthorityCreatedEventName",
+ "title": "GatewayCertificateAuthorityCreated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayCertificateAuthorityDeleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayCertificateAuthorityDeleted.json
new file mode 100644
index 0000000000000..51e0f8b766207
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayCertificateAuthorityDeleted.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/gateways/{gateway-name}/certificateAuthorities/example-ca",
+ "type": "Microsoft.ApiManagement.GatewayCertificateAuthorityDeleted",
+ "time": "2021-07-02T00:47:47.8536532Z",
+ "id": "92c502f2-a966-42a7-a428-d3b319844544",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/gateways/{gateway-name}/certificateAuthorities/example-ca"
+ },
+ "specVersion": "1.0",
+ "operationId": "GatewayCertificateAuthorityDeletedEventName",
+ "title": "GatewayCertificateAuthorityDeleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayCertificateAuthorityUpdated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayCertificateAuthorityUpdated.json
new file mode 100644
index 0000000000000..8e8f17e5c36ac
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayCertificateAuthorityUpdated.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/gateways/{gateway-name}/certificateAuthorities/example-ca",
+ "type": "Microsoft.ApiManagement.GatewayCertificateAuthorityUpdated",
+ "time": "2021-07-02T00:47:47.8536532Z",
+ "id": "92c502f2-a966-42a7-a428-d3b319844544",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/gateways/{gateway-name}/certificateAuthorities/example-ca"
+ },
+ "specVersion": "1.0",
+ "operationId": "GatewayCertificateAuthorityUpdatedEventName",
+ "title": "GatewayCertificateAuthorityUpdated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayCreated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayCreated.json
new file mode 100644
index 0000000000000..5d5a7d9665b19
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayCreated.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/gateways/{gateway-name}",
+ "type": "Microsoft.ApiManagement.GatewayCreated",
+ "time": "2021-07-02T00:47:47.8536532Z",
+ "id": "92c502f2-a966-42a7-a428-d3b319844544",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/gateways/{gateway-name}"
+ },
+ "specVersion": "1.0",
+ "operationId": "GatewayCreatedEventName",
+ "title": "GatewayCreated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayDeleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayDeleted.json
new file mode 100644
index 0000000000000..3571b41d4b5e7
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayDeleted.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/gateways/{gateway-name}",
+ "type": "Microsoft.ApiManagement.GatewayDeleted",
+ "time": "2021-07-02T00:47:47.8536532Z",
+ "id": "92c502f2-a966-42a7-a428-d3b319844544",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/gateways/{gateway-name}"
+ },
+ "specVersion": "1.0",
+ "operationId": "GatewayDeletedEventName",
+ "title": "GatewayDeleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayHostnameConfigurationCreated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayHostnameConfigurationCreated.json
new file mode 100644
index 0000000000000..6402ccd04430c
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayHostnameConfigurationCreated.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/gateways/{gateway-name}/hostnameConfigurations/example-hostname",
+ "type": "Microsoft.ApiManagement.GatewayHostnameConfigurationCreated",
+ "time": "2021-07-02T00:47:47.8536532Z",
+ "id": "92c502f2-a966-42a7-a428-d3b319844544",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/gateways/{gateway-name}/hostnameConfigurations/example-hostname"
+ },
+ "specVersion": "1.0",
+ "operationId": "GatewayHostnameConfigurationCreatedEventName",
+ "title": "GatewayHostnameConfigurationCreated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayHostnameConfigurationDeleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayHostnameConfigurationDeleted.json
new file mode 100644
index 0000000000000..4ab4a6e310916
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayHostnameConfigurationDeleted.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/gateways/{gateway-name}/hostnameConfigurations/example-hostname",
+ "type": "Microsoft.ApiManagement.GatewayHostnameConfigurationDeleted",
+ "time": "2021-07-02T00:47:47.8536532Z",
+ "id": "92c502f2-a966-42a7-a428-d3b319844544",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/gateways/{gateway-name}/hostnameConfigurations/example-hostname"
+ },
+ "specVersion": "1.0",
+ "operationId": "GatewayHostnameConfigurationDeletedEventName",
+ "title": "GatewayHostnameConfigurationDeleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayHostnameConfigurationUpdated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayHostnameConfigurationUpdated.json
new file mode 100644
index 0000000000000..3280423d11f55
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayHostnameConfigurationUpdated.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/gateways/{gateway-name}/hostnameConfigurations/example-hostname",
+ "type": "Microsoft.ApiManagement.GatewayHostnameConfigurationUpdated",
+ "time": "2021-07-02T00:47:47.8536532Z",
+ "id": "92c502f2-a966-42a7-a428-d3b319844544",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/gateways/{gateway-name}/hostnameConfigurations/example-hostname"
+ },
+ "specVersion": "1.0",
+ "operationId": "GatewayHostnameConfigurationUpdatedEventName",
+ "title": "GatewayHostnameConfigurationUpdated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayUpdated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayUpdated.json
new file mode 100644
index 0000000000000..417deb41bbbeb
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/gatewayUpdated.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/gateways/{gateway-name}",
+ "type": "Microsoft.ApiManagement.GatewayUpdated",
+ "time": "2021-07-02T00:47:47.8536532Z",
+ "id": "92c502f2-a966-42a7-a428-d3b319844544",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/gateways/{gateway-name}"
+ },
+ "specVersion": "1.0",
+ "operationId": "GatewayUpdatedEventName",
+ "title": "GatewayUpdated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/geofence_entered.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/geofence_entered.json
new file mode 100644
index 0000000000000..0b9b6c545b11a
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/geofence_entered.json
@@ -0,0 +1,24 @@
+{
+ "source": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Maps/accounts/{accountName}",
+ "subject": "/spatial/geofence/udid/{udid}/id/{eventId}",
+ "type": "Microsoft.Maps.GeofenceEntered",
+ "time": "2018-11-08T00:54:17.6408601Z",
+ "id": "7f8446e2-1ac7-4234-8425-303726ea3981",
+ "data": {
+ "geometries": [
+ {
+ "deviceId": "device_1",
+ "udId": "1a13b444-4acf-32ab-ce4e-9ca4af20b169",
+ "geometryId": "2",
+ "distance": -999.0,
+ "nearestLat": 47.618786,
+ "nearestLon": -122.132151
+ }
+ ],
+ "expiredGeofenceGeometryId": [],
+ "invalidPeriodGeofenceGeometryId": []
+ },
+ "specversion": "1.0",
+ "operationId": "GeofenceEnteredEventName",
+ "title": "GeofenceEntered"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/geofence_result.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/geofence_result.json
new file mode 100644
index 0000000000000..ec9d47e66e3ea
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/geofence_result.json
@@ -0,0 +1,32 @@
+{
+ "source": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Maps/accounts/{accountName}",
+ "subject": "/spatial/geofence/udid/{udid}/id/{eventId}",
+ "type": "Microsoft.Maps.GeofenceResult",
+ "time": "2018-11-08T00:52:08.0954283Z",
+ "id": "451675de-a67d-4929-876c-5c2bf0b2c000",
+ "data": {
+ "geometries": [
+ {
+ "deviceId": "device_1",
+ "udId": "1a13b444-4acf-32ab-ce4e-9ca4af20b169",
+ "geometryId": "1",
+ "distance": 999.0,
+ "nearestLat": 47.609833,
+ "nearestLon": -122.148274
+ },
+ {
+ "deviceId": "device_1",
+ "udId": "1a13b444-4acf-32ab-ce4e-9ca4af20b169",
+ "geometryId": "2",
+ "distance": 999.0,
+ "nearestLat": 47.621954,
+ "nearestLon": -122.131841
+ }
+ ],
+ "expiredGeofenceGeometryId": [],
+ "invalidPeriodGeofenceGeometryId": []
+ },
+ "specversion": "1.0",
+ "operationId": "GeofenceResultEventName",
+ "title": "GeofenceResult"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/image_deleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/image_deleted.json
new file mode 100644
index 0000000000000..0402aca558e82
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/image_deleted.json
@@ -0,0 +1,30 @@
+{
+ "source": "/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/jolov/providers/Microsoft.ContainerRegistry/registries/jolovcr",
+ "subject": "samples/nginx",
+ "type": "Microsoft.ContainerRegistry.ImageDeleted",
+ "time": "2021-09-08T06:49:40.5342401Z",
+ "id": "6fdef14c-2594-41e8-9156-c0376eb0a190",
+ "data": {
+ "id": "6fdef14c-2594-41e8-9156-c0376eb0a190",
+ "timestamp": "2021-09-08T06:49:40.1850248Z",
+ "action": "delete",
+ "location": "westus",
+ "target": {
+ "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
+ "digest": "sha256:57a94fc99816c6aa225678b738ac40d85422e75dbb96115f1bb9b6ed77176166",
+ "repository": "samples/nginx"
+ },
+ "request": {
+ "id": "62a60cbd-1bfc-4742-b013-ed7098922ca6",
+ "host": "jolovcr.azurecr.io",
+ "method": "DELETE",
+ "useragent": "python-requests/2.22.0"
+ },
+ "connectedRegistry": {
+ "name": "edge1"
+ }
+ },
+ "specversion": "1.0",
+ "operationId": "ImageDeletedEventName",
+ "title": "ImageDeleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/image_pushed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/image_pushed.json
new file mode 100644
index 0000000000000..9a6cf78d1b6ac
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/image_pushed.json
@@ -0,0 +1,33 @@
+{
+ "source": "/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/jolov/providers/Microsoft.ContainerRegistry/registries/jolovcr",
+ "subject": "samples/nginx:latest",
+ "type": "Microsoft.ContainerRegistry.ImagePushed",
+ "time": "2021-09-08T06:37:45.6609948Z",
+ "id": "c25fdb80-ebbd-4dd0-a29c-a7349e6388f6",
+ "data": {
+ "id": "c25fdb80-ebbd-4dd0-a29c-a7349e6388f6",
+ "timestamp": "2021-09-08T06:37:45.4681009Z",
+ "action": "push",
+ "location": "westus",
+ "target": {
+ "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
+ "size": 1153,
+ "digest": "sha256:57a94fc99816c6aa225678b738ac40d85422e75dbb96115f1bb9b6ed77176166",
+ "length": 1153,
+ "repository": "samples/nginx",
+ "tag": "latest"
+ },
+ "request": {
+ "id": "9f8fa9d4-5b86-4066-b805-e406f321c7d6",
+ "host": "jolovcr.azurecr.io",
+ "method": "PUT",
+ "useragent": "docker/20.10.7 go/go1.13.15 git-commit/b0f5bc3 kernel/5.10.16.3-microsoft-standard-WSL2 os/linux arch/amd64 UpstreamClient(Docker-Client/20.10.7 \\(windows\\))"
+ },
+ "connectedRegistry": {
+ "name": "edge1"
+ }
+ },
+ "specversion": "1.0",
+ "operationId": "ImagePushedEventName",
+ "title": "ImagePushed"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/import_rdb_completed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/import_rdb_completed.json
new file mode 100644
index 0000000000000..e28f13db55cbb
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/import_rdb_completed.json
@@ -0,0 +1,15 @@
+{
+ "source": "/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Cache/Redis/{cache_name}",
+ "subject": "ImportRDBCompleted",
+ "type": "Microsoft.Cache.ImportRDBCompleted",
+ "time": "2020-12-09T13:50:19.9995668-08:00",
+ "id": "9b87886d-21a5-4af5-8e3e-10c4b8dac73b",
+ "data": {
+ "name": "ImportRDBCompleted",
+ "timestamp": "2020-12-09T13:50:19.9995668-08:00",
+ "status": "Succeeded"
+ },
+ "specversion": "1.0",
+ "operationId": "ImportRDBCompletedEventName",
+ "title": "ImportRDBCompleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/incoming_call.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/incoming_call.json
new file mode 100644
index 0000000000000..69f72411a38d2
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/incoming_call.json
@@ -0,0 +1,40 @@
+{
+ "id": "e80026e7-e298-46ba-bc42-dab0eda92581",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "/caller/{caller-id}/recipient/{recipient-id}",
+ "data": {
+ "to": {
+ "kind": "communicationUser",
+ "rawId": "{recipient-id}",
+ "communicationUser": {
+ "id": "{recipient-id}"
+ }
+ },
+ "from": {
+ "kind": "communicationUser",
+ "rawId": "{caller-id}",
+ "communicationUser": {
+ "id": "{caller-id}"
+ }
+ },
+ "serverCallId": "{server-call-id}",
+ "callerDisplayName": "VOIP Caller",
+ "customContext": {
+ "sipHeaders": {
+ "userToUser": "616d617a6f6e5f6368696;encoding=hex",
+ "X-MS-Custom-myheader1": "35567842",
+ "X-MS-Custom-myheader2": "customsipheadervalue"
+ },
+ "voipHeaders": {
+ "customHeader": "customValue"
+ }
+ },
+ "incomingCallContext": "{incoming-call-contextValue}",
+ "correlationId": "correlationId"
+ },
+ "type": "Microsoft.Communication.IncomingCall",
+ "specversion": "1.0",
+ "time": "2023-04-04T17:18:42.5542219Z",
+ "operationId": "IncomingCallEventName",
+ "title": "IncomingCall"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/keyvalue_deleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/keyvalue_deleted.json
new file mode 100644
index 0000000000000..b2316852bb7cb
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/keyvalue_deleted.json
@@ -0,0 +1,16 @@
+{
+ "source": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
+ "subject": "https://contoso.azconfig.io/kv/Foo?label=FizzBuzz",
+ "type": "Microsoft.AppConfiguration.KeyValueDeleted",
+ "time": "2019-05-31T20:05:03.0000000Z",
+ "id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
+ "data": {
+ "key": "Foo",
+ "label": "FizzBuzz",
+ "etag": "FnUExLaj2moIi4tJX9AXn9sakm0",
+ "syncToken": "zAJw6V16=Njo1IzUxNjQ2NzM=;sn=5164673"
+ },
+ "specversion": "1.0",
+ "operationId": "KeyValueDeletedEventName",
+ "title": "KeyValueDeleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/keyvalue_modified.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/keyvalue_modified.json
new file mode 100644
index 0000000000000..a71f576b04f24
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/keyvalue_modified.json
@@ -0,0 +1,16 @@
+{
+ "source": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
+ "subject": "https://contoso.azconfig.io/kv/Foo?label=FizzBuzz",
+ "type": "Microsoft.AppConfiguration.KeyValueModified",
+ "time": "2019-05-31T20:05:03.0000000Z",
+ "id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
+ "data": {
+ "key": "Foo",
+ "label": "FizzBuzz",
+ "etag": "FnUExLaj2moIi4tJX9AXn9sakm0",
+ "syncToken": "zAJw6V16=Njo1IzUxNjQ2NzM=;sn=5164673"
+ },
+ "specversion": "1.0",
+ "operationId": "KeyValueModifiedEventName",
+ "title": "KeyValueModified"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/model_deployed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/model_deployed.json
new file mode 100644
index 0000000000000..b79d8910fffb4
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/model_deployed.json
@@ -0,0 +1,22 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-name}",
+ "subject": "endpoints/my-sklearn-service",
+ "type": "Microsoft.MachineLearningServices.ModelDeployed",
+ "time": "2017-06-26T18:41:00.9584103Z",
+ "id": "831e1650-001e-001b-66ab-eeb76e069631",
+ "data": {
+ "ServiceName": "my-sklearn-service",
+ "ServiceComputeType": "ACI",
+ "ModelIds": "sklearn_regression_model:1,sklearn_regression_model:2",
+ "ServiceTags": {
+ "area": "diabetes",
+ "type": "regression"
+ },
+ "ServiceProperties": {
+ "type": "test"
+ }
+ },
+ "specversion": "1.0",
+ "operationId": "ModelDeployedEventName",
+ "title": "ModelDeployed"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/model_registered.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/model_registered.json
new file mode 100644
index 0000000000000..b5304d632c959
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/model_registered.json
@@ -0,0 +1,21 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-name}",
+ "subject": "models/sklearn_regression_model:20",
+ "type": "Microsoft.MachineLearningServices.ModelRegistered",
+ "time": "2017-06-26T18:41:00.9584103Z",
+ "id": "831e1650-001e-001b-66ab-eeb76e069631",
+ "data": {
+ "ModelName": "sklearn_regression_model",
+ "ModelVersion": 20,
+ "ModelTags": {
+ "area": "diabetes",
+ "type": "regression"
+ },
+ "ModelProperties": {
+ "type": "test"
+ }
+ },
+ "specversion": "1.0",
+ "operationId": "ModelRegisteredEventName",
+ "title": "ModelRegistered"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/new_kubernetes_version_available.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/new_kubernetes_version_available.json
new file mode 100644
index 0000000000000..e6ad56a9c30dd
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/new_kubernetes_version_available.json
@@ -0,0 +1,16 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.ContainerService/managedClusters/{cluster}",
+ "subject": "{cluster}",
+ "type": "Microsoft.ContainerService.NewKubernetesVersionAvailable",
+ "time": "2021-07-01T04:52:57.0000000Z",
+ "id": "1234567890abcdef1234567890abcdef12345678",
+ "data": {
+ "latestSupportedKubernetesVersion": "1.20.7",
+ "latestStableKubernetesVersion": "1.19.11",
+ "lowestMinorKubernetesVersion": "1.18.19",
+ "latestPreviewKubernetesVersion": "1.21.1"
+ },
+ "specversion": "1.0",
+ "operationId": "NewKubernetesVersionAvailableEventName",
+ "title": "NewKubernetesVersionAvailable"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/node_pool_rolling_failed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/node_pool_rolling_failed.json
new file mode 100644
index 0000000000000..ac6019f4d081a
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/node_pool_rolling_failed.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.ContainerService/managedClusters/{cluster}",
+ "subject": "{cluster}",
+ "type": "Microsoft.ContainerService.NodePoolRollingFailed",
+ "time": "2023-03-29T18:00:00.0000000Z",
+ "id": "1234567890abcdef1234567890abcdef12345678",
+ "data": {
+ "nodePoolName": "nodepool1"
+ },
+ "specversion": "1.0",
+ "operationId": "NodePoolRollingFailedEventName",
+ "title": "NodePoolRollingFailed"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/node_pool_rolling_started.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/node_pool_rolling_started.json
new file mode 100644
index 0000000000000..d431d547baf0c
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/node_pool_rolling_started.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.ContainerService/managedClusters/{cluster}",
+ "subject": "{cluster}",
+ "type": "Microsoft.ContainerService.NodePoolRollingStarted",
+ "time": "2023-03-29T18:00:00.0000000Z",
+ "id": "1234567890abcdef1234567890abcdef12345678",
+ "data": {
+ "nodePoolName": "nodepool1"
+ },
+ "specversion": "1.0",
+ "operationId": "NodePoolRollingStartedEventName",
+ "title": "NodePoolRollingStarted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/node_pool_rolling_succeeded.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/node_pool_rolling_succeeded.json
new file mode 100644
index 0000000000000..c996b132e7f73
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/node_pool_rolling_succeeded.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.ContainerService/managedClusters/{cluster}",
+ "subject": "{cluster}",
+ "type": "Microsoft.ContainerService.NodePoolRollingSucceeded",
+ "time": "2023-03-29T18:00:00.0000000Z",
+ "id": "1234567890abcdef1234567890abcdef12345678",
+ "data": {
+ "nodePoolName": "nodepool1"
+ },
+ "specversion": "1.0",
+ "operationId": "NodePoolRollingSucceededEventName",
+ "title": "NodePoolRollingSucceeded"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/order_completed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/order_completed.json
new file mode 100644
index 0000000000000..1d1ae403a15ca
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/order_completed.json
@@ -0,0 +1,15 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.DataBox/jobs/{your-resource}",
+ "subject": "/jobs/{your-resource}",
+ "type": "Microsoft.DataBox.OrderCompleted",
+ "time": "2022-10-16T02:51:26.4248221Z",
+ "id": "5eb07c79-39a8-439c-bb4b-bde1f6267c37",
+ "data": {
+ "serialNumber": "SampleSerialNumber",
+ "stageName": "OrderCompleted",
+ "stageTime": "2022-10-12T19:38:08.0218897Z"
+ },
+ "specVersion": "1.0",
+ "operationId": "OrderCompletedEventName",
+ "title": "OrderCompleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/patching_completed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/patching_completed.json
new file mode 100644
index 0000000000000..1c5adbcd4023f
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/patching_completed.json
@@ -0,0 +1,15 @@
+{
+ "source": "/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Cache/Redis/{cache_name}",
+ "subject": "PatchingCompleted",
+ "type": "Microsoft.Cache.PatchingCompleted",
+ "time": "2020-12-09T13:50:19.9995668-08:00",
+ "id": "9b87886d-21a5-4af5-8e3e-10c4b8dac73b",
+ "data": {
+ "name": "PatchingCompleted",
+ "timestamp": "2020-12-09T13:50:19.9995668-08:00",
+ "status": "Succeeded"
+ },
+ "specversion": "1.0",
+ "operationId": "PatchingCompletedEventName",
+ "title": "PatchingCompleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/policy_state_changed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/policy_state_changed.json
new file mode 100644
index 0000000000000..2a0d19b5c64e3
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/policy_state_changed.json
@@ -0,0 +1,19 @@
+{
+ "source": "/subscriptions/{subscription-id}",
+ "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/{provider-namespace}/{resource-type}/{resource-name}",
+ "type": "Microsoft.PolicyInsights.PolicyStateChanged",
+ "time": "2021-03-27T18:37:42.5241536Z",
+ "id": "5829794FCB5075FCF585476619577B5A5A30E52C84842CBD4E2AD73996714C4C",
+ "data": {
+ "timestamp": "2021-03-27T18:37:42.4496956Z",
+ "policyAssignmentId": "{policy-assignment-scope}/providers/microsoft.authorization/policyassignments/{policy-assignment-name}",
+ "policyDefinitionId": "{policy-definition-scope}/providers/microsoft.authorization/policydefinitions/{policy-definition-name}",
+ "policyDefinitionReferenceId": "",
+ "complianceState": "NonCompliant",
+ "subscriptionId": "{subscription-id}",
+ "complianceReasonCode": ""
+ },
+ "specversion": "1.0",
+ "operationId": "PolicyStateChangedEventName",
+ "title": "PolicyStateChanged"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/policy_state_created.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/policy_state_created.json
new file mode 100644
index 0000000000000..eb01cd2e5e9a7
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/policy_state_created.json
@@ -0,0 +1,19 @@
+{
+ "source": "/subscriptions/{subscription-id}",
+ "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/{provider-namespace}/{resource-type}/{resource-name}",
+ "type": "Microsoft.PolicyInsights.PolicyStateCreated",
+ "time": "2021-03-27T18:37:42.5241536Z",
+ "id": "5829794FCB5075FCF585476619577B5A5A30E52C84842CBD4E2AD73996714C4C",
+ "data": {
+ "timestamp": "2021-03-27T18:37:42.4496956Z",
+ "policyAssignmentId": "{policy-assignment-scope}/providers/microsoft.authorization/policyassignments/{policy-assignment-name}",
+ "policyDefinitionId": "{policy-definition-scope}/providers/microsoft.authorization/policydefinitions/{policy-definition-name}",
+ "policyDefinitionReferenceId": "",
+ "complianceState": "NonCompliant",
+ "subscriptionId": "{subscription-id}",
+ "complianceReasonCode": ""
+ },
+ "specversion": "1.0",
+ "operationId": "PolicyStateCreatedEventName",
+ "title": "PolicyStateCreated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/privatecloud_updating.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/privatecloud_updating.json
new file mode 100644
index 0000000000000..3ce4d1955d735
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/privatecloud_updating.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.AVS/privateClouds/{sddc_name}",
+ "subject": "",
+ "type": "Microsoft.AVS.PrivateCloudUpdating",
+ "time": "2023-12-09T16:50:19.9995668-05:00",
+ "id": "9b87886d-21a5-4af5-8e3e-10c4b8dac73b",
+ "data": {
+ "operationId": "6dcd7db8-0679-40d9-bb8a-6f2a684395e2"
+ },
+ "specVersion": "1.0",
+ "operationId": "PrivateCloudUpdatingEventName",
+ "title": "PrivateCloudUpdating"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/productCreated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/productCreated.json
new file mode 100644
index 0000000000000..661741d0f8d71
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/productCreated.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/products/myproduct",
+ "type": "Microsoft.ApiManagement.ProductCreated",
+ "time": "2021-07-02T00:47:47.8536532Z",
+ "id": "92c502f2-a966-42a7-a428-d3b319844544",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/products/myproduct"
+ },
+ "specversion": "1.0",
+ "operationId": "ProductCreatedEventName",
+ "title": "ProductCreated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/productDeleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/productDeleted.json
new file mode 100644
index 0000000000000..b7effe511a06b
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/productDeleted.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/products/myproduct",
+ "type": "Microsoft.ApiManagement.ProductDeleted",
+ "time": "2021-07-02T00:47:47.8536532Z",
+ "id": "92c502f2-a966-42a7-a428-d3b319844544",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/products/myproduct"
+ },
+ "specversion": "1.0",
+ "operationId": "ProductDeletedEventName",
+ "title": "ProductDeleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/productUpdated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/productUpdated.json
new file mode 100644
index 0000000000000..fc2e409923fa6
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/productUpdated.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/products/myproduct",
+ "type": "Microsoft.ApiManagement.ProductUpdated",
+ "time": "2021-07-02T00:47:47.8536532Z",
+ "id": "92c502f2-a966-42a7-a428-d3b319844544",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/products/myproduct"
+ },
+ "specversion": "1.0",
+ "operationId": "ProductUpdatedEventName",
+ "title": "ProductUpdated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/recording_file_status_updated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/recording_file_status_updated.json
new file mode 100644
index 0000000000000..a37721664ed03
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/recording_file_status_updated.json
@@ -0,0 +1,30 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourcegroups/}{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "/recording/call/{call-id}/recordingId/{recording-id}",
+ "type": "Microsoft.Communication.RecordingFileStatusUpdated",
+ "time": "2021-07-27T15:20:34.2199328Z",
+ "id": "7283825e-f8f1-4c61-a9ea-752c56890500",
+ "data": {
+ "recordingStorageInfo": {
+ "recordingChunks": [
+ {
+ "documentId": "0-eus-d12-801b3f3fc462fe8a01e6810cbff729b8",
+ "index": 0,
+ "endReason": "SessionEnded",
+ "contentLocation": "https://storage.asm.skype.com/v1/objects/0-eus-d12-801b3f3fc462fe8a01e6810cbff729b8/content/video",
+ "metadataLocation": "https://storage.asm.skype.com/v1/objects/0-eus-d12-801b3f3fc462fe8a01e6810cbff729b8/content/acsmetadata",
+ "deleteLocation": "https://storage.asm.skype.com/v1/objects/0-eus-d12-801b3f3fc462fe8a01e6810cbff729b8/content/deletedata"
+ }
+ ]
+ },
+ "recordingStartTime": "2021-07-27T15:20:23.6089755Z",
+ "recordingDurationMs": 6620,
+ "sessionEndReason": "CallEnded",
+ "recordingContentType": "Audio",
+ "recordingChannelType": "Mixed",
+ "recordingFormatType": "Mp3"
+ },
+ "specversion": "1.0",
+ "operationId": "RecordingFileStatusUpdatedEventName",
+ "title": "RecordingFileStatusUpdated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_action_cancel.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_action_cancel.json
new file mode 100644
index 0000000000000..b5d7471041c2d
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_action_cancel.json
@@ -0,0 +1,53 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}",
+ "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
+ "type": "Microsoft.Resources.ResourceActionCancel",
+ "time": "2018-10-08T22:46:22.6022559Z",
+ "id": "{ID}",
+ "data": {
+ "authorization": {
+ "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
+ "action": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action",
+ "evidence": {
+ "role": "Contributor",
+ "roleAssignmentScope": "/subscriptions/{subscription-id}",
+ "roleAssignmentId": "{ID}",
+ "roleDefinitionId": "{ID}",
+ "principalId": "{ID}",
+ "principalType": "ServicePrincipal"
+ }
+ },
+ "claims": {
+ "aud": "{audience-claim}",
+ "iss": "{issuer-claim}",
+ "iat": "{issued-at-claim}",
+ "nbf": "{not-before-claim}",
+ "exp": "{expiration-claim}",
+ "aio": "{token}",
+ "appid": "{ID}",
+ "appidacr": "2",
+ "http://schemas.microsoft.com/identity/claims/identityprovider": "{URL}",
+ "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
+ "uti": "{ID}",
+ "ver": "1.0"
+ },
+ "correlationId": "{ID}",
+ "httpRequest": {
+ "clientRequestId": "{ID}",
+ "clientIpAddress": "{IP-address}",
+ "method": "POST",
+ "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey/listKeys?api-version=2017-04-01"
+ },
+ "resourceProvider": "Microsoft.EventHub",
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
+ "operationName": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action",
+ "status": "Succeeded",
+ "subscriptionId": "{subscription-id}",
+ "tenantId": "{tenant-id}"
+ },
+ "specversion": "1.0",
+ "operationId": "ResourceActionCancelEventName",
+ "title": "ResourceActionCancel"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_action_failure.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_action_failure.json
new file mode 100644
index 0000000000000..b95a170941f2c
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_action_failure.json
@@ -0,0 +1,53 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}",
+ "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
+ "type": "Microsoft.Resources.ResourceActionFailure",
+ "time": "2018-10-08T22:46:22.6022559Z",
+ "id": "{ID}",
+ "data": {
+ "authorization": {
+ "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
+ "action": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action",
+ "evidence": {
+ "role": "Contributor",
+ "roleAssignmentScope": "/subscriptions/{subscription-id}",
+ "roleAssignmentId": "{ID}",
+ "roleDefinitionId": "{ID}",
+ "principalId": "{ID}",
+ "principalType": "ServicePrincipal"
+ }
+ },
+ "claims": {
+ "aud": "{audience-claim}",
+ "iss": "{issuer-claim}",
+ "iat": "{issued-at-claim}",
+ "nbf": "{not-before-claim}",
+ "exp": "{expiration-claim}",
+ "aio": "{token}",
+ "appid": "{ID}",
+ "appidacr": "2",
+ "http://schemas.microsoft.com/identity/claims/identityprovider": "{URL}",
+ "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
+ "uti": "{ID}",
+ "ver": "1.0"
+ },
+ "correlationId": "{ID}",
+ "httpRequest": {
+ "clientRequestId": "{ID}",
+ "clientIpAddress": "{IP-address}",
+ "method": "POST",
+ "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey/listKeys?api-version=2017-04-01"
+ },
+ "resourceProvider": "Microsoft.EventHub",
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
+ "operationName": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action",
+ "status": "Succeeded",
+ "subscriptionId": "{subscription-id}",
+ "tenantId": "{tenant-id}"
+ },
+ "specversion": "1.0",
+ "operationId": "ResourceActionFailureEventName",
+ "title": "ResourceActionFailure"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_action_success.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_action_success.json
new file mode 100644
index 0000000000000..ac29d4e24eccc
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_action_success.json
@@ -0,0 +1,53 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}",
+ "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
+ "type": "Microsoft.Resources.ResourceActionSuccess",
+ "time": "2018-10-08T22:46:22.6022559Z",
+ "id": "{ID}",
+ "data": {
+ "authorization": {
+ "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
+ "action": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action",
+ "evidence": {
+ "role": "Contributor",
+ "roleAssignmentScope": "/subscriptions/{subscription-id}",
+ "roleAssignmentId": "{ID}",
+ "roleDefinitionId": "{ID}",
+ "principalId": "{ID}",
+ "principalType": "ServicePrincipal"
+ }
+ },
+ "claims": {
+ "aud": "{audience-claim}",
+ "iss": "{issuer-claim}",
+ "iat": "{issued-at-claim}",
+ "nbf": "{not-before-claim}",
+ "exp": "{expiration-claim}",
+ "aio": "{token}",
+ "appid": "{ID}",
+ "appidacr": "2",
+ "http://schemas.microsoft.com/identity/claims/identityprovider": "{URL}",
+ "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
+ "uti": "{ID}",
+ "ver": "1.0"
+ },
+ "correlationId": "{ID}",
+ "httpRequest": {
+ "clientRequestId": "{ID}",
+ "clientIpAddress": "{IP-address}",
+ "method": "POST",
+ "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey/listKeys?api-version=2017-04-01"
+ },
+ "resourceProvider": "Microsoft.EventHub",
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
+ "operationName": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action",
+ "status": "Succeeded",
+ "subscriptionId": "{subscription-id}",
+ "tenantId": "{tenant-id}"
+ },
+ "specversion": "1.0",
+ "operationId": "ResourceActionSuccessEventName",
+ "title": "ResourceActionSuccess"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_delete_cancel.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_delete_cancel.json
new file mode 100644
index 0000000000000..beddce02b92ad
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_delete_cancel.json
@@ -0,0 +1,62 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}",
+ "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "type": "Microsoft.Resources.ResourceDeleteCancel",
+ "time": "2018-07-19T19:24:12.7638810Z",
+ "id": "19a69642-1aad-4a96-a5ab-8d05494513ce",
+ "data": {
+ "authorization": {
+ "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "action": "Microsoft.Storage/storageAccounts/delete",
+ "evidence": {
+ "role": "Subscription Admin"
+ }
+ },
+ "claims": {
+ "aud": "{audience-claim}",
+ "iss": "{issuer-claim}",
+ "iat": "{issued-at-claim}",
+ "nbf": "{not-before-claim}",
+ "exp": "{expiration-claim}",
+ "_claim_names": "{\"groups\":\"src1\"}",
+ "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}",
+ "http://schemas.microsoft.com/claims/authnclassreference": "1",
+ "aio": "{token}",
+ "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa",
+ "appid": "{ID}",
+ "appidacr": "2",
+ "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}",
+ "e_exp": "262800",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}",
+ "ipaddr": "{IP-address}",
+ "name": "{full-name}",
+ "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
+ "onprem_sid": "{ID}",
+ "puid": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}",
+ "uti": "{ID}",
+ "ver": "1.0"
+ },
+ "correlationId": "{ID}",
+ "httpRequest": {
+ "clientRequestId": "{ID}",
+ "clientIpAddress": "{IP-address}",
+ "method": "DELETE",
+ "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}?api-version=2018-02-01"
+ },
+ "resourceProvider": "Microsoft.Storage",
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "operationName": "Microsoft.Storage/storageAccounts/delete",
+ "status": "Succeeded",
+ "subscriptionId": "{subscription-id}",
+ "tenantId": "{tenant-id}"
+ },
+ "specversion": "1.0",
+ "operationId": "ResourceDeleteCancelEventName",
+ "title": "ResourceDeleteCancel"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_delete_failure.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_delete_failure.json
new file mode 100644
index 0000000000000..c5aeb788f2ef9
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_delete_failure.json
@@ -0,0 +1,62 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}",
+ "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "type": "Microsoft.Resources.ResourceDeleteFailure",
+ "time": "2018-07-19T19:24:12.7638810Z",
+ "id": "19a69642-1aad-4a96-a5ab-8d05494513ce",
+ "data": {
+ "authorization": {
+ "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "action": "Microsoft.Storage/storageAccounts/delete",
+ "evidence": {
+ "role": "Subscription Admin"
+ }
+ },
+ "claims": {
+ "aud": "{audience-claim}",
+ "iss": "{issuer-claim}",
+ "iat": "{issued-at-claim}",
+ "nbf": "{not-before-claim}",
+ "exp": "{expiration-claim}",
+ "_claim_names": "{\"groups\":\"src1\"}",
+ "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}",
+ "http://schemas.microsoft.com/claims/authnclassreference": "1",
+ "aio": "{token}",
+ "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa",
+ "appid": "{ID}",
+ "appidacr": "2",
+ "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}",
+ "e_exp": "262800",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}",
+ "ipaddr": "{IP-address}",
+ "name": "{full-name}",
+ "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
+ "onprem_sid": "{ID}",
+ "puid": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}",
+ "uti": "{ID}",
+ "ver": "1.0"
+ },
+ "correlationId": "{ID}",
+ "httpRequest": {
+ "clientRequestId": "{ID}",
+ "clientIpAddress": "{IP-address}",
+ "method": "DELETE",
+ "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}?api-version=2018-02-01"
+ },
+ "resourceProvider": "Microsoft.Storage",
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "operationName": "Microsoft.Storage/storageAccounts/delete",
+ "status": "Succeeded",
+ "subscriptionId": "{subscription-id}",
+ "tenantId": "{tenant-id}"
+ },
+ "specversion": "1.0",
+ "operationId": "ResourceDeleteFailureEventName",
+ "title": "ResourceDeleteFailure"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_delete_success.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_delete_success.json
new file mode 100644
index 0000000000000..8c04aaee1f61a
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_delete_success.json
@@ -0,0 +1,62 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}",
+ "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "type": "Microsoft.Resources.ResourceDeleteSuccess",
+ "time": "2018-07-19T19:24:12.7638810Z",
+ "id": "19a69642-1aad-4a96-a5ab-8d05494513ce",
+ "data": {
+ "authorization": {
+ "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "action": "Microsoft.Storage/storageAccounts/delete",
+ "evidence": {
+ "role": "Subscription Admin"
+ }
+ },
+ "claims": {
+ "aud": "{audience-claim}",
+ "iss": "{issuer-claim}",
+ "iat": "{issued-at-claim}",
+ "nbf": "{not-before-claim}",
+ "exp": "{expiration-claim}",
+ "_claim_names": "{\"groups\":\"src1\"}",
+ "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}",
+ "http://schemas.microsoft.com/claims/authnclassreference": "1",
+ "aio": "{token}",
+ "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa",
+ "appid": "{ID}",
+ "appidacr": "2",
+ "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}",
+ "e_exp": "262800",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}",
+ "ipaddr": "{IP-address}",
+ "name": "{full-name}",
+ "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
+ "onprem_sid": "{ID}",
+ "puid": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}",
+ "uti": "{ID}",
+ "ver": "1.0"
+ },
+ "correlationId": "{ID}",
+ "httpRequest": {
+ "clientRequestId": "{ID}",
+ "clientIpAddress": "{IP-address}",
+ "method": "DELETE",
+ "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}?api-version=2018-02-01"
+ },
+ "resourceProvider": "Microsoft.Storage",
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "operationName": "Microsoft.Storage/storageAccounts/delete",
+ "status": "Succeeded",
+ "subscriptionId": "{subscription-id}",
+ "tenantId": "{tenant-id}"
+ },
+ "specversion": "1.0",
+ "operationId": "ResourceDeleteSuccessEventName",
+ "title": "ResourceDeleteSuccess"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_write_cancel.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_write_cancel.json
new file mode 100644
index 0000000000000..c12b1f3a7d988
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_write_cancel.json
@@ -0,0 +1,56 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}",
+ "subject": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "type": "Microsoft.Resources.ResourceWriteCancel",
+ "time": "2018-07-19T18:38:04.6117357Z",
+ "id": "4db48cba-50a2-455a-93b4-de41a3b5b7f6",
+ "data": {
+ "authorization": {
+ "scope": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "action": "Microsoft.Storage/storageAccounts/write",
+ "evidence": {
+ "role": "Subscription Admin"
+ }
+ },
+ "claims": {
+ "aud": "{audience-claim}",
+ "iss": "{issuer-claim}",
+ "iat": "{issued-at-claim}",
+ "nbf": "{not-before-claim}",
+ "exp": "{expiration-claim}",
+ "_claim_names": "{\"groups\":\"src1\"}",
+ "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}",
+ "http://schemas.microsoft.com/claims/authnclassreference": "1",
+ "aio": "{token}",
+ "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa",
+ "appid": "{ID}",
+ "appidacr": "2",
+ "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}",
+ "e_exp": "{expiration}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}",
+ "ipaddr": "{IP-address}",
+ "name": "{full-name}",
+ "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
+ "onprem_sid": "{ID}",
+ "puid": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}",
+ "uti": "{ID}",
+ "ver": "1.0"
+ },
+ "correlationId": "{ID}",
+ "resourceProvider": "Microsoft.Storage",
+ "resourceUri": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "operationName": "Microsoft.Storage/storageAccounts/write",
+ "status": "Succeeded",
+ "subscriptionId": "{subscription-id}",
+ "tenantId": "{tenant-id}"
+ },
+ "specversion": "1.0",
+ "operationId": "ResourceWriteCancelEventName",
+ "title": "ResourceWriteCancel"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_write_failure.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_write_failure.json
new file mode 100644
index 0000000000000..66b05899e504f
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_write_failure.json
@@ -0,0 +1,56 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}",
+ "subject": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "type": "Microsoft.Resources.ResourceWriteFailure",
+ "time": "2018-07-19T18:38:04.6117357Z",
+ "id": "4db48cba-50a2-455a-93b4-de41a3b5b7f6",
+ "data": {
+ "authorization": {
+ "scope": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "action": "Microsoft.Storage/storageAccounts/write",
+ "evidence": {
+ "role": "Subscription Admin"
+ }
+ },
+ "claims": {
+ "aud": "{audience-claim}",
+ "iss": "{issuer-claim}",
+ "iat": "{issued-at-claim}",
+ "nbf": "{not-before-claim}",
+ "exp": "{expiration-claim}",
+ "_claim_names": "{\"groups\":\"src1\"}",
+ "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}",
+ "http://schemas.microsoft.com/claims/authnclassreference": "1",
+ "aio": "{token}",
+ "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa",
+ "appid": "{ID}",
+ "appidacr": "2",
+ "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}",
+ "e_exp": "{expiration}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}",
+ "ipaddr": "{IP-address}",
+ "name": "{full-name}",
+ "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
+ "onprem_sid": "{ID}",
+ "puid": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}",
+ "uti": "{ID}",
+ "ver": "1.0"
+ },
+ "correlationId": "{ID}",
+ "resourceProvider": "Microsoft.Storage",
+ "resourceUri": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "operationName": "Microsoft.Storage/storageAccounts/write",
+ "status": "Succeeded",
+ "subscriptionId": "{subscription-id}",
+ "tenantId": "{tenant-id}"
+ },
+ "specversion": "1.0",
+ "operationId": "ResourceWriteFailureEventName",
+ "title": "ResourceWriteFailure"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_write_success.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_write_success.json
new file mode 100644
index 0000000000000..5ecbe61f96b92
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/resource_write_success.json
@@ -0,0 +1,56 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}",
+ "subject": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "type": "Microsoft.Resources.ResourceWriteSuccess",
+ "time": "2018-07-19T18:38:04.6117357Z",
+ "id": "4db48cba-50a2-455a-93b4-de41a3b5b7f6",
+ "data": {
+ "authorization": {
+ "scope": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "action": "Microsoft.Storage/storageAccounts/write",
+ "evidence": {
+ "role": "Subscription Admin"
+ }
+ },
+ "claims": {
+ "aud": "{audience-claim}",
+ "iss": "{issuer-claim}",
+ "iat": "{issued-at-claim}",
+ "nbf": "{not-before-claim}",
+ "exp": "{expiration-claim}",
+ "_claim_names": "{\"groups\":\"src1\"}",
+ "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}",
+ "http://schemas.microsoft.com/claims/authnclassreference": "1",
+ "aio": "{token}",
+ "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa",
+ "appid": "{ID}",
+ "appidacr": "2",
+ "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}",
+ "e_exp": "{expiration}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}",
+ "ipaddr": "{IP-address}",
+ "name": "{full-name}",
+ "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
+ "onprem_sid": "{ID}",
+ "puid": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}",
+ "uti": "{ID}",
+ "ver": "1.0"
+ },
+ "correlationId": "{ID}",
+ "resourceProvider": "Microsoft.Storage",
+ "resourceUri": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "operationName": "Microsoft.Storage/storageAccounts/write",
+ "status": "Succeeded",
+ "subscriptionId": "{subscription-id}",
+ "tenantId": "{tenant-id}"
+ },
+ "specversion": "1.0",
+ "operationId": "ResourceWriteSuccessEventName",
+ "title": "ResourceWriteSuccess"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/restore_operation_completed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/restore_operation_completed.json
new file mode 100644
index 0000000000000..980acdf79875b
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/restore_operation_completed.json
@@ -0,0 +1,21 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "type": "Microsoft.Web.RestoreOperationCompleted",
+ "time": "2020-01-28T18:26:51.7194887Z",
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "data": {
+ "appEventTypeDetail": {
+ "action": "Started"
+ },
+ "name": "{site-name}",
+ "clientRequestId": "None",
+ "correlationRequestId": "None",
+ "requestId": "292f499d-04ee-4066-994d-c2df57b99198",
+ "address": "None",
+ "verb": "POST"
+ },
+ "specversion": "1.0",
+ "operationId": "RestoreOperationCompletedEventName",
+ "title": "RestoreOperationCompleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/restore_operation_failed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/restore_operation_failed.json
new file mode 100644
index 0000000000000..e01074905f503
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/restore_operation_failed.json
@@ -0,0 +1,21 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "type": "Microsoft.Web.RestoreOperationFailed",
+ "time": "2020-01-28T18:26:51.7194887Z",
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "data": {
+ "appEventTypeDetail": {
+ "action": "Started"
+ },
+ "name": "{site-name}",
+ "clientRequestId": "None",
+ "correlationRequestId": "None",
+ "requestId": "292f499d-04ee-4066-994d-c2df57b99198",
+ "address": "None",
+ "verb": "POST"
+ },
+ "specversion": "1.0",
+ "operationId": "RestoreOperationFailedEventName",
+ "title": "RestoreOperationFailed"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/restore_operation_started.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/restore_operation_started.json
new file mode 100644
index 0000000000000..429ad94c741b1
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/restore_operation_started.json
@@ -0,0 +1,21 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "type": "Microsoft.Web.RestoreOperationStarted",
+ "time": "2020-01-28T18:26:51.7194887Z",
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "data": {
+ "appEventTypeDetail": {
+ "action": "Started"
+ },
+ "name": "{site-name}",
+ "clientRequestId": "None",
+ "correlationRequestId": "None",
+ "requestId": "292f499d-04ee-4066-994d-c2df57b99198",
+ "address": "None",
+ "verb": "POST"
+ },
+ "specversion": "1.0",
+ "operationId": "RestoreOperationStartedEventName",
+ "title": "RestoreOperationStarted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_cancelled.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_cancelled.json
new file mode 100644
index 0000000000000..93b14c8b32071
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_cancelled.json
@@ -0,0 +1,28 @@
+{
+ "id": "b6d8687a-5a1a-42ae-b8b5-ff7ec338c872",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "job/{job-id}/channel/{channel-id}/disposition/{disposition-code}",
+ "data": {
+ "note": "Cancelled due to ",
+ "dispositionCode": "100",
+ "jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
+ "channelReference": "test-abc",
+ "channelId": "FooVoiceChannelId",
+ "labels": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "tags": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "queueId": ""
+ },
+ "type": "Microsoft.Communication.RouterJobCancelled",
+ "specVersion": "1.0",
+ "time": "2022-02-17T00:55:25.1736293Z",
+ "operationId": "RouterJobCancelledEventName",
+ "title": "RouterJobCancelled"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_classification_failed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_classification_failed.json
new file mode 100644
index 0000000000000..86ad7627c4cfd
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_classification_failed.json
@@ -0,0 +1,35 @@
+{
+ "id": "b6d8687a-5a1a-42ae-b8b5-ff7ec338c872",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "job/{job-id}/channel/{channel-id}/classificationpolicy/{classificationpolicy-id}",
+ "data": {
+ "errors": [
+ {
+ "code": null,
+ "message": "Classification failed due to ",
+ "target": null,
+ "innererror": null,
+ "details": null
+ }
+ ],
+ "jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
+ "channelReference": "test-abc",
+ "channelId": "FooVoiceChannelId",
+ "classificationPolicyId": "test-policy",
+ "labels": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "tags": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ }
+ },
+ "type": "Microsoft.Communication.RouterJobClassificationFailed",
+ "specVersion": "1.0",
+ "time": "2022-02-17T00:55:25.1736293Z",
+ "operationId": "RouterJobClassificationFailedEventName",
+ "title": "RouterJobClassificationFailed"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_classified.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_classified.json
new file mode 100644
index 0000000000000..d4cb0076a8ead
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_classified.json
@@ -0,0 +1,45 @@
+{
+ "id": "b6d8687a-5a1a-42ae-b8b5-ff7ec338c872",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "job/{job-id}/channel/{channel-id}/queue/{queue-id}",
+ "data": {
+ "queueDetails": {
+ "id": "625fec06-ab81-4e60-b780-f364ed96ade1",
+ "name": "Queue 1",
+ "labels": {
+ "Language": "en",
+ "Product": "Office",
+ "Geo": "NA"
+ }
+ },
+ "jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
+ "channelReference": "test-abc",
+ "channelId": "FooVoiceChannelId",
+ "classificationPolicyId": "test-policy",
+ "queueId": "625fec06-ab81-4e60-b780-f364ed96ade1",
+ "priority": 5,
+ "labels": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "tags": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "attachedWorkerSelectors": [
+ {
+ "key": "string",
+ "labelOperator": "equal",
+ "value": 5,
+ "ttlSeconds": "36"
+ }
+ ]
+ },
+ "type": "Microsoft.Communication.RouterJobClassified",
+ "specVersion": "1.0",
+ "time": "2022-02-17T00:55:25.1736293Z",
+ "operationId": "RouterJobClassifiedEventName",
+ "title": "RouterJobClassified"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_closed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_closed.json
new file mode 100644
index 0000000000000..13d2847c84203
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_closed.json
@@ -0,0 +1,29 @@
+{
+ "id": "b6d8687a-5a1a-42ae-b8b5-ff7ec338c872",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "job/{job-id}/channel/{channel-id}/assignment/{assignment-id}",
+ "data": {
+ "jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
+ "channelReference": "test-abc",
+ "channelId": "FooVoiceChannelId",
+ "queueId": "",
+ "dispositionCode": "",
+ "workerId": "",
+ "assignmentId": "",
+ "labels": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "tags": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ }
+ },
+ "type": "Microsoft.Communication.RouterJobClosed",
+ "specVersion": "1.0",
+ "time": "2022-02-17T00:55:25.1736293Z",
+ "operationId": "RouterJobClosedEventName",
+ "title": "RouterJobClosed"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_completed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_completed.json
new file mode 100644
index 0000000000000..486dfcd80ab81
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_completed.json
@@ -0,0 +1,28 @@
+{
+ "id": "b6d8687a-5a1a-42ae-b8b5-ff7ec338c872",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "job/{job-id}/channel/{channel-id}/assignment/{assignment-id}",
+ "data": {
+ "jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
+ "channelReference": "test-abc",
+ "channelId": "FooVoiceChannelId",
+ "queueId": "queue-id",
+ "assignmentId": "6f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
+ "labels": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "tags": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "workerId": ""
+ },
+ "type": "Microsoft.Communication.RouterJobCompleted",
+ "specVersion": "1.0",
+ "time": "2022-02-17T00:55:25.1736293Z",
+ "operationId": "RouterJobCompletedEventName",
+ "title": "RouterJobCompleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_deleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_deleted.json
new file mode 100644
index 0000000000000..ac06929c5d2c5
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_deleted.json
@@ -0,0 +1,26 @@
+{
+ "id": "acdf8fa5-8ab4-4a65-874a-c1d2a4a97f2e",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "job/{job-id}/channel/{channel-id}",
+ "data": {
+ "jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
+ "channelReference": "test-abc",
+ "channelId": "FooVoiceChannelId",
+ "labels": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "tags": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "queueId": ""
+ },
+ "type": "Microsoft.Communication.RouterJobDeleted",
+ "specVersion": "1.0",
+ "time": "2022-02-17T00:55:25.1736293Z",
+ "operationId": "RouterJobDeletedEventName",
+ "title": "RouterJobDeleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_exception_triggered.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_exception_triggered.json
new file mode 100644
index 0000000000000..01ae25094c59f
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_exception_triggered.json
@@ -0,0 +1,27 @@
+{
+ "id": "1027db4a-17fe-4a7f-ae67-276c3120a29f",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "job/{job-id}/channel/{channel-id}/exceptionrule/{rulekey}",
+ "data": {
+ "ruleKey": "r100",
+ "exceptionRuleId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
+ "jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
+ "channelReference": "test-abc",
+ "channelId": "FooVoiceChannelId",
+ "labels": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "tags": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ }
+ },
+ "type": "Microsoft.Communication.RouterJobExceptionTriggered",
+ "specVersion": "1.0",
+ "time": "2022-02-17T00:55:25.1736293Z",
+ "operationId": "RouterJobExceptionTriggeredEventName",
+ "title": "RouterJobExceptionTriggered"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_queued.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_queued.json
new file mode 100644
index 0000000000000..80737e723e135
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_queued.json
@@ -0,0 +1,43 @@
+{
+ "id": "b6d8687a-5a1a-42ae-b8b5-ff7ec338c872",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "job/{job-id}/channel/{channel-id}/queue/{queue-id}",
+ "data": {
+ "jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
+ "channelReference": "test-abc",
+ "channelId": "FooVoiceChannelId",
+ "queueId": "625fec06-ab81-4e60-b780-f364ed96ade1",
+ "priority": 1,
+ "labels": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "tags": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "requestedWorkerSelectors": [
+ {
+ "key": "string",
+ "labelOperator": "equal",
+ "value": 5,
+ "ttl": "40"
+ }
+ ],
+ "attachedWorkerSelectors": [
+ {
+ "key": "string",
+ "labelOperator": "equal",
+ "value": 5,
+ "ttlSeconds": "39"
+ }
+ ]
+ },
+ "type": "Microsoft.Communication.RouterJobQueued",
+ "specVersion": "1.0",
+ "time": "2022-02-17T00:55:25.1736293Z",
+ "operationId": "RouterJobQueuedEventName",
+ "title": "RouterJobQueued"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_received.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_received.json
new file mode 100644
index 0000000000000..08f10751508fa
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_received.json
@@ -0,0 +1,39 @@
+{
+ "id": "acdf8fa5-8ab4-4a65-874a-c1d2a4a97f2e",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "job/{job-id}/channel/{channel-id}",
+ "data": {
+ "jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
+ "channelReference": "test-abc",
+ "jobStatus": "PendingClassification",
+ "channelId": "FooVoiceChannelId",
+ "classificationPolicyId": "test-policy",
+ "queueId": "queue-id",
+ "priority": 0,
+ "labels": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "tags": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "requestedWorkerSelectors": [
+ {
+ "key": "string",
+ "labelOperator": "equal",
+ "value": 5,
+ "ttlSeconds": "36"
+ }
+ ],
+ "scheduledOn": "3/28/2007 7:13:50 PM +00:00",
+ "unavailableForMatching": false
+ },
+ "type": "Microsoft.Communication.RouterJobReceived",
+ "specVersion": "1.0",
+ "time": "2022-02-17T00:55:25.1736293Z",
+ "operationId": "RouterJobReceivedEventName",
+ "title": "RouterJobReceived"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_scheduling_failed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_scheduling_failed.json
new file mode 100644
index 0000000000000..c44c5b5560531
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_scheduling_failed.json
@@ -0,0 +1,45 @@
+{
+ "id": "acdf8fa5-8ab4-4a65-874a-c1d2a4a97f2e",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "job/{job-id}/channel/{channel-id}",
+ "data": {
+ "jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
+ "channelId": "FooVoiceChannelId",
+ "channelReference": "test-abc",
+ "queueId": "queue-id",
+ "priority": 1,
+ "labels": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "tags": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "requestedWorkerSelectors": [
+ {
+ "key": "string",
+ "labelOperator": "equal",
+ "value": 5,
+ "ttlSeconds": "36"
+ }
+ ],
+ "attachedWorkerSelectors": [
+ {
+ "key": "string",
+ "labelOperator": "equal",
+ "value": 5,
+ "ttlSeconds": "30"
+ }
+ ],
+ "scheduledOn": "2022-02-17T00:55:25.1736293Z",
+ "failureReason": "Expired Job"
+ },
+ "type": "Microsoft.Communication.RouterJobSchedulingFailed",
+ "specVersion": "1.0",
+ "time": "2022-02-17T00:55:25.1736293Z",
+ "operationId": "RouterJobSchedulingFailedEventName",
+ "title": "RouterJobSchedulingFailed"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_unassigned.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_unassigned.json
new file mode 100644
index 0000000000000..4b383aed40fb1
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_unassigned.json
@@ -0,0 +1,28 @@
+{
+ "id": "acdf8fa5-8ab4-4a65-874a-c1d2a4a97f2e",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "job/{job-id}/channel/{channel-id}/assignment/{assignment-id}",
+ "data": {
+ "jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
+ "assignmentId": "",
+ "workerId": "",
+ "channelId": "FooVoiceChannelId",
+ "channelReference": "test-abc",
+ "queueId": "queue-id",
+ "labels": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "tags": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ }
+ },
+ "type": "Microsoft.Communication.RouterJobUnassigned",
+ "specVersion": "1.0",
+ "time": "2022-02-17T00:55:25.1736293Z",
+ "operationId": "RouterJobUnassignedEventName",
+ "title": "RouterJobUnassigned"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_waiting_for_activation.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_waiting_for_activation.json
new file mode 100644
index 0000000000000..f86ae7a78d935
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_waiting_for_activation.json
@@ -0,0 +1,45 @@
+{
+ "id": "acdf8fa5-8ab4-4a65-874a-c1d2a4a97f2e",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "job/{job-id}/channel/{channel-id}",
+ "data": {
+ "jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
+ "channelId": "FooVoiceChannelId",
+ "channelReference": "test-abc",
+ "queueId": "queue-id",
+ "priority": 1,
+ "labels": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "tags": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "requestedWorkerSelectors": [
+ {
+ "key": "string",
+ "labelOperator": "equal",
+ "value": 5,
+ "ttlSeconds": "45"
+ }
+ ],
+ "attachedWorkerSelectors": [
+ {
+ "key": "string",
+ "labelOperator": "equal",
+ "value": 5,
+ "ttlSeconds": "32"
+ }
+ ],
+ "scheduledOn": "2022-02-17T00:55:25.1736293Z",
+ "unavailableForMatching": false
+ },
+ "type": "Microsoft.Communication.RouterJobWaitingForActivation",
+ "specVersion": "1.0",
+ "time": "2022-02-17T00:55:25.1736293Z",
+ "operationId": "RouterJobWaitingForActivationEventName",
+ "title": "RouterJobWaitingForActivation"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_worker_selectors_expired.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_worker_selectors_expired.json
new file mode 100644
index 0000000000000..fe032e4a9ffd9
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_job_worker_selectors_expired.json
@@ -0,0 +1,42 @@
+{
+ "id": "b6d8687a-5a1a-42ae-b8b5-ff7ec338c872",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "job/{job-id}/channel/{channel-id}/queue/{queue-id}",
+ "data": {
+ "jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
+ "channelReference": "test-abc",
+ "channelId": "FooVoiceChannelId",
+ "queueId": "625fec06-ab81-4e60-b780-f364ed96ade1",
+ "labels": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "tags": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "expiredRequestedWorkerSelectors": [
+ {
+ "key": "string",
+ "labelOperator": "equal",
+ "value": 5,
+ "ttlSeconds": "30"
+ }
+ ],
+ "attachedWorkerSelectorsExpired": [
+ {
+ "key": "string",
+ "labelOperator": "equal",
+ "value": 5,
+ "ttlSeconds": "35"
+ }
+ ]
+ },
+ "type": "Microsoft.Communication.RouterJobWorkerSelectorsExpired",
+ "specVersion": "1.0",
+ "time": "2022-02-17T00:55:25.1736293Z",
+ "operationId": "RouterJobWorkerSelectorsExpiredEventName",
+ "title": "RouterJobWorkerSelectorsExpired"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_deleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_deleted.json
new file mode 100644
index 0000000000000..3f7dfce2c605b
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_deleted.json
@@ -0,0 +1,13 @@
+{
+ "id": "1027db4a-17fe-4a7f-ae67-276c3120a29f",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "worker/{worker-id}",
+ "data": {
+ "workerId": "worker3"
+ },
+ "type": "Microsoft.Communication.RouterWorkerDeleted",
+ "specVersion": "1.0",
+ "time": "2022-02-17T00:55:25.1736293Z",
+ "operationId": "RouterWorkerDeletedEventName",
+ "title": "RouterWorkerDeleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_deregistered.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_deregistered.json
new file mode 100644
index 0000000000000..44afa02c64c35
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_deregistered.json
@@ -0,0 +1,13 @@
+{
+ "id": "1027db4a-17fe-4a7f-ae67-276c3120a29f",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "worker/{worker-id}",
+ "data": {
+ "workerId": "worker3"
+ },
+ "type": "Microsoft.Communication.RouterWorkerDeregistered",
+ "specVersion": "1.0",
+ "time": "2022-02-17T00:55:25.1736293Z",
+ "operationId": "RouterWorkerDeregisteredEventName",
+ "title": "RouterWorkerDeregistered"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_offer_accepted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_offer_accepted.json
new file mode 100644
index 0000000000000..9cbb60effa64e
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_offer_accepted.json
@@ -0,0 +1,30 @@
+{
+ "id": "1027db4a-17fe-4a7f-ae67-276c3120a29f",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "worker/{worker-id}/job/{job-id}",
+ "data": {
+ "workerId": "w100",
+ "jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
+ "jobPriority": 5,
+ "jobLabels": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "jobTags": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "channelReference": "test-abc",
+ "channelId": "FooVoiceChannelId",
+ "queueId": "625fec06-ab81-4e60-b780-f364ed96ade1",
+ "offerId": "565fec06-ab81-4e60-b780-f364ed96ade1",
+ "assignmentId": "765fec06-ab81-4e60-b780-f364ed96ade1"
+ },
+ "type": "Microsoft.Communication.RouterWorkerOfferAccepted",
+ "specVersion": "1.0",
+ "time": "2022-02-17T00:55:25.1736293Z",
+ "operationId": "RouterWorkerOfferAcceptedEventName",
+ "title": "RouterWorkerOfferAccepted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_offer_declined.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_offer_declined.json
new file mode 100644
index 0000000000000..6a9d6b48c30f4
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_offer_declined.json
@@ -0,0 +1,18 @@
+{
+ "id": "1027db4a-17fe-4a7f-ae67-276c3120a29f",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "worker/{worker-id}/job/{job-id}",
+ "data": {
+ "workerId": "w100",
+ "jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
+ "channelReference": "test-abc",
+ "channelId": "FooVoiceChannelId",
+ "queueId": "625fec06-ab81-4e60-b780-f364ed96ade1",
+ "offerId": "565fec06-ab81-4e60-b780-f364ed96ade1"
+ },
+ "type": "Microsoft.Communication.RouterWorkerOfferDeclined",
+ "specVersion": "1.0",
+ "time": "2022-02-17T00:55:25.1736293Z",
+ "operationId": "RouterWorkerOfferDeclinedEventName",
+ "title": "RouterWorkerOfferDeclined"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_offer_expired.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_offer_expired.json
new file mode 100644
index 0000000000000..28cecc2790bb4
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_offer_expired.json
@@ -0,0 +1,18 @@
+{
+ "id": "1027db4a-17fe-4a7f-ae67-276c3120a29f",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "worker/{worker-id}/job/{job-id}",
+ "data": {
+ "offerId": "565fec06-ab81-4e60-b780-f364ed96ade1",
+ "workerId": "w100",
+ "jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
+ "channelReference": "test-abc",
+ "channelId": "FooVoiceChannelId",
+ "queueId": "625fec06-ab81-4e60-b780-f364ed96ade1"
+ },
+ "type": "Microsoft.Communication.RouterWorkerOfferExpired",
+ "specVersion": "1.0",
+ "time": "2022-02-17T00:55:25.1736293Z",
+ "operationId": "RouterWorkerOfferExpiredEventName",
+ "title": "RouterWorkerOfferExpired"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_offer_issued.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_offer_issued.json
new file mode 100644
index 0000000000000..3cbc680d408e8
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_offer_issued.json
@@ -0,0 +1,31 @@
+{
+ "id": "1027db4a-17fe-4a7f-ae67-276c3120a29f",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "worker/{worker-id}/job/{job-id}",
+ "data": {
+ "workerId": "w100",
+ "jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
+ "channelReference": "test-abc",
+ "channelId": "FooVoiceChannelId",
+ "queueId": "625fec06-ab81-4e60-b780-f364ed96ade1",
+ "offerId": "525fec06-ab81-4e60-b780-f364ed96ade1",
+ "offeredOn": "2021-06-23T02:43:30.3847144Z",
+ "expiresOn": "2021-06-23T02:44:30.3847674Z",
+ "jobPriority": 5,
+ "jobLabels": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "jobTags": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ }
+ },
+ "type": "Microsoft.Communication.RouterWorkerOfferIssued",
+ "specVersion": "1.0",
+ "time": "2022-02-17T00:55:25.1736293Z",
+ "operationId": "RouterWorkerOfferIssuedEventName",
+ "title": "RouterWorkerOfferIssued"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_offer_revoked.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_offer_revoked.json
new file mode 100644
index 0000000000000..de165805c1038
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_offer_revoked.json
@@ -0,0 +1,18 @@
+{
+ "id": "1027db4a-17fe-4a7f-ae67-276c3120a29f",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "worker/{worker-id}/job/{job-id}",
+ "data": {
+ "offerId": "565fec06-ab81-4e60-b780-f364ed96ade1",
+ "workerId": "w100",
+ "jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
+ "channelReference": "test-abc",
+ "channelId": "FooVoiceChannelId",
+ "queueId": "625fec06-ab81-4e60-b780-f364ed96ade1"
+ },
+ "type": "Microsoft.Communication.RouterWorkerOfferRevoked",
+ "specVersion": "1.0",
+ "time": "2022-02-17T00:55:25.1736293Z",
+ "operationId": "RouterWorkerOfferRevokedEventName",
+ "title": "RouterWorkerOfferRevoked"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_registered.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_registered.json
new file mode 100644
index 0000000000000..34dddf8c2d26e
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/router_worker_registered.json
@@ -0,0 +1,41 @@
+{
+ "id": "1027db4a-17fe-4a7f-ae67-276c3120a29f",
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "worker/{worker-id}",
+ "data": {
+ "workerId": "worker3",
+ "totalCapacity": 100,
+ "queueAssignments": [
+ {
+ "id": "MyQueueId2",
+ "name": "Queue 3",
+ "labels": {
+ "Language": "en",
+ "Product": "Office",
+ "Geo": "NA"
+ }
+ }
+ ],
+ "labels": {
+ "x": "111",
+ "y": "111"
+ },
+ "channelConfigurations": [
+ {
+ "channelId": "FooVoiceChannelId",
+ "capacityCostPerJob": 10
+ }
+ ],
+ "tags": {
+ "Locale": "en-us",
+ "Segment": "Enterprise",
+ "Token": "FooToken"
+ },
+ "maxNumberOfJobs": 5
+ },
+ "type": "Microsoft.Communication.RouterWorkerRegistered",
+ "specVersion": "1.0",
+ "time": "2022-02-17T00:55:25.1736293Z",
+ "operationId": "RouterWorkerRegisteredEventName",
+ "title": "RouterWorkerRegistered"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/run_completed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/run_completed.json
new file mode 100644
index 0000000000000..9afb74b2e8297
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/run_completed.json
@@ -0,0 +1,32 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-name}",
+ "subject": "experiments/0fa9dfaa-cba3-4fa7-b590-23e48548f5c1/runs/AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5",
+ "type": "Microsoft.MachineLearningServices.RunCompleted",
+ "time": "2017-06-26T18:41:00.9584103Z",
+ "id": "831e1650-001e-001b-66ab-eeb76e069631",
+ "data": {
+ "experimentId": "0fa9dfaa-cba3-4fa7-b590-23e48548f5c1",
+ "experimentName": "automl-local-regression",
+ "runId": "AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5",
+ "runType": null,
+ "runTags": {},
+ "runProperties": {
+ "runTemplate": "automl_child",
+ "pipeline_id": "5adc0a4fe02504a586f09a4fcbb241f9a4012062",
+ "pipeline_spec": "{\"objects\": [{\"class_name\": \"StandardScaler\", \"module\": \"sklearn.preprocessing\", \"param_args\": [], \"param_kwargs\": {\"with_mean\": true, \"with_std\": false}, \"prepared_kwargs\": {}, \"spec_class\": \"preproc\"}, {\"class_name\": \"LassoLars\", \"module\": \"sklearn.linear_model\", \"param_args\": [], \"param_kwargs\": {\"alpha\": 0.001, \"normalize\": true}, \"prepared_kwargs\": {}, \"spec_class\": \"sklearn\"}], \"pipeline_id\": \"5adc0a4fe02504a586f09a4fcbb241f9a4012062\"}",
+ "training_percent": "100",
+ "predicted_cost": "0.062226144097381045",
+ "iteration": "5",
+ "run_template": "automl_child",
+ "run_preprocessor": "StandardScalerWrapper",
+ "run_algorithm": "LassoLars",
+ "conda_env_data_location": "aml://artifact/ExperimentRun/dcid.AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5/outputs/conda_env_v_1_0_0.yml",
+ "model_name": "AutoMLad912b2d65",
+ "scoring_data_location": "aml://artifact/ExperimentRun/dcid.AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5/outputs/scoring_file_v_1_0_0.py",
+ "model_data_location": "aml://artifact/ExperimentRun/dcid.AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5/outputs/model.pkl"
+ }
+ },
+ "specversion": "1.0",
+ "operationId": "RunCompletedEventName",
+ "title": "RunCompleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/run_status_changed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/run_status_changed.json
new file mode 100644
index 0000000000000..41124b425b1dd
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/run_status_changed.json
@@ -0,0 +1,33 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-name}",
+ "subject": "experiments/0fa9dfaa-cba3-4fa7-b590-23e48548f5c1/runs/AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5",
+ "type": "Microsoft.MachineLearningServices.RunStatusChanged",
+ "time": "2017-06-26T18:41:00.9584103Z",
+ "id": "831e1650-001e-001b-66ab-eeb76e069631",
+ "data": {
+ "experimentId": "0fa9dfaa-cba3-4fa7-b590-23e48548f5c1",
+ "experimentName": "automl-local-regression",
+ "runId": "AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5",
+ "runType": null,
+ "runTags": {},
+ "runProperties": {
+ "runTemplate": "automl_child",
+ "pipeline_id": "5adc0a4fe02504a586f09a4fcbb241f9a4012062",
+ "pipeline_spec": "{\"objects\": [{\"class_name\": \"StandardScaler\", \"module\": \"sklearn.preprocessing\", \"param_args\": [], \"param_kwargs\": {\"with_mean\": true, \"with_std\": false}, \"prepared_kwargs\": {}, \"spec_class\": \"preproc\"}, {\"class_name\": \"LassoLars\", \"module\": \"sklearn.linear_model\", \"param_args\": [], \"param_kwargs\": {\"alpha\": 0.001, \"normalize\": true}, \"prepared_kwargs\": {}, \"spec_class\": \"sklearn\"}], \"pipeline_id\": \"5adc0a4fe02504a586f09a4fcbb241f9a4012062\"}",
+ "training_percent": "100",
+ "predicted_cost": "0.062226144097381045",
+ "iteration": "5",
+ "run_template": "automl_child",
+ "run_preprocessor": "StandardScalerWrapper",
+ "run_algorithm": "LassoLars",
+ "conda_env_data_location": "aml://artifact/ExperimentRun/dcid.AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5/outputs/conda_env_v_1_0_0.yml",
+ "model_name": "AutoMLad912b2d65",
+ "scoring_data_location": "aml://artifact/ExperimentRun/dcid.AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5/outputs/scoring_file_v_1_0_0.py",
+ "model_data_location": "aml://artifact/ExperimentRun/dcid.AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5/outputs/model.pkl"
+ },
+ "runStatus": "failed"
+ },
+ "specversion": "1.0",
+ "operationId": "RunStatusChangedEventName",
+ "title": "RunStatusChanged"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/scaling_completed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/scaling_completed.json
new file mode 100644
index 0000000000000..c007866eaa7dc
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/scaling_completed.json
@@ -0,0 +1,15 @@
+{
+ "source": "/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Cache/Redis/{cache_name}",
+ "subject": "ScalingCompleted",
+ "type": "Microsoft.Cache.ScalingCompleted",
+ "time": "2020-12-09T13:50:19.9995668-08:00",
+ "id": "9b87886d-21a5-4af5-8e3e-10c4b8dac73b",
+ "data": {
+ "name": "ScalingCompleted",
+ "timestamp": "2020-12-09T13:50:19.9995668-08:00",
+ "status": "Succeeded"
+ },
+ "specversion": "1.0",
+ "operationId": "ScalingCompletedEventName",
+ "title": "ScalingCompleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/script_execution_failed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/script_execution_failed.json
new file mode 100644
index 0000000000000..21b716b08bc5c
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/script_execution_failed.json
@@ -0,0 +1,16 @@
+{
+ "source": "/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.AVS/privateClouds/{sddc_name}",
+ "subject": "/scriptExecutions/{execution_name}",
+ "type": "Microsoft.AVS.ScriptExecutionFailed",
+ "time": "2023-12-09T16:50:19.9995668-05:00",
+ "id": "9b87886d-21a5-4af5-8e3e-10c4b8dac73b",
+ "data": {
+ "operationId": "fe1cb595-71c8-47d7-b505-60d39a44d53d",
+ "failureMessage": "05/04/2023 03:15:40 Get-SpbmStoragePolicy SpbmStoragePolicy with name ' RAID-5 FTT-1' was not found using the specified filter(s).",
+ "cmdletId": "Microsoft.AVS.Management@5.3.70/Set-LocationStoragePolicy",
+ "output": []
+ },
+ "specVersion": "1.0",
+ "operationId": "ScriptExecutionFailedEventName",
+ "title": "ScriptExecutionFailed"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/secret_new_version_created.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/secret_new_version_created.json
new file mode 100644
index 0000000000000..6c5e1db34ea88
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/secret_new_version_created.json
@@ -0,0 +1,19 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/sample-rg/providers/Microsoft.KeyVault/vaults/sample-kv",
+ "subject": "newsecret",
+ "type": "Microsoft.KeyVault.SecretNewVersionCreated",
+ "time": "2019-07-25T01:08:33.1036736Z",
+ "id": "00eccf70-95a7-4e7c-8299-2eb17ee9ad64",
+ "data": {
+ "Id": "https://sample-kv.vault.azure.net/secrets/newsecret/ee059b2bb5bc48398a53b168c6cdcb10",
+ "VaultName": "sample-kv",
+ "ObjectType": "Secret",
+ "ObjectName": "newsecret",
+ "Version": "ee059b2bb5bc48398a53b168c6cdcb10",
+ "NBF": "1559081980",
+ "EXP": "1559082102"
+ },
+ "specversion": "1.0",
+ "operationId": "SecretNewVersionCreatedEventName",
+ "title": "SecretNewVersionCreated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/slot_swap_completed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/slot_swap_completed.json
new file mode 100644
index 0000000000000..395c39773a09b
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/slot_swap_completed.json
@@ -0,0 +1,21 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "type": "Microsoft.Web.SlotSwapCompleted",
+ "time": "2020-01-28T18:26:51.7194887Z",
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "data": {
+ "appEventTypeDetail": null,
+ "name": "{site-name}",
+ "clientRequestId": "922f4841-20d9-4dd6-8c5b-23f0d85e5592",
+ "correlationRequestId": "9ac46505-2b8a-4e06-834c-05ffbe2e8c3a",
+ "requestId": "765117aa-eaf8-4bd2-a644-1dbf69c7b0fd",
+ "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/slots?Command=SWAP&targetSlot=production",
+ "verb": "POST",
+ "sourceSlot": "staging",
+ "targetSlot": "production"
+ },
+ "specversion": "1.0",
+ "operationId": "SlotSwapCompletedEventName",
+ "title": "SlotSwapCompleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/slot_swap_failed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/slot_swap_failed.json
new file mode 100644
index 0000000000000..4e76796eac0ab
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/slot_swap_failed.json
@@ -0,0 +1,21 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "type": "Microsoft.Web.SlotSwapFailed",
+ "time": "2020-01-28T18:26:51.7194887Z",
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "data": {
+ "appEventTypeDetail": null,
+ "name": "{site-name}",
+ "clientRequestId": "922f4841-20d9-4dd6-8c5b-23f0d85e5592",
+ "correlationRequestId": "9ac46505-2b8a-4e06-834c-05ffbe2e8c3a",
+ "requestId": "765117aa-eaf8-4bd2-a644-1dbf69c7b0fd",
+ "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/slots?Command=SWAP&targetSlot=production",
+ "verb": "POST",
+ "sourceSlot": "staging",
+ "targetSlot": "production"
+ },
+ "specversion": "1.0",
+ "operationId": "SlotSwapFailedEventName",
+ "title": "SlotSwapFailed"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/slot_swap_started.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/slot_swap_started.json
new file mode 100644
index 0000000000000..1c386ba0d793d
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/slot_swap_started.json
@@ -0,0 +1,21 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "type": "Microsoft.Web.SlotSwapStarted",
+ "time": "2020-01-28T18:26:51.7194887Z",
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "data": {
+ "appEventTypeDetail": null,
+ "name": "{site-name}",
+ "clientRequestId": "922f4841-20d9-4dd6-8c5b-23f0d85e5592",
+ "correlationRequestId": "9ac46505-2b8a-4e06-834c-05ffbe2e8c3a",
+ "requestId": "765117aa-eaf8-4bd2-a644-1dbf69c7b0fd",
+ "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/slots?Command=SWAP&targetSlot=production",
+ "verb": "POST",
+ "sourceSlot": "staging",
+ "targetSlot": "production"
+ },
+ "specversion": "1.0",
+ "operationId": "SlotSwapStartedEventName",
+ "title": "SlotSwapStarted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/slot_swap_with_preview_cancelled.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/slot_swap_with_preview_cancelled.json
new file mode 100644
index 0000000000000..761b40621e3e9
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/slot_swap_with_preview_cancelled.json
@@ -0,0 +1,21 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "type": "Microsoft.Web.SlotSwapWithPreviewCancelled",
+ "time": "2020-01-28T18:26:51.7194887Z",
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "data": {
+ "appEventTypeDetail": null,
+ "name": "{site-name}",
+ "clientRequestId": "922f4841-20d9-4dd6-8c5b-23f0d85e5592",
+ "correlationRequestId": "9ac46505-2b8a-4e06-834c-05ffbe2e8c3a",
+ "requestId": "765117aa-eaf8-4bd2-a644-1dbf69c7b0fd",
+ "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/slots?Command=SWAP&targetSlot=production",
+ "verb": "POST",
+ "sourceSlot": "staging",
+ "targetSlot": "production"
+ },
+ "specversion": "1.0",
+ "operationId": "SlotSwapWithPreviewCancelledEventName",
+ "title": "SlotSwapWithPreviewCancelled"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/slot_swap_with_preview_started.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/slot_swap_with_preview_started.json
new file mode 100644
index 0000000000000..9927ec90d80a2
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/slot_swap_with_preview_started.json
@@ -0,0 +1,21 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "type": "Microsoft.Web.SlotSwapWithPreviewStarted",
+ "time": "2020-01-28T18:26:51.7194887Z",
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "data": {
+ "appEventTypeDetail": null,
+ "name": "{site-name}",
+ "clientRequestId": "922f4841-20d9-4dd6-8c5b-23f0d85e5592",
+ "correlationRequestId": "9ac46505-2b8a-4e06-834c-05ffbe2e8c3a",
+ "requestId": "765117aa-eaf8-4bd2-a644-1dbf69c7b0fd",
+ "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/slots?Command=SWAP&targetSlot=production",
+ "verb": "POST",
+ "sourceSlot": "staging",
+ "targetSlot": "production"
+ },
+ "specversion": "1.0",
+ "operationId": "SlotSwapWithPreviewStartedEventName",
+ "title": "SlotSwapWithPreviewStarted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/sms_delivery_report_received.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/sms_delivery_report_received.json
new file mode 100644
index 0000000000000..c02ecd2a836a2
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/sms_delivery_report_received.json
@@ -0,0 +1,25 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "/phonenumber/15555555555",
+ "type": "Microsoft.Communication.SMSDeliveryReportReceived",
+ "time": "2020-09-18T00:22:20.0000000Z",
+ "id": "Outgoing_202009180022138813a09b-0cbf-4304-9b03-1546683bb910",
+ "data": {
+ "MessageId": "Outgoing_202009180022138813a09b-0cbf-4304-9b03-1546683bb910",
+ "From": "15555555555",
+ "To": "+15555555555",
+ "DeliveryStatus": "Delivered",
+ "DeliveryStatusDetails": "No error.",
+ "ReceivedTimestamp": "2020-09-18T00:22:20.2855749Z",
+ "DeliveryAttempts": [
+ {
+ "Timestamp": "2020-09-18T00:22:14.9315918Z",
+ "SegmentsSucceeded": 1,
+ "SegmentsFailed": 0
+ }
+ ]
+ },
+ "specversion": "1.0",
+ "operationId": "SMSDeliveryReportReceivedEventName",
+ "title": "SMSDeliveryReportReceived"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/sms_received.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/sms_received.json
new file mode 100644
index 0000000000000..0c5a91ed91405
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/sms_received.json
@@ -0,0 +1,17 @@
+{
+ "source": "/subscriptions/50ad1522-5c2c-4d9a-a6c8-67c11ecb75b8/resourcegroups/acse2e/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "/phonenumber/15555555555",
+ "type": "Microsoft.Communication.SMSReceived",
+ "time": "2020-09-18T00:27:47.0000000Z",
+ "id": "Incoming_20200918002745d29ebbea-3341-4466-9690-0a03af35228e",
+ "data": {
+ "MessageId": "Incoming_20200918002745d29ebbea-3341-4466-9690-0a03af35228e",
+ "From": "15555555555",
+ "To": "15555555555",
+ "Message": "Great to connect with ACS events",
+ "ReceivedTimestamp": "2020-09-18T00:27:45.32Z"
+ },
+ "specversion": "1.0",
+ "operationId": "SMSReceivedEventName",
+ "title": "SMSReceived"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/snapshot_created.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/snapshot_created.json
new file mode 100644
index 0000000000000..2250fb4ec54fc
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/snapshot_created.json
@@ -0,0 +1,15 @@
+{
+ "source": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
+ "subject": "https://contoso.azconfig.io/kvsnapshots/Foo",
+ "type": "Microsoft.AppConfiguration.SnapshotCreated",
+ "time": "2023-09-02T20:05:03.0000000Z",
+ "id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
+ "data": {
+ "name": "Foo",
+ "etag": "FnUExLaj2moIi4tJX9AXn9sakm0",
+ "syncToken": "zAJw6V16=Njo1IzUxNjQ2NzM=;sn=5164673"
+ },
+ "specversion": "1.0",
+ "operationId": "SnapshotCreatedEventName",
+ "title": "SnapshotCreated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/snapshot_modified.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/snapshot_modified.json
new file mode 100644
index 0000000000000..698ba7dfd592a
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/snapshot_modified.json
@@ -0,0 +1,15 @@
+{
+ "source": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
+ "subject": "https://contoso.azconfig.io/snapshots/Foo",
+ "type": "Microsoft.AppConfiguration.SnapshotModified",
+ "time": "2023-09-03T20:05:03.0000000Z",
+ "id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
+ "data": {
+ "name": "Foo",
+ "etag": "FnUExLaj2moIi4tJX9AXn9sakm0",
+ "syncToken": "zAJw6V16=Njo1IzUxNjQ2NzM=;sn=5164673"
+ },
+ "specversion": "1.0",
+ "operationId": "SnapshotModifiedEventName",
+ "title": "SnapshotModified"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/storage_task_assignment_completed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/storage_task_assignment_completed.json
new file mode 100644
index 0000000000000..9b1b08148018e
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/storage_task_assignment_completed.json
@@ -0,0 +1,17 @@
+{
+ "source": "/subscriptions/c86a9c18-8373-41fa-92d4-1d7bdc16977b/resourceGroups/shubhajTestRG/providers/Microsoft.Storage/storageAccounts/canaryfns",
+ "subject": "DataManagement/StorageActions/StorageTaskAssignments",
+ "type": "Microsoft.Storage.StorageTaskAssignmentCompleted",
+ "time": "2023-11-27T23:09:21Z",
+ "id": "dd17c35c-e68a-437d be15-5417820310d2",
+ "data": {
+ "status": "Succeeded",
+ "completedDateTime": "2023-11-27T23:09:21Z",
+ "taskExecutionId": "testtest2-2023-11-27T21:16:43.4491131Z",
+ "taskName": "dizbbcanary2",
+ "summaryReportBlobUrl": "https://canaryfns.blob.core.windows.net/reports/dizbbcanary2/testtest2/2023-11-27T21:17:53/SummaryReport.json"
+ },
+ "specversion": "1.0",
+ "operationId": "StorageTaskAssignmentCompletedEventName",
+ "title": "StorageTaskAssignmentCompleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/storage_task_assignment_queued.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/storage_task_assignment_queued.json
new file mode 100644
index 0000000000000..ff15df34b81c5
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/storage_task_assignment_queued.json
@@ -0,0 +1,14 @@
+{
+ "source": "/subscriptions/c86a9c18-8373-41fa-92d4-1d7bdc16977b/resourceGroups/shubhajTestRG/providers/Microsoft.Storage/storageAccounts/canaryfns",
+ "subject": "DataManagement/StorageActions/StorageTaskAssignments",
+ "type": "Microsoft.Storage.StorageTaskAssignmentQueued",
+ "time": "2023-11-27T21:17:53Z",
+ "id": "59ff3f6f-696c-4cd2-a206-8012fc1a73f2",
+ "data": {
+ "queuedDateTime": "2023-11-27T21:17:53Z",
+ "taskExecutionId": "testtest2-2023-11-27T21:16:43.4491131Z"
+ },
+ "specversion": "1.0",
+ "operationId": "StorageTaskAssignmentQueuedEventName",
+ "title": "StorageTaskAssignmentQueued"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/storage_task_completed.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/storage_task_completed.json
new file mode 100644
index 0000000000000..e38ef4e3057c9
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/storage_task_completed.json
@@ -0,0 +1,17 @@
+{
+ "source": "/subscriptions/c86a9c18-8373-41fa-92d4-1d7bdc16977b/resourceGroups/shulin-rg/providers/Microsoft.Storage/storageAccounts/shulinstcanest2",
+ "subject": "DataManagement/StorageTasks",
+ "type": "Microsoft.Storage.StorageTaskCompleted",
+ "time": "2023-03-23T16:52:58Z",
+ "id": "b34b3b93-a64d-41ea-aba4-d55f2d29190b",
+ "data": {
+ "status": "Succeeded",
+ "completedDateTime": "2023-03-23T16:52:58Z",
+ "taskExecutionId": "deletetest-2023-03-23T16:42:33.8658256Z_2023-03-23T16:42:58.8983000Z",
+ "taskName": "delete123",
+ "summaryReportBlobUrl": "https://shulinstcanest2.blob.core.windows.net/report/delete123_deletetest_2023-03-23T16:43:50/SummaryReport.json"
+ },
+ "specversion": "1.0",
+ "operationId": "StorageTaskCompletedEventName",
+ "title": "StorageTaskCompleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/storage_task_queued.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/storage_task_queued.json
new file mode 100644
index 0000000000000..443462c3c0f41
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/storage_task_queued.json
@@ -0,0 +1,14 @@
+{
+ "source": "/subscriptions/c86a9c18-8373-41fa-92d4-1d7bdc16977b/resourceGroups/shulin-rg/providers/Microsoft.Storage/storageAccounts/shulinstcanest2",
+ "subject": "DataManagement/StorageTasks",
+ "type": "Microsoft.Storage.StorageTaskQueued",
+ "time": "2023-03-23T16:43:50Z",
+ "id": "7fddaf06-24e8-4d57-9b66-5b7ab920a626",
+ "data": {
+ "queuedDateTime": "2023-03-23T16:43:50Z",
+ "taskExecutionId": "deletetest-2023-03-23T16:42:33.8658256Z_2023-03-23T16:42:58.8983000Z"
+ },
+ "specversion": "1.0",
+ "operationId": "StorageTaskQueuedEventName",
+ "title": "StorageTaskQueued"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/subscriptionCreated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/subscriptionCreated.json
new file mode 100644
index 0000000000000..99f8106853204
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/subscriptionCreated.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/subscriptions/{subscriptionId}",
+ "type": "Microsoft.ApiManagement.SubscriptionCreated",
+ "time": "2021-07-02T00:47:47.8536532Z",
+ "id": "831e1650-001e-001b-66ab-eeb76e069631",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/subscriptions/{subscriptionId}"
+ },
+ "specversion": "1.0",
+ "operationId": "SubscriptionCreatedEventName",
+ "title": "SubscriptionCreated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/subscriptionDeleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/subscriptionDeleted.json
new file mode 100644
index 0000000000000..5ae2c599d7c6d
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/subscriptionDeleted.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/subscriptions/{subscriptionId}",
+ "type": "Microsoft.ApiManagement.SubscriptionDeleted",
+ "time": "2021-07-02T00:47:47.8536532Z",
+ "id": "831e1650-001e-001b-66ab-eeb76e069631",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/subscriptions/{subscriptionId}"
+ },
+ "specversion": "1.0",
+ "operationId": "SubscriptionDeletedEventName",
+ "title": "SubscriptionDeleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/subscriptionUpdated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/subscriptionUpdated.json
new file mode 100644
index 0000000000000..d46f3884cbd49
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/subscriptionUpdated.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/subscriptions/{subscriptionId}",
+ "type": "Microsoft.ApiManagement.SubscriptionUpdated",
+ "time": "2021-07-02T00:47:47.8536532Z",
+ "id": "831e1650-001e-001b-66ab-eeb76e069631",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/subscriptions/{subscriptionId}"
+ },
+ "specversion": "1.0",
+ "operationId": "SubscriptionUpdatedEventName",
+ "title": "SubscriptionUpdated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/userCreated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/userCreated.json
new file mode 100644
index 0000000000000..18bbb719f7efe
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/userCreated.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/users/apimuser-contoso-com",
+ "type": "Microsoft.ApiManagement.UserCreated",
+ "time": "2021-07-02T00:47:47.8237532Z",
+ "id": "92c502f2-a966-42a7-a428-d3b319844544",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/users/apimuser-contoso-com"
+ },
+ "specversion": "1.0",
+ "operationId": "UserCreatedEventName",
+ "title": "UserCreated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/userDeleted.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/userDeleted.json
new file mode 100644
index 0000000000000..09da565dd7c1f
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/userDeleted.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/users/apimuser-contoso-com",
+ "type": "Microsoft.ApiManagement.UserDeleted",
+ "time": "2021-07-02T00:47:47.8536532Z",
+ "id": "92c502f2-a966-42a7-a428-d3b319844544",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/users/apimuser-contoso-com"
+ },
+ "specversion": "1.0",
+ "operationId": "UserDeletedEventName",
+ "title": "UserDeleted"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/userUpdated.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/userUpdated.json
new file mode 100644
index 0000000000000..1f13dfec59502
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/userUpdated.json
@@ -0,0 +1,13 @@
+{
+ "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
+ "subject": "/users/apimuser-contoso-com",
+ "type": "Microsoft.ApiManagement.UserUpdated",
+ "time": "2021-07-02T00:47:48.8269769Z",
+ "id": "92c502f2-a966-42a7-a428-d3b319844544",
+ "data": {
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/users/apimuser-contoso-com"
+ },
+ "specversion": "1.0",
+ "operationId": "UserUpdatedEventName",
+ "title": "UserUpdated"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/user_disconnected.json b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/user_disconnected.json
new file mode 100644
index 0000000000000..add7b982111d4
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/examples/2024-01-01/user_disconnected.json
@@ -0,0 +1,18 @@
+{
+ "source": "/subscriptions/3364013b-4c5c-4dc3-953a-072f091c89a7/resourcegroups/testresources/providers/microsoft.communication/communicationservices/vikramacstestresource",
+ "subject": "user/8:acs:5354158b-17b7-489c-9380-95d8821ff76b_0000000c-6c47-7dfd-6d70-224822000cfb",
+ "type": "Microsoft.Communication.UserDisconnected",
+ "time": "2021-09-09T21:13:45.0000000Z",
+ "id": "93fa5460-7d6c-4fb7-bbb7-2d56159e98d9",
+ "data": {
+ "userCommunicationIdentifier": {
+ "rawId": "8:acs:5354158b-17b7-489c-9380-95d8821ff76b_0000000c-6c47-7dfd-6d70-224822000cfb",
+ "communicationUser": {
+ "id": "8:acs:5354158b-17b7-489c-9380-95d8821ff76b_0000000c-6c47-7dfd-6d70-224822000cfb"
+ }
+ }
+ },
+ "specversion": "1.0",
+ "operationId": "UserDisconnectedEventName",
+ "title": "UserDisconnected"
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/main.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/main.tsp
new file mode 100644
index 0000000000000..fdad98970413f
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/main.tsp
@@ -0,0 +1,41 @@
+import "@typespec/versioning";
+
+import "./ApiManagement.tsp";
+import "./AppConfiguration.tsp";
+import "./AVS.tsp";
+import "./AzureCommunicationServices.tsp";
+import "./ContainerRegistry.tsp";
+import "./ContainerService.tsp";
+import "./DataBox.tsp";
+import "./EventHub.tsp";
+import "./Maps.tsp";
+import "./IotHub.tsp";
+import "./HealthcareApis.tsp";
+import "./KeyVault.tsp";
+import "./MachineLearningServices.tsp";
+import "./MediaServices.tsp";
+import "./PolicyInsights.tsp";
+import "./RedisCache.tsp";
+import "./Resources.tsp";
+import "./ServiceBus.tsp";
+import "./SignalRService.tsp";
+import "./Storage.tsp";
+import "./Web.tsp";
+import "./EventGrid.tsp";
+import "./ResourceNotifications.tsp";
+
+import "./propertyNameOverride.tsp";
+
+/** Azure Messaging EventGrid SystemEvents */
+@service({
+ title: "Azure.Messaging.SystemEvents",
+})
+@versioned(ServiceApiVersions)
+namespace Microsoft.EventGrid.SystemEvents {
+ using TypeSpec.Versioning;
+
+ #suppress "@azure-tools/typespec-azure-core/documentation-required" "https://github.com/Azure/typespec-azure/issues/3107"
+ enum ServiceApiVersions {
+ v2024_01_01: "2024-01-01",
+ }
+}
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/propertyNameOverride.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/propertyNameOverride.tsp
new file mode 100644
index 0000000000000..1752c17d9cb0c
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/propertyNameOverride.tsp
@@ -0,0 +1,131 @@
+import "./AzureCommunicationServices.tsp";
+import "./EventHub.tsp";
+import "./HealthcareApis.tsp";
+import "./IotHub.tsp";
+import "./ResourceNotifications.tsp";
+import "./Storage.tsp";
+import "./DataBox.tsp";
+import "./EventGrid.tsp";
+
+import "@azure-tools/typespec-client-generator-core";
+
+using Azure.ClientGenerator.Core;
+
+@@clientName(Microsoft.EventGrid.SystemEvents.AcsIncomingCallEventData.to,
+ "toCommunicationIdentifier",
+ "autorest"
+);
+@@clientName(Microsoft.EventGrid.SystemEvents.AcsIncomingCallEventData.from,
+ "fromCommunicationIdentifier",
+ "autorest"
+);
+
+@@clientName(Microsoft.EventGrid.SystemEvents.AcsEmailDeliveryReportReceivedEventData.deliveryAttemptTimeStamp,
+ "deliveryAttemptTimestamp",
+ "autorest"
+);
+@@clientName(Microsoft.EventGrid.SystemEvents.AcsEmailEngagementTrackingReportReceivedEventData.userActionTimeStamp,
+ "userActionTimestamp",
+ "autorest"
+);
+@@clientName(Microsoft.EventGrid.SystemEvents.AcsEmailEngagementTrackingReportReceivedEventData.engagementType,
+ "engagement",
+ "autorest"
+);
+
+@@clientName(Microsoft.EventGrid.SystemEvents.EventHubCaptureFileCreatedEventData.fileUrl,
+ "fileurl",
+ "autorest"
+);
+
+@@clientName(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceCreatedEventData.resourceFhirAccount,
+ "FhirServiceHostName",
+ "autorest"
+);
+@@clientName(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceCreatedEventData.resourceFhirId,
+ "FhirResourceId",
+ "autorest"
+);
+@@clientName(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceCreatedEventData.resourceVersionId,
+ "FhirResourceVersionId",
+ "autorest"
+);
+@@clientName(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceCreatedEventData.resourceType,
+ "FhirResourceType",
+ "autorest"
+);
+@@clientName(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceUpdatedEventData.resourceFhirAccount,
+ "FhirServiceHostName",
+ "autorest"
+);
+@@clientName(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceUpdatedEventData.resourceFhirId,
+ "FhirResourceId",
+ "autorest"
+);
+@@clientName(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceUpdatedEventData.resourceVersionId,
+ "FhirResourceVersionId",
+ "autorest"
+);
+@@clientName(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceUpdatedEventData.resourceType,
+ "FhirResourceType",
+ "autorest"
+);
+@@clientName(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceDeletedEventData.resourceFhirAccount,
+ "FhirServiceHostName",
+ "autorest"
+);
+@@clientName(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceDeletedEventData.resourceFhirId,
+ "FhirResourceId",
+ "autorest"
+);
+@@clientName(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceDeletedEventData.resourceVersionId,
+ "FhirResourceVersionId",
+ "autorest"
+);
+@@clientName(Microsoft.EventGrid.SystemEvents.HealthcareFhirResourceDeletedEventData.resourceType,
+ "FhirResourceType",
+ "autorest"
+);
+
+@@clientName(Microsoft.EventGrid.SystemEvents.DeviceTwinMetadata.lastUpdated,
+ "$lastUpdated",
+ "autorest"
+);
+@@clientName(Microsoft.EventGrid.SystemEvents.DeviceTwinProperties.metadata,
+ "$metadata",
+ "autorest"
+);
+@@clientName(Microsoft.EventGrid.SystemEvents.DeviceTwinProperties.version,
+ "$version",
+ "autorest"
+);
+
+@@clientName(Microsoft.EventGrid.SystemEvents.ResourceNotificationsResourceUpdatedEventData.resourceInfo,
+ "resourceDetails",
+ "autorest"
+);
+@@clientName(Microsoft.EventGrid.SystemEvents.ResourceNotificationsResourceUpdatedEventData.operationalInfo,
+ "operationalDetails",
+ "autorest"
+);
+@@clientName(Microsoft.EventGrid.SystemEvents.ResourceNotificationsResourceDeletedEventData.resourceInfo,
+ "resourceDetails",
+ "autorest"
+);
+@@clientName(Microsoft.EventGrid.SystemEvents.ResourceNotificationsResourceDeletedEventData.operationalInfo,
+ "operationalDetails",
+ "autorest"
+);
+
+@@clientName(Microsoft.EventGrid.SystemEvents.StorageTaskAssignmentQueuedEventData.queuedDateTime,
+ "queuedOn",
+ "autorest"
+);
+@@clientName(Microsoft.EventGrid.SystemEvents.StorageTaskAssignmentCompletedEventData.completedDateTime,
+ "completedOn",
+ "autorest"
+);
+@@clientName(Microsoft.EventGrid.SystemEvents.StorageTaskAssignmentCompletedEventData.summaryReportBlobUrl,
+ "summaryReportBlobUri",
+ "autorest"
+);
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/tspconfig.yaml b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/tspconfig.yaml
new file mode 100644
index 0000000000000..a53f8a5522395
--- /dev/null
+++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/tspconfig.yaml
@@ -0,0 +1,29 @@
+parameters:
+ "service-dir":
+ default: "sdk/eventgrid"
+ "service-directory-name":
+ default: "eventgrid"
+emit: [
+ "@azure-tools/typespec-autorest",
+]
+linter:
+ extends:
+ - "@azure-tools/typespec-azure-core/all"
+options:
+ "@azure-tools/typespec-autorest":
+ emitter-output-dir: "{project-root}/.."
+ examples-directory: examples
+ omit-unreachable-types: false
+ output-file: "{azure-resource-provider-folder}/Microsoft.EventGrid/{version-status}/{version}/SystemEvents.json"
+ azure-resource-provider-folder: "data-plane"
+ "@azure-tools/typespec-python":
+ package-pprint-name: "\"Azure Event Grid System Events\""
+ package-version: 4.12.0b1
+ package-dir: "azure-eventgrid"
+ package-name: "{package-dir}"
+ emitter-output-dir: "{project-root}/{service-dir}/{package-name}"
+ # Uncomment this line and add "@azure-tools/typespec-csharp" to your package.json to generate C# code
+ "@azure-tools/typespec-csharp":
+ package-dir: Azure.Messaging.EventGrid.SystemEvents
+ model-namespace: false
+ namespace: Azure.Messaging.EventGrid.SystemEvents
diff --git a/specification/eventgrid/data-plane/Microsoft.ApiCenter/stable/2018-01-01/ApiCenter.json b/specification/eventgrid/data-plane/Microsoft.ApiCenter/stable/2018-01-01/ApiCenter.json
new file mode 100644
index 0000000000000..228b383e3601e
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.ApiCenter/stable/2018-01-01/ApiCenter.json
@@ -0,0 +1,75 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-01-01",
+ "title": "Schema of Azure API Center service events published to Azure Event Grid",
+ "description": "Describes the schema of the Azure API Center service events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent."
+ },
+ "paths": {},
+ "definitions": {
+ "ApiCenterApiDefinitionAddedEventData": {
+ "description": "Schema of the data property of an EventGridEvent for a Microsoft.ApiCenter.ApiDefinitionAdded event.",
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "API definition title."
+ },
+ "description": {
+ "type": "string",
+ "description": "API definition description."
+ },
+ "specification": {
+ "$ref": "#/definitions/ApiCenterApiSpecification"
+ }
+ },
+ "x-ms-examples": {
+ "userCreatedCloudEventsSchema": {
+ "$ref": "./examples/cloud-events-schema/api_definition_added.json"
+ },
+ "userCreatedEventGridSchema": {
+ "$ref": "./examples/event-grid-schema/api_definition_added.json"
+ }
+ }
+ },
+ "ApiCenterApiDefinitionUpdatedEventData": {
+ "description": "Schema of the data property of an EventGridEvent for a Microsoft.ApiCenter.ApiDefinitionUpdated event.",
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "API definition title."
+ },
+ "description": {
+ "type": "string",
+ "description": "API definition description."
+ },
+ "specification": {
+ "$ref": "#/definitions/ApiCenterApiSpecification"
+ }
+ },
+ "x-ms-examples": {
+ "userCreatedCloudEventsSchema": {
+ "$ref": "./examples/cloud-events-schema/api_definition_updated.json"
+ },
+ "userCreatedEventGridSchema": {
+ "$ref": "./examples/event-grid-schema/api_definition_updated.json"
+ }
+ }
+ },
+ "ApiCenterApiSpecification": {
+ "type": "object",
+ "description": "API specification details.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Specification name."
+ },
+ "version": {
+ "type": "string",
+ "description": "Specification version."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.ApiCenter/stable/2018-01-01/examples/cloud-events-schema/api_definition_added.json b/specification/eventgrid/data-plane/Microsoft.ApiCenter/stable/2018-01-01/examples/cloud-events-schema/api_definition_added.json
new file mode 100644
index 0000000000000..01e4892075ae4
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.ApiCenter/stable/2018-01-01/examples/cloud-events-schema/api_definition_added.json
@@ -0,0 +1,16 @@
+{
+ "source": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso-resources/providers/Microsoft.ApiCenter/services",
+ "subject": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso-resources/providers/Microsoft.ApiCenter/services/contoso/workspaces/default/apis/echo-api/versions/2023-01-01/definitions/openapi",
+ "type": "Microsoft.ApiCenter.ApiDefinitionAdded",
+ "time": "2024-03-01T00:00:00.0000000Z",
+ "id": "00000000-0000-0000-0000-000000000000",
+ "data": {
+ "title": "OpenAPI",
+ "description": "Default spec",
+ "specification": {
+ "name": "openapi",
+ "version": "3.0.1"
+ }
+ },
+ "specversion": "1.0"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.ApiCenter/stable/2018-01-01/examples/cloud-events-schema/api_definition_updated.json b/specification/eventgrid/data-plane/Microsoft.ApiCenter/stable/2018-01-01/examples/cloud-events-schema/api_definition_updated.json
new file mode 100644
index 0000000000000..968424ff9b786
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.ApiCenter/stable/2018-01-01/examples/cloud-events-schema/api_definition_updated.json
@@ -0,0 +1,16 @@
+{
+ "source": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso-resources/providers/Microsoft.ApiCenter/services",
+ "subject": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso-resources/providers/Microsoft.ApiCenter/services/contoso/workspaces/default/apis/echo-api/versions/2023-01-01/definitions/openapi",
+ "type": "Microsoft.ApiCenter.ApiDefinitionUpdated",
+ "time": "2024-03-01T00:00:00.0000000Z",
+ "id": "00000000-0000-0000-0000-000000000000",
+ "data": {
+ "title": "OpenAPI",
+ "description": "Default spec",
+ "specification": {
+ "name": "openapi",
+ "version": "3.0.1"
+ }
+ },
+ "specversion": "1.0"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.ApiCenter/stable/2018-01-01/examples/event-grid-schema/api_definition_added.json b/specification/eventgrid/data-plane/Microsoft.ApiCenter/stable/2018-01-01/examples/event-grid-schema/api_definition_added.json
new file mode 100644
index 0000000000000..5ea99c9c97bf5
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.ApiCenter/stable/2018-01-01/examples/event-grid-schema/api_definition_added.json
@@ -0,0 +1,17 @@
+{
+ "topic": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso-resources/providers/Microsoft.ApiCenter/services",
+ "subject": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso-resources/providers/Microsoft.ApiCenter/services/contoso/workspaces/default/apis/echo-api/versions/2023-01-01/definitions/openapi",
+ "eventType": "Microsoft.ApiCenter.ApiDefinitionAdded",
+ "id": "beb21a5e-401e-002b-3749-928517060431",
+ "data": {
+ "title": "OpenAPI",
+ "description": "Default spec",
+ "specification": {
+ "name": "openapi",
+ "version": "3.0.1"
+ }
+ },
+ "dataVersion": "1.0.0",
+ "metadataVersion": "1",
+ "eventTime": "2024-03-01T00:00:00.0000000Z"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.ApiCenter/stable/2018-01-01/examples/event-grid-schema/api_definition_updated.json b/specification/eventgrid/data-plane/Microsoft.ApiCenter/stable/2018-01-01/examples/event-grid-schema/api_definition_updated.json
new file mode 100644
index 0000000000000..47abc102f3a89
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.ApiCenter/stable/2018-01-01/examples/event-grid-schema/api_definition_updated.json
@@ -0,0 +1,17 @@
+{
+ "topic": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso-resources/providers/Microsoft.ApiCenter/services",
+ "subject": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso-resources/providers/Microsoft.ApiCenter/services/contoso/workspaces/default/apis/echo-api/versions/2023-01-01/definitions/openapi",
+ "eventType": "Microsoft.ApiCenter.ApiDefinitionUpdated",
+ "id": "beb21a5e-401e-002b-3749-928517060431",
+ "data": {
+ "title": "OpenAPI",
+ "description": "Default spec",
+ "specification": {
+ "name": "openapi",
+ "version": "3.0.1"
+ }
+ },
+ "dataVersion": "1.0.0",
+ "metadataVersion": "1",
+ "eventTime": "2024-03-01T00:00:00.0000000Z"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2024-01-01/SystemEvents.json b/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2024-01-01/SystemEvents.json
new file mode 100644
index 0000000000000..84a62a7a7bd71
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2024-01-01/SystemEvents.json
@@ -0,0 +1,8423 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure.Messaging.SystemEvents",
+ "version": "2024-01-01",
+ "description": "Azure Messaging EventGrid SystemEvents",
+ "x-typespec-generated": [
+ {
+ "emitter": "@azure-tools/typespec-autorest"
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "tags": [],
+ "paths": {},
+ "definitions": {
+ "AcsChatEventBaseProperties": {
+ "type": "object",
+ "description": "Schema of common properties of all chat events",
+ "properties": {
+ "recipientCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel",
+ "description": "The communication identifier of the target user"
+ },
+ "transactionId": {
+ "type": "string",
+ "description": "The transaction id will be used as co-relation vector"
+ },
+ "threadId": {
+ "type": "string",
+ "description": "The chat thread id"
+ }
+ }
+ },
+ "AcsChatEventInThreadBaseProperties": {
+ "type": "object",
+ "description": "Schema of common properties of all thread-level chat events",
+ "properties": {
+ "transactionId": {
+ "type": "string",
+ "description": "The transaction id will be used as co-relation vector"
+ },
+ "threadId": {
+ "type": "string",
+ "description": "The chat thread id"
+ }
+ }
+ },
+ "AcsChatMessageDeletedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageDeleted event.",
+ "properties": {
+ "deleteTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time at which the message was deleted"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsChatMessageEventBaseProperties"
+ }
+ ]
+ },
+ "AcsChatMessageDeletedInThreadEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageDeletedInThread event.",
+ "properties": {
+ "deleteTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time at which the message was deleted"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsChatMessageEventInThreadBaseProperties"
+ }
+ ]
+ },
+ "AcsChatMessageEditedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageEdited event.",
+ "properties": {
+ "messageBody": {
+ "type": "string",
+ "description": "The body of the chat message"
+ },
+ "metadata": {
+ "type": "object",
+ "description": "The chat message metadata",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "editTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time at which the message was edited"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsChatMessageEventBaseProperties"
+ }
+ ]
+ },
+ "AcsChatMessageEditedInThreadEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageEditedInThread event.",
+ "properties": {
+ "messageBody": {
+ "type": "string",
+ "description": "The body of the chat message"
+ },
+ "metadata": {
+ "type": "object",
+ "description": "The chat message metadata",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "editTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time at which the message was edited"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsChatMessageEventInThreadBaseProperties"
+ }
+ ]
+ },
+ "AcsChatMessageEventBaseProperties": {
+ "type": "object",
+ "description": "Schema of common properties of all chat message events",
+ "properties": {
+ "messageId": {
+ "type": "string",
+ "description": "The chat message id"
+ },
+ "senderCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel",
+ "description": "The communication identifier of the sender"
+ },
+ "senderDisplayName": {
+ "type": "string",
+ "description": "The display name of the sender"
+ },
+ "composeTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The original compose time of the message"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the message"
+ },
+ "version": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The version of the message"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsChatEventBaseProperties"
+ }
+ ]
+ },
+ "AcsChatMessageEventInThreadBaseProperties": {
+ "type": "object",
+ "description": "Schema of common properties of all thread-level chat message events",
+ "properties": {
+ "messageId": {
+ "type": "string",
+ "description": "The chat message id"
+ },
+ "senderCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel",
+ "description": "The communication identifier of the sender"
+ },
+ "senderDisplayName": {
+ "type": "string",
+ "description": "The display name of the sender"
+ },
+ "composeTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The original compose time of the message"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the message"
+ },
+ "version": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The version of the message"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsChatEventInThreadBaseProperties"
+ }
+ ]
+ },
+ "AcsChatMessageReceivedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageReceived event.",
+ "properties": {
+ "messageBody": {
+ "type": "string",
+ "description": "The body of the chat message"
+ },
+ "metadata": {
+ "type": "object",
+ "description": "The chat message metadata",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsChatMessageEventBaseProperties"
+ }
+ ]
+ },
+ "AcsChatMessageReceivedInThreadEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageReceivedInThread event.",
+ "properties": {
+ "messageBody": {
+ "type": "string",
+ "description": "The body of the chat message"
+ },
+ "metadata": {
+ "type": "object",
+ "description": "The chat message metadata",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsChatMessageEventInThreadBaseProperties"
+ }
+ ]
+ },
+ "AcsChatParticipantAddedToThreadEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadParticipantAdded event.",
+ "properties": {
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time at which the user was added to the thread"
+ },
+ "addedByCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel",
+ "description": "The communication identifier of the user who added the user"
+ },
+ "participantAdded": {
+ "$ref": "#/definitions/AcsChatThreadParticipantProperties",
+ "description": "The details of the user who was added"
+ },
+ "version": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The version of the thread"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsChatEventInThreadBaseProperties"
+ }
+ ]
+ },
+ "AcsChatParticipantAddedToThreadWithUserEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatParticipantAddedToThreadWithUser event.",
+ "properties": {
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time at which the user was added to the thread"
+ },
+ "addedByCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel",
+ "description": "The communication identifier of the user who added the user"
+ },
+ "participantAdded": {
+ "$ref": "#/definitions/AcsChatThreadParticipantProperties",
+ "description": "The details of the user who was added"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsChatThreadEventBaseProperties"
+ }
+ ]
+ },
+ "AcsChatParticipantRemovedFromThreadEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadParticipantRemoved event.",
+ "properties": {
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time at which the user was removed to the thread"
+ },
+ "removedByCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel",
+ "description": "The communication identifier of the user who removed the user"
+ },
+ "participantRemoved": {
+ "$ref": "#/definitions/AcsChatThreadParticipantProperties",
+ "description": "The details of the user who was removed"
+ },
+ "version": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The version of the thread"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsChatEventInThreadBaseProperties"
+ }
+ ]
+ },
+ "AcsChatParticipantRemovedFromThreadWithUserEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatParticipantRemovedFromThreadWithUser event.",
+ "properties": {
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time at which the user was removed to the thread"
+ },
+ "removedByCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel",
+ "description": "The communication identifier of the user who removed the user"
+ },
+ "participantRemoved": {
+ "$ref": "#/definitions/AcsChatThreadParticipantProperties",
+ "description": "The details of the user who was removed"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsChatThreadEventBaseProperties"
+ }
+ ]
+ },
+ "AcsChatThreadCreatedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadCreated event.",
+ "properties": {
+ "createdByCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel",
+ "description": "The communication identifier of the user who created the thread"
+ },
+ "properties": {
+ "type": "object",
+ "description": "The thread properties",
+ "additionalProperties": {}
+ },
+ "metadata": {
+ "type": "object",
+ "description": "The thread metadata",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "participants": {
+ "type": "array",
+ "description": "The list of properties of participants who are part of the thread",
+ "items": {
+ "$ref": "#/definitions/AcsChatThreadParticipantProperties"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsChatThreadEventInThreadBaseProperties"
+ }
+ ]
+ },
+ "AcsChatThreadCreatedWithUserEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadCreatedWithUser event.",
+ "properties": {
+ "createdByCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel",
+ "description": "The communication identifier of the user who created the thread"
+ },
+ "properties": {
+ "type": "object",
+ "description": "The thread properties",
+ "additionalProperties": {}
+ },
+ "metadata": {
+ "type": "object",
+ "description": "The thread metadata",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "participants": {
+ "type": "array",
+ "description": "The list of properties of participants who are part of the thread",
+ "items": {
+ "$ref": "#/definitions/AcsChatThreadParticipantProperties"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsChatThreadEventBaseProperties"
+ }
+ ]
+ },
+ "AcsChatThreadDeletedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadDeleted event.",
+ "properties": {
+ "deletedByCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel",
+ "description": "The communication identifier of the user who deleted the thread"
+ },
+ "deleteTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The deletion time of the thread"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsChatThreadEventInThreadBaseProperties"
+ }
+ ]
+ },
+ "AcsChatThreadEventBaseProperties": {
+ "type": "object",
+ "description": "Schema of common properties of all chat thread events",
+ "properties": {
+ "createTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The original creation time of the thread"
+ },
+ "version": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The version of the thread"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsChatEventBaseProperties"
+ }
+ ]
+ },
+ "AcsChatThreadEventInThreadBaseProperties": {
+ "type": "object",
+ "description": "Schema of common properties of all chat thread events",
+ "properties": {
+ "createTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The original creation time of the thread"
+ },
+ "version": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The version of the thread"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsChatEventInThreadBaseProperties"
+ }
+ ]
+ },
+ "AcsChatThreadParticipantProperties": {
+ "type": "object",
+ "description": "Schema of the chat thread participant",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "The name of the user"
+ },
+ "participantCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel",
+ "description": "The communication identifier of the user"
+ },
+ "metadata": {
+ "type": "object",
+ "description": "The metadata of the user",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AcsChatThreadPropertiesUpdatedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadPropertiesUpdated event.",
+ "properties": {
+ "editedByCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel",
+ "description": "The communication identifier of the user who updated the thread properties"
+ },
+ "editTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time at which the properties of the thread were updated"
+ },
+ "properties": {
+ "type": "object",
+ "description": "The updated thread properties",
+ "additionalProperties": {}
+ },
+ "metadata": {
+ "type": "object",
+ "description": "The thread metadata",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsChatThreadEventInThreadBaseProperties"
+ }
+ ]
+ },
+ "AcsChatThreadPropertiesUpdatedPerUserEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadPropertiesUpdatedPerUser event.",
+ "properties": {
+ "editedByCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel",
+ "description": "The communication identifier of the user who updated the thread properties"
+ },
+ "editTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time at which the properties of the thread were updated"
+ },
+ "metadata": {
+ "type": "object",
+ "description": "The thread metadata",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "type": "object",
+ "description": "The updated thread properties",
+ "additionalProperties": {}
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsChatThreadEventBaseProperties"
+ }
+ ]
+ },
+ "AcsChatThreadWithUserDeletedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadWithUserDeleted event.",
+ "properties": {
+ "deletedByCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel",
+ "description": "The communication identifier of the user who deleted the thread"
+ },
+ "deleteTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The deletion time of the thread"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsChatThreadEventBaseProperties"
+ }
+ ]
+ },
+ "AcsEmailDeliveryReportReceivedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.EmailDeliveryReportReceived event.",
+ "properties": {
+ "sender": {
+ "type": "string",
+ "description": "The Sender Email Address"
+ },
+ "recipient": {
+ "type": "string",
+ "description": "The recipient Email Address"
+ },
+ "messageId": {
+ "type": "string",
+ "description": "The Id of the email been sent"
+ },
+ "status": {
+ "$ref": "#/definitions/AcsEmailDeliveryReportStatus",
+ "description": "The status of the email. Any value other than Delivered is considered failed."
+ },
+ "deliveryStatusDetails": {
+ "$ref": "#/definitions/AcsEmailDeliveryReportStatusDetails",
+ "description": "Detailed information about the status if any"
+ },
+ "deliveryAttemptTimeStamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time at which the email delivery report received timestamp",
+ "x-ms-client-name": "deliveryAttemptTimestamp"
+ }
+ }
+ },
+ "AcsEmailDeliveryReportStatus": {
+ "type": "string",
+ "description": "The status of the email. Any value other than Delivered is considered failed.",
+ "enum": [
+ "Bounced",
+ "Delivered",
+ "Failed",
+ "FilteredSpam",
+ "Quarantined",
+ "Suppressed"
+ ],
+ "x-ms-enum": {
+ "name": "AcsEmailDeliveryReportStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "Bounced",
+ "value": "Bounced",
+ "description": "Hard bounce detected while sending the email"
+ },
+ {
+ "name": "Delivered",
+ "value": "Delivered",
+ "description": "The email was delivered"
+ },
+ {
+ "name": "Failed",
+ "value": "Failed",
+ "description": "The email failed to be delivered"
+ },
+ {
+ "name": "FilteredSpam",
+ "value": "FilteredSpam",
+ "description": "The message was identified as spam and was rejected or blocked (not quarantined)."
+ },
+ {
+ "name": "Quarantined",
+ "value": "Quarantined",
+ "description": "The message was quarantined (as spam, bulk mail, or phishing). For more information, see Quarantined email messages in EOP (EXCHANGE ONLINE PROTECTION)."
+ },
+ {
+ "name": "Suppressed",
+ "value": "Suppressed",
+ "description": "The email was suppressed"
+ }
+ ]
+ }
+ },
+ "AcsEmailDeliveryReportStatusDetails": {
+ "type": "object",
+ "description": "Detailed information about the status if any",
+ "properties": {
+ "statusMessage": {
+ "type": "string",
+ "description": "Detailed status message"
+ }
+ }
+ },
+ "AcsEmailEngagementTrackingReportReceivedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.EmailEngagementTrackingReportReceived event.",
+ "properties": {
+ "sender": {
+ "type": "string",
+ "description": "The Sender Email Address"
+ },
+ "recipient": {
+ "type": "string",
+ "description": "The Recipient Email Address"
+ },
+ "messageId": {
+ "type": "string",
+ "description": "The Id of the email that has been sent"
+ },
+ "userActionTimeStamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time at which the user interacted with the email",
+ "x-ms-client-name": "userActionTimestamp"
+ },
+ "engagementContext": {
+ "type": "string",
+ "description": "The context of the type of engagement user had with email"
+ },
+ "userAgent": {
+ "type": "string",
+ "description": "The user agent interacting with the email"
+ },
+ "engagementType": {
+ "$ref": "#/definitions/AcsUserEngagement",
+ "description": "The type of engagement user have with email",
+ "x-ms-client-name": "engagement"
+ }
+ }
+ },
+ "AcsIncomingCallCustomContext": {
+ "type": "object",
+ "description": "Custom Context of Incoming Call",
+ "properties": {
+ "sipHeaders": {
+ "type": "object",
+ "description": "Sip Headers for incoming call",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "voipHeaders": {
+ "type": "object",
+ "description": "Voip Headers for incoming call",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AcsIncomingCallEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.IncomingCall event",
+ "properties": {
+ "to": {
+ "$ref": "#/definitions/CommunicationIdentifierModel",
+ "description": "The communication identifier of the target user.",
+ "x-ms-client-name": "toCommunicationIdentifier"
+ },
+ "from": {
+ "$ref": "#/definitions/CommunicationIdentifierModel",
+ "description": "The communication identifier of the user who initiated the call.",
+ "x-ms-client-name": "fromCommunicationIdentifier"
+ },
+ "serverCallId": {
+ "type": "string",
+ "description": "The Id of the server call"
+ },
+ "callerDisplayName": {
+ "type": "string",
+ "description": "Display name of caller."
+ },
+ "customContext": {
+ "$ref": "#/definitions/AcsIncomingCallCustomContext",
+ "description": "Custom Context of Incoming Call"
+ },
+ "incomingCallContext": {
+ "type": "string",
+ "description": "Signed incoming call context."
+ },
+ "correlationId": {
+ "type": "string",
+ "description": "CorrelationId (CallId)."
+ }
+ }
+ },
+ "AcsRecordingChunkInfoProperties": {
+ "type": "object",
+ "description": "Schema for all properties of Recording Chunk Information.",
+ "properties": {
+ "documentId": {
+ "type": "string",
+ "description": "The documentId of the recording chunk"
+ },
+ "index": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The index of the recording chunk"
+ },
+ "endReason": {
+ "type": "string",
+ "description": "The reason for ending the recording chunk"
+ },
+ "metadataLocation": {
+ "type": "string",
+ "description": "The location of the metadata for this chunk"
+ },
+ "contentLocation": {
+ "type": "string",
+ "description": "The location of the content for this chunk"
+ },
+ "deleteLocation": {
+ "type": "string",
+ "description": "The location to delete all chunk storage"
+ }
+ }
+ },
+ "AcsRecordingFileStatusUpdatedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RecordingFileStatusUpdated event.",
+ "properties": {
+ "recordingStorageInfo": {
+ "$ref": "#/definitions/AcsRecordingStorageInfoProperties",
+ "description": "The details of recording storage information"
+ },
+ "recordingStartTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time at which the recording started"
+ },
+ "recordingDurationMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The recording duration in milliseconds"
+ },
+ "recordingContentType": {
+ "$ref": "#/definitions/recordingContentType",
+ "description": "The recording content type- AudioVideo, or Audio"
+ },
+ "recordingChannelType": {
+ "$ref": "#/definitions/recordingChannelType",
+ "description": "The recording channel type - Mixed, Unmixed"
+ },
+ "recordingFormatType": {
+ "$ref": "#/definitions/recordingFormatType",
+ "description": "The recording format type - Mp4, Mp3, Wav"
+ },
+ "sessionEndReason": {
+ "type": "string",
+ "description": "The reason for ending recording session"
+ }
+ }
+ },
+ "AcsRecordingStorageInfoProperties": {
+ "type": "object",
+ "description": "Schema for all properties of Recording Storage Information.",
+ "properties": {
+ "recordingChunks": {
+ "type": "array",
+ "description": "List of details of recording chunks information",
+ "items": {
+ "$ref": "#/definitions/AcsRecordingChunkInfoProperties"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "AcsRouterChannelConfiguration": {
+ "type": "object",
+ "description": "Router Channel Configuration",
+ "properties": {
+ "channelId": {
+ "type": "string",
+ "description": "Channel ID for Router Job"
+ },
+ "capacityCostPerJob": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Capacity Cost Per Job for Router Job"
+ },
+ "maxNumberOfJobs": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Max Number of Jobs for Router Job"
+ }
+ }
+ },
+ "AcsRouterCommunicationError": {
+ "type": "object",
+ "description": "Router Communication Error",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Router Communication Error Code"
+ },
+ "message": {
+ "type": "string",
+ "description": "Router Communication Error Message"
+ },
+ "target": {
+ "type": "string",
+ "description": "Router Communication Error Target"
+ },
+ "innererror": {
+ "$ref": "#/definitions/AcsRouterCommunicationError",
+ "description": "Router Communication Inner Error"
+ },
+ "details": {
+ "type": "array",
+ "description": "List of Router Communication Errors",
+ "items": {
+ "$ref": "#/definitions/AcsRouterCommunicationError"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "AcsRouterEventData": {
+ "type": "object",
+ "description": "Schema of common properties of all Router events",
+ "properties": {
+ "jobId": {
+ "type": "string",
+ "description": "Router Event Job ID"
+ },
+ "channelReference": {
+ "type": "string",
+ "description": "Router Event Channel Reference"
+ },
+ "channelId": {
+ "type": "string",
+ "description": "Router Event Channel ID"
+ }
+ }
+ },
+ "AcsRouterJobCancelledEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobCancelled event",
+ "properties": {
+ "note": {
+ "type": "string",
+ "description": "Router Job Note"
+ },
+ "dispositionCode": {
+ "type": "string",
+ "description": "Router Job Disposition Code"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsRouterJobEventData"
+ }
+ ]
+ },
+ "AcsRouterJobClassificationFailedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobClassificationFailed event",
+ "properties": {
+ "classificationPolicyId": {
+ "type": "string",
+ "description": "Router Job Classification Policy Id"
+ },
+ "errors": {
+ "type": "array",
+ "description": "Router Job Classification Failed Errors",
+ "items": {
+ "$ref": "#/definitions/AcsRouterCommunicationError"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsRouterJobEventData"
+ }
+ ]
+ },
+ "AcsRouterJobClassifiedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobClassified event",
+ "properties": {
+ "queueDetails": {
+ "$ref": "#/definitions/AcsRouterQueueDetails",
+ "description": "Router Job Queue Info"
+ },
+ "classificationPolicyId": {
+ "type": "string",
+ "description": "Router Job Classification Policy Id"
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Router Job Priority"
+ },
+ "attachedWorkerSelectors": {
+ "type": "array",
+ "description": "Router Job Attached Worker Selector",
+ "items": {
+ "$ref": "#/definitions/AcsRouterWorkerSelector"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsRouterJobEventData"
+ }
+ ]
+ },
+ "AcsRouterJobClosedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobClosed event",
+ "properties": {
+ "assignmentId": {
+ "type": "string",
+ "description": "Router Job Closed Assignment Id"
+ },
+ "workerId": {
+ "type": "string",
+ "description": "Router Job Closed Worker Id"
+ },
+ "dispositionCode": {
+ "type": "string",
+ "description": "Router Job Closed Disposition Code"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsRouterJobEventData"
+ }
+ ]
+ },
+ "AcsRouterJobCompletedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobCompleted event",
+ "properties": {
+ "assignmentId": {
+ "type": "string",
+ "description": "Router Job Completed Assignment Id"
+ },
+ "workerId": {
+ "type": "string",
+ "description": "Router Job Completed Worker Id"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsRouterJobEventData"
+ }
+ ]
+ },
+ "AcsRouterJobDeletedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobDeleted event",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsRouterJobEventData"
+ }
+ ]
+ },
+ "AcsRouterJobEventData": {
+ "type": "object",
+ "description": "Schema of common properties of all Router Job events",
+ "properties": {
+ "queueId": {
+ "type": "string",
+ "description": "Router Job events Queue Id"
+ },
+ "labels": {
+ "type": "object",
+ "description": "Router Job events Labels",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "tags": {
+ "type": "object",
+ "description": "Router Jobs events Tags",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsRouterEventData"
+ }
+ ]
+ },
+ "AcsRouterJobExceptionTriggeredEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobExceptionTriggered event",
+ "properties": {
+ "ruleKey": {
+ "type": "string",
+ "description": "Router Job Exception Triggered Rule Key"
+ },
+ "exceptionRuleId": {
+ "type": "string",
+ "description": "Router Job Exception Triggered Rule Id"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsRouterJobEventData"
+ }
+ ]
+ },
+ "AcsRouterJobQueuedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobQueued event",
+ "properties": {
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Router Job Priority"
+ },
+ "attachedWorkerSelectors": {
+ "type": "array",
+ "description": "Router Job Queued Attached Worker Selector",
+ "items": {
+ "$ref": "#/definitions/AcsRouterWorkerSelector"
+ },
+ "x-ms-identifiers": []
+ },
+ "requestedWorkerSelectors": {
+ "type": "array",
+ "description": "Router Job Queued Requested Worker Selector",
+ "items": {
+ "$ref": "#/definitions/AcsRouterWorkerSelector"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsRouterJobEventData"
+ }
+ ]
+ },
+ "AcsRouterJobReceivedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobReceived event",
+ "properties": {
+ "jobStatus": {
+ "$ref": "#/definitions/AcsRouterJobStatus",
+ "description": "Router Job Received Job Status"
+ },
+ "classificationPolicyId": {
+ "type": "string",
+ "description": "Router Job Classification Policy Id"
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Router Job Priority"
+ },
+ "requestedWorkerSelectors": {
+ "type": "array",
+ "description": "Router Job Received Requested Worker Selectors",
+ "items": {
+ "$ref": "#/definitions/AcsRouterWorkerSelector"
+ },
+ "x-ms-identifiers": []
+ },
+ "scheduledOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Router Job Received Scheduled Time in UTC"
+ },
+ "unavailableForMatching": {
+ "type": "boolean",
+ "description": "Unavailable For Matching for Router Job Received"
+ }
+ },
+ "required": [
+ "unavailableForMatching"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsRouterJobEventData"
+ }
+ ]
+ },
+ "AcsRouterJobSchedulingFailedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobSchedulingFailed event",
+ "properties": {
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Router Job Priority"
+ },
+ "expiredAttachedWorkerSelectors": {
+ "type": "array",
+ "description": "Router Job Scheduling Failed Attached Worker Selector Expired",
+ "items": {
+ "$ref": "#/definitions/AcsRouterWorkerSelector"
+ },
+ "x-ms-identifiers": []
+ },
+ "expiredRequestedWorkerSelectors": {
+ "type": "array",
+ "description": "Router Job Scheduling Failed Requested Worker Selector Expired",
+ "items": {
+ "$ref": "#/definitions/AcsRouterWorkerSelector"
+ },
+ "x-ms-identifiers": []
+ },
+ "scheduledOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Router Job Scheduling Failed Scheduled Time in UTC"
+ },
+ "failureReason": {
+ "type": "string",
+ "description": "Router Job Scheduling Failed Reason"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsRouterJobEventData"
+ }
+ ]
+ },
+ "AcsRouterJobStatus": {
+ "type": "string",
+ "description": "Acs Router Job Status",
+ "enum": [
+ "PendingClassification",
+ "Queued",
+ "Assigned",
+ "Completed",
+ "Closed",
+ "Cancelled",
+ "ClassificationFailed",
+ "Created",
+ "PendingSchedule",
+ "Scheduled",
+ "ScheduleFailed",
+ "WaitingForActivation"
+ ],
+ "x-ms-enum": {
+ "name": "AcsRouterJobStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "PendingClassification",
+ "value": "PendingClassification",
+ "description": "Router Job Status Pending Classification"
+ },
+ {
+ "name": "Queued",
+ "value": "Queued",
+ "description": "Router Job Status Queued"
+ },
+ {
+ "name": "Assigned",
+ "value": "Assigned",
+ "description": "Router Job Status Assigned"
+ },
+ {
+ "name": "Completed",
+ "value": "Completed",
+ "description": "Router Job Status Completed"
+ },
+ {
+ "name": "Closed",
+ "value": "Closed",
+ "description": "Router Job Status Closed"
+ },
+ {
+ "name": "Cancelled",
+ "value": "Cancelled",
+ "description": "Router Job Status Cancelled"
+ },
+ {
+ "name": "ClassificationFailed",
+ "value": "ClassificationFailed",
+ "description": "Router Job Status Classification Failed"
+ },
+ {
+ "name": "Created",
+ "value": "Created",
+ "description": "Router Job Status Created"
+ },
+ {
+ "name": "PendingSchedule",
+ "value": "PendingSchedule",
+ "description": "Router Job Status Pending Schedule"
+ },
+ {
+ "name": "Scheduled",
+ "value": "Scheduled",
+ "description": "Router Job Status Scheduled"
+ },
+ {
+ "name": "ScheduleFailed",
+ "value": "ScheduleFailed",
+ "description": "Router Job Status Schedule Failed"
+ },
+ {
+ "name": "WaitingForActivation",
+ "value": "WaitingForActivation",
+ "description": "Router Job Status Waiting For Activation"
+ }
+ ]
+ }
+ },
+ "AcsRouterJobUnassignedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobUnassigned event",
+ "properties": {
+ "assignmentId": {
+ "type": "string",
+ "description": "Router Job Unassigned Assignment Id"
+ },
+ "workerId": {
+ "type": "string",
+ "description": "Router Job Unassigned Worker Id"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsRouterJobEventData"
+ }
+ ]
+ },
+ "AcsRouterJobWaitingForActivationEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobWaitingForActivation event",
+ "properties": {
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Router Job Waiting For Activation Priority"
+ },
+ "expiredAttachedWorkerSelectors": {
+ "type": "array",
+ "description": "Router Job Waiting For Activation Worker Selector Expired",
+ "items": {
+ "$ref": "#/definitions/AcsRouterWorkerSelector"
+ },
+ "x-ms-identifiers": []
+ },
+ "expiredRequestedWorkerSelectors": {
+ "type": "array",
+ "description": "Router Job Waiting For Activation Requested Worker Selector Expired",
+ "items": {
+ "$ref": "#/definitions/AcsRouterWorkerSelector"
+ },
+ "x-ms-identifiers": []
+ },
+ "scheduledOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Router Job Waiting For Activation Scheduled Time in UTC"
+ },
+ "unavailableForMatching": {
+ "type": "boolean",
+ "description": "Router Job Waiting For Activation Unavailable For Matching"
+ }
+ },
+ "required": [
+ "unavailableForMatching"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsRouterJobEventData"
+ }
+ ]
+ },
+ "AcsRouterJobWorkerSelectorsExpiredEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterJobWorkerSelectorsExpired event",
+ "properties": {
+ "expiredRequestedWorkerSelectors": {
+ "type": "array",
+ "description": "Router Job Worker Selectors Expired Requested Worker Selectors",
+ "items": {
+ "$ref": "#/definitions/AcsRouterWorkerSelector"
+ },
+ "x-ms-identifiers": []
+ },
+ "expiredAttachedWorkerSelectors": {
+ "type": "array",
+ "description": "Router Job Worker Selectors Expired Attached Worker Selectors",
+ "items": {
+ "$ref": "#/definitions/AcsRouterWorkerSelector"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsRouterJobEventData"
+ }
+ ]
+ },
+ "AcsRouterLabelOperator": {
+ "type": "string",
+ "description": "Router Job Worker Selector Label Operator",
+ "enum": [
+ "Equal",
+ "NotEqual",
+ "Greater",
+ "Less",
+ "GreaterThanOrEqual",
+ "LessThanOrEqual"
+ ],
+ "x-ms-enum": {
+ "name": "AcsRouterLabelOperator",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "Equal",
+ "value": "Equal",
+ "description": "Router Label Operator Equal"
+ },
+ {
+ "name": "NotEqual",
+ "value": "NotEqual",
+ "description": "Router Label Operator Not Equal"
+ },
+ {
+ "name": "Greater",
+ "value": "Greater",
+ "description": "Router Label Operator Greater"
+ },
+ {
+ "name": "Less",
+ "value": "Less",
+ "description": "Router Label Operator Less"
+ },
+ {
+ "name": "GreaterThanOrEqual",
+ "value": "GreaterThanOrEqual",
+ "description": "Router Label Operator Greater than or equal"
+ },
+ {
+ "name": "LessThanOrEqual",
+ "value": "LessThanOrEqual",
+ "description": "Router Label Operator Less than or equal"
+ }
+ ]
+ }
+ },
+ "AcsRouterQueueDetails": {
+ "type": "object",
+ "description": "Router Queue Details",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Router Queue Id"
+ },
+ "name": {
+ "type": "string",
+ "description": "Router Queue Name"
+ },
+ "labels": {
+ "type": "object",
+ "description": "Router Queue Labels",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AcsRouterWorkerDeletedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterWorkerDeleted event",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsRouterWorkerEventData"
+ }
+ ]
+ },
+ "AcsRouterWorkerDeregisteredEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterWorkerDeregistered event",
+ "properties": {
+ "workerId": {
+ "type": "string",
+ "description": "Router Worker Deregistered Worker Id"
+ }
+ }
+ },
+ "AcsRouterWorkerEventData": {
+ "type": "object",
+ "description": "Schema of common properties of all Router Worker events",
+ "properties": {
+ "workerId": {
+ "type": "string",
+ "description": "Router Worker events Worker Id"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsRouterEventData"
+ }
+ ]
+ },
+ "AcsRouterWorkerOfferAcceptedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterWorkerOfferAccepted event",
+ "properties": {
+ "queueId": {
+ "type": "string",
+ "description": "Router Worker Offer Accepted Queue Id"
+ },
+ "offerId": {
+ "type": "string",
+ "description": "Router Worker Offer Accepted Offer Id"
+ },
+ "assignmentId": {
+ "type": "string",
+ "description": "Router Worker Offer Accepted Assignment Id"
+ },
+ "jobPriority": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Router Worker Offer Accepted Job Priority"
+ },
+ "workerLabels": {
+ "type": "object",
+ "description": "Router Worker Offer Accepted Worker Labels",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "workerTags": {
+ "type": "object",
+ "description": "Router Worker Offer Accepted Worker Tags",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "jobLabels": {
+ "type": "object",
+ "description": "Router Worker Offer Accepted Job Labels",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "jobTags": {
+ "type": "object",
+ "description": "Router Worker Offer Accepted Job Tags",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsRouterWorkerEventData"
+ }
+ ]
+ },
+ "AcsRouterWorkerOfferDeclinedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterWorkerOfferDeclined event",
+ "properties": {
+ "queueId": {
+ "type": "string",
+ "description": "Router Worker Offer Declined Queue Id"
+ },
+ "offerId": {
+ "type": "string",
+ "description": "Router Worker Offer Declined Offer Id"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsRouterWorkerEventData"
+ }
+ ]
+ },
+ "AcsRouterWorkerOfferExpiredEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterWorkerOfferExpired event",
+ "properties": {
+ "queueId": {
+ "type": "string",
+ "description": "Router Worker Offer Expired Queue Id"
+ },
+ "offerId": {
+ "type": "string",
+ "description": "Router Worker Offer Expired Offer Id"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsRouterWorkerEventData"
+ }
+ ]
+ },
+ "AcsRouterWorkerOfferIssuedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterWorkerOfferIssued event",
+ "properties": {
+ "queueId": {
+ "type": "string",
+ "description": "Router Worker Offer Issued Queue Id"
+ },
+ "offerId": {
+ "type": "string",
+ "description": "Router Worker Offer Issued Offer Id"
+ },
+ "jobPriority": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Router Worker Offer Issued Job Priority"
+ },
+ "workerLabels": {
+ "type": "object",
+ "description": "Router Worker Offer Issued Worker Labels",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "offeredOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Router Worker Offer Issued Time in UTC"
+ },
+ "expiresOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Router Worker Offer Issued Expiration Time in UTC"
+ },
+ "workerTags": {
+ "type": "object",
+ "description": "Router Worker Offer Issued Worker Tags",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "jobLabels": {
+ "type": "object",
+ "description": "Router Worker Offer Issued Job Labels",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "jobTags": {
+ "type": "object",
+ "description": "Router Worker Offer Issued Job Tags",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsRouterWorkerEventData"
+ }
+ ]
+ },
+ "AcsRouterWorkerOfferRevokedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterWorkerOfferRevoked event",
+ "properties": {
+ "queueId": {
+ "type": "string",
+ "description": "Router Worker Offer Revoked Queue Id"
+ },
+ "offerId": {
+ "type": "string",
+ "description": "Router Worker Offer Revoked Offer Id"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsRouterWorkerEventData"
+ }
+ ]
+ },
+ "AcsRouterWorkerRegisteredEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RouterWorkerRegistered event",
+ "properties": {
+ "workerId": {
+ "type": "string",
+ "description": "Router Worker Registered Worker Id"
+ },
+ "queueAssignments": {
+ "type": "array",
+ "description": "Router Worker Registered Queue Info",
+ "items": {
+ "$ref": "#/definitions/AcsRouterQueueDetails"
+ }
+ },
+ "channelConfigurations": {
+ "type": "array",
+ "description": "Router Worker Registered Channel Configuration",
+ "items": {
+ "$ref": "#/definitions/AcsRouterChannelConfiguration"
+ },
+ "x-ms-identifiers": []
+ },
+ "totalCapacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Router Worker Register Total Capacity"
+ },
+ "labels": {
+ "type": "object",
+ "description": "Router Worker Registered Labels",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "tags": {
+ "type": "object",
+ "description": "Router Worker Registered Tags",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AcsRouterWorkerSelector": {
+ "type": "object",
+ "description": "Router Job Worker Selector",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "Router Job Worker Selector Key"
+ },
+ "operator": {
+ "$ref": "#/definitions/AcsRouterLabelOperator",
+ "description": "Router Job Worker Selector Label Operator"
+ },
+ "labelValue": {
+ "description": "Router Job Worker Selector Value"
+ },
+ "ttlSeconds": {
+ "type": "string",
+ "format": "duration",
+ "description": "Router Job Worker Selector Time to Live in Seconds"
+ },
+ "selectorState": {
+ "$ref": "#/definitions/AcsRouterWorkerSelectorState",
+ "description": "Router Job Worker Selector State"
+ },
+ "expirationTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Router Job Worker Selector Expiration Time"
+ }
+ }
+ },
+ "AcsRouterWorkerSelectorState": {
+ "type": "string",
+ "description": "Router Worker Selector State",
+ "enum": [
+ "active",
+ "expired"
+ ],
+ "x-ms-enum": {
+ "name": "AcsRouterWorkerSelectorState",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "Active",
+ "value": "active",
+ "description": "Router Worker Selector State Active"
+ },
+ {
+ "name": "Expired",
+ "value": "expired",
+ "description": "Router Worker Selector State Expired"
+ }
+ ]
+ }
+ },
+ "AcsSmsDeliveryAttemptProperties": {
+ "type": "object",
+ "description": "Schema for details of a delivery attempt",
+ "properties": {
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "TimeStamp when delivery was attempted"
+ },
+ "segmentsSucceeded": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of segments that were successfully delivered"
+ },
+ "segmentsFailed": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of segments whose delivery failed"
+ }
+ }
+ },
+ "AcsSmsDeliveryReportReceivedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.SMSDeliveryReportReceived event.",
+ "properties": {
+ "deliveryStatus": {
+ "type": "string",
+ "description": "Status of Delivery"
+ },
+ "deliveryStatusDetails": {
+ "type": "string",
+ "description": "Details about Delivery Status"
+ },
+ "deliveryAttempts": {
+ "type": "array",
+ "description": "List of details of delivery attempts made",
+ "items": {
+ "$ref": "#/definitions/AcsSmsDeliveryAttemptProperties"
+ },
+ "x-ms-identifiers": []
+ },
+ "receivedTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time at which the SMS delivery report was received"
+ },
+ "tag": {
+ "type": "string",
+ "description": "Customer Content"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsSmsEventBaseProperties"
+ }
+ ]
+ },
+ "AcsSmsEventBaseProperties": {
+ "type": "object",
+ "description": "Schema of common properties of all SMS events",
+ "properties": {
+ "messageId": {
+ "type": "string",
+ "description": "The identity of the SMS message"
+ },
+ "from": {
+ "type": "string",
+ "description": "The identity of SMS message sender"
+ },
+ "to": {
+ "type": "string",
+ "description": "The identity of SMS message receiver"
+ }
+ }
+ },
+ "AcsSmsReceivedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.SMSReceived event.",
+ "properties": {
+ "message": {
+ "type": "string",
+ "description": "The SMS content"
+ },
+ "receivedTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time at which the SMS was received"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsSmsEventBaseProperties"
+ }
+ ]
+ },
+ "AcsUserDisconnectedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.UserDisconnected event.",
+ "properties": {
+ "userCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel",
+ "description": "The communication identifier of the user who was disconnected"
+ }
+ }
+ },
+ "AcsUserEngagement": {
+ "type": "string",
+ "description": "The type of engagement user have with email.",
+ "enum": [
+ "view",
+ "click"
+ ],
+ "x-ms-enum": {
+ "name": "AcsUserEngagement",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "view",
+ "value": "view",
+ "description": "View"
+ },
+ {
+ "name": "click",
+ "value": "click",
+ "description": "Click"
+ }
+ ]
+ }
+ },
+ "ApiManagementApiCreatedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.APICreated event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///`"
+ }
+ }
+ },
+ "ApiManagementApiDeletedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.APIDeleted event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///`"
+ }
+ }
+ },
+ "ApiManagementApiReleaseCreatedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.APIReleaseCreated event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///`"
+ }
+ }
+ },
+ "ApiManagementApiReleaseDeletedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.APIReleaseDeleted event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///`"
+ }
+ }
+ },
+ "ApiManagementApiReleaseUpdatedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.APIReleaseUpdated event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///`"
+ }
+ }
+ },
+ "ApiManagementApiUpdatedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.APIUpdated event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///`"
+ }
+ }
+ },
+ "ApiManagementGatewayApiAddedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayAPIAdded event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service//gateways//apis/`"
+ }
+ }
+ },
+ "ApiManagementGatewayApiRemovedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayAPIRemoved event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service//gateways//apis/`"
+ }
+ }
+ },
+ "ApiManagementGatewayCertificateAuthorityCreatedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayCertificateAuthorityCreated event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service//gateways//certificateAuthorities/`"
+ }
+ }
+ },
+ "ApiManagementGatewayCertificateAuthorityDeletedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayCertificateAuthorityDeleted event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service//gateways//certificateAuthorities/`"
+ }
+ }
+ },
+ "ApiManagementGatewayCertificateAuthorityUpdatedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayCertificateAuthorityUpdated event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service//gateways//certificateAuthorities/`"
+ }
+ }
+ },
+ "ApiManagementGatewayCreatedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayCreated event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service//gateways/`"
+ }
+ }
+ },
+ "ApiManagementGatewayDeletedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayDeleted event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service//gateways/`"
+ }
+ }
+ },
+ "ApiManagementGatewayHostnameConfigurationCreatedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayHostnameConfigurationCreated event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service//gateways//hostnameConfigurations/`"
+ }
+ }
+ },
+ "ApiManagementGatewayHostnameConfigurationDeletedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayHostnameConfigurationDeleted event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service//gateways//hostnameConfigurations/`"
+ }
+ }
+ },
+ "ApiManagementGatewayHostnameConfigurationUpdatedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayHostnameConfigurationUpdated event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service//gateways//hostnameConfigurations/`"
+ }
+ }
+ },
+ "ApiManagementGatewayUpdatedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayUpdated event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service//gateways/`"
+ }
+ }
+ },
+ "ApiManagementProductCreatedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ProductCreated event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///`"
+ }
+ }
+ },
+ "ApiManagementProductDeletedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ProductDeleted event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///`"
+ }
+ }
+ },
+ "ApiManagementProductUpdatedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ProductUpdated event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///`"
+ }
+ }
+ },
+ "ApiManagementSubscriptionCreatedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.SubscriptionCreated event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///`"
+ }
+ }
+ },
+ "ApiManagementSubscriptionDeletedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.SubscriptionDeleted event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///`"
+ }
+ }
+ },
+ "ApiManagementSubscriptionUpdatedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.SubscriptionUpdated event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///`"
+ }
+ }
+ },
+ "ApiManagementUserCreatedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.UserCreated event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///`"
+ }
+ }
+ },
+ "ApiManagementUserDeletedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.UserDeleted event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///`"
+ }
+ }
+ },
+ "ApiManagementUserUpdatedEventData": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.UserUpdated event.",
+ "properties": {
+ "resourceUri": {
+ "type": "string",
+ "description": "The fully qualified ID of the resource that the compliance state change is for, including the resource name and resource type. Uses the format, `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///