{ "swagger": "2.0", "info": { "title": "Microsoft.CloudHealth", "version": "2026-05-01-preview", "x-typespec-generated": [ { "emitter": "@azure-tools/typespec-autorest" } ] }, "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": "Operations" }, { "name": "HealthModels" }, { "name": "SignalDefinitions" }, { "name": "AuthenticationSettings" }, { "name": "Entities" }, { "name": "Relationships" }, { "name": "DiscoveryRules" } ], "paths": { "/providers/Microsoft.CloudHealth/operations": { "get": { "operationId": "Operations_List", "tags": [ "Operations" ], "description": "List the operations for the provider", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/OperationListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Operations_List": { "$ref": "./examples/Operations_List.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.CloudHealth/healthmodels": { "get": { "operationId": "HealthModels_ListBySubscription", "tags": [ "HealthModels" ], "description": "List HealthModel resources by subscription ID", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/HealthModelListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "HealthModels_ListBySubscription": { "$ref": "./examples/HealthModels_ListBySubscription.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CloudHealth/healthmodels": { "get": { "operationId": "HealthModels_ListByResourceGroup", "tags": [ "HealthModels" ], "description": "List HealthModel resources by resource group", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/HealthModelListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "HealthModels_ListByResourceGroup": { "$ref": "./examples/HealthModels_ListByResourceGroup.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CloudHealth/healthmodels/{healthModelName}": { "get": { "operationId": "HealthModels_Get", "tags": [ "HealthModels" ], "description": "Get a HealthModel", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/HealthModel" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "HealthModels_Get": { "$ref": "./examples/HealthModels_Get.json" } } }, "put": { "operationId": "HealthModels_Create", "tags": [ "HealthModels" ], "description": "Create a HealthModel", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "resource", "in": "body", "description": "Resource create parameters.", "required": true, "schema": { "$ref": "#/definitions/HealthModel" } } ], "responses": { "200": { "description": "Resource 'HealthModel' update operation succeeded", "schema": { "$ref": "#/definitions/HealthModel" } }, "201": { "description": "Resource 'HealthModel' create operation succeeded", "schema": { "$ref": "#/definitions/HealthModel" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "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/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "HealthModels_Create": { "$ref": "./examples/HealthModels_Create.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "HealthModels_Update", "tags": [ "HealthModels" ], "description": "Update a HealthModel", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "properties", "in": "body", "description": "The resource properties to be updated.", "required": true, "schema": { "$ref": "#/definitions/HealthModelUpdate" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/HealthModel" } }, "202": { "description": "Resource update request accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "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/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "HealthModels_Update": { "$ref": "./examples/HealthModels_Update.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "HealthModels_Delete", "tags": [ "HealthModels" ], "description": "Delete a HealthModel", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" } ], "responses": { "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "HealthModels_Delete": { "$ref": "./examples/HealthModels_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CloudHealth/healthmodels/{healthModelName}/authenticationsettings": { "get": { "operationId": "AuthenticationSettings_ListByHealthModel", "tags": [ "AuthenticationSettings" ], "description": "List AuthenticationSetting resources by HealthModel", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/AuthenticationSettingListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AuthenticationSettings_ListByHealthModel": { "$ref": "./examples/AuthenticationSettings_ListByHealthModel.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CloudHealth/healthmodels/{healthModelName}/authenticationsettings/{authenticationSettingName}": { "get": { "operationId": "AuthenticationSettings_Get", "tags": [ "AuthenticationSettings" ], "description": "Get a AuthenticationSetting", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "authenticationSettingName", "in": "path", "description": "Name of the authentication setting. Must be unique within a health model.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/AuthenticationSetting" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AuthenticationSettings_Get": { "$ref": "./examples/AuthenticationSettings_Get.json" } } }, "put": { "operationId": "AuthenticationSettings_CreateOrUpdate", "tags": [ "AuthenticationSettings" ], "description": "Create a AuthenticationSetting", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "authenticationSettingName", "in": "path", "description": "Name of the authentication setting. Must be unique within a health model.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" }, { "name": "resource", "in": "body", "description": "Resource create parameters.", "required": true, "schema": { "$ref": "#/definitions/AuthenticationSetting" } } ], "responses": { "200": { "description": "Resource 'AuthenticationSetting' update operation succeeded", "schema": { "$ref": "#/definitions/AuthenticationSetting" } }, "201": { "description": "Resource 'AuthenticationSetting' create operation succeeded", "schema": { "$ref": "#/definitions/AuthenticationSetting" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "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/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AuthenticationSettings_CreateOrUpdate": { "$ref": "./examples/AuthenticationSettings_CreateOrUpdate.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "AuthenticationSettings_Delete", "tags": [ "AuthenticationSettings" ], "description": "Delete a AuthenticationSetting", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "authenticationSettingName", "in": "path", "description": "Name of the authentication setting. Must be unique within a health model.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" } ], "responses": { "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AuthenticationSettings_Delete": { "$ref": "./examples/AuthenticationSettings_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CloudHealth/healthmodels/{healthModelName}/discoveryrules": { "get": { "operationId": "DiscoveryRules_ListByHealthModel", "tags": [ "DiscoveryRules" ], "description": "List DiscoveryRule resources by HealthModel", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "timestamp", "in": "query", "description": "Timestamp to use for the operation. When specified, the version of the resource at this point in time is retrieved. If not specified, the latest version is used.", "required": false, "type": "string", "format": "date-time" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DiscoveryRuleListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "DiscoveryRules_ListByHealthModel": { "$ref": "./examples/DiscoveryRules_ListByHealthModel.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CloudHealth/healthmodels/{healthModelName}/discoveryrules/{discoveryRuleName}": { "get": { "operationId": "DiscoveryRules_Get", "tags": [ "DiscoveryRules" ], "description": "Get a DiscoveryRule", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "discoveryRuleName", "in": "path", "description": "Name of the discovery rule. Must be unique within a health model.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DiscoveryRule" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "DiscoveryRules_Get": { "$ref": "./examples/DiscoveryRules_Get.json" } } }, "put": { "operationId": "DiscoveryRules_CreateOrUpdate", "tags": [ "DiscoveryRules" ], "description": "Create a DiscoveryRule", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "discoveryRuleName", "in": "path", "description": "Name of the discovery rule. Must be unique within a health model.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" }, { "name": "resource", "in": "body", "description": "Resource create parameters.", "required": true, "schema": { "$ref": "#/definitions/DiscoveryRule" } } ], "responses": { "200": { "description": "Resource 'DiscoveryRule' update operation succeeded", "schema": { "$ref": "#/definitions/DiscoveryRule" } }, "201": { "description": "Resource 'DiscoveryRule' create operation succeeded", "schema": { "$ref": "#/definitions/DiscoveryRule" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "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/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "DiscoveryRules_CreateOrUpdate": { "$ref": "./examples/DiscoveryRules_CreateOrUpdate.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "DiscoveryRules_Delete", "tags": [ "DiscoveryRules" ], "description": "Delete a DiscoveryRule", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "discoveryRuleName", "in": "path", "description": "Name of the discovery rule. Must be unique within a health model.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" } ], "responses": { "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "DiscoveryRules_Delete": { "$ref": "./examples/DiscoveryRules_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CloudHealth/healthmodels/{healthModelName}/entities": { "get": { "operationId": "Entities_ListByHealthModel", "tags": [ "Entities" ], "description": "List Entity resources by HealthModel", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "timestamp", "in": "query", "description": "Timestamp to use for the operation. When specified, the version of the resource at this point in time is retrieved. If not specified, the latest version is used.", "required": false, "type": "string", "format": "date-time" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/EntityListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Entities_ListByHealthModel": { "$ref": "./examples/Entities_ListByHealthModel.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CloudHealth/healthmodels/{healthModelName}/entities/{entityName}": { "get": { "operationId": "Entities_Get", "tags": [ "Entities" ], "description": "Get a Entity", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "entityName", "in": "path", "description": "Name of the entity. Must be unique within a health model.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Entity" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Entities_Get": { "$ref": "./examples/Entities_Get.json" } } }, "put": { "operationId": "Entities_CreateOrUpdate", "tags": [ "Entities" ], "description": "Create a Entity", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "entityName", "in": "path", "description": "Name of the entity. Must be unique within a health model.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" }, { "name": "resource", "in": "body", "description": "Resource create parameters.", "required": true, "schema": { "$ref": "#/definitions/Entity" } } ], "responses": { "200": { "description": "Resource 'Entity' update operation succeeded", "schema": { "$ref": "#/definitions/Entity" } }, "201": { "description": "Resource 'Entity' create operation succeeded", "schema": { "$ref": "#/definitions/Entity" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "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/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Entities_CreateOrUpdate": { "$ref": "./examples/Entities_CreateOrUpdate.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "Entities_Delete", "tags": [ "Entities" ], "description": "Delete a Entity", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "entityName", "in": "path", "description": "Name of the entity. Must be unique within a health model.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" } ], "responses": { "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Entities_Delete": { "$ref": "./examples/Entities_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CloudHealth/healthmodels/{healthModelName}/entities/{entityName}/addDataAnnotation": { "post": { "operationId": "Entities_AddDataAnnotation", "tags": [ "Entities" ], "description": "Add a data annotation to an entity", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "entityName", "in": "path", "description": "Name of the entity. Must be unique within a health model.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" }, { "name": "body", "in": "body", "description": "The content of the action request", "required": true, "schema": { "$ref": "#/definitions/DataAnnotation" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DataAnnotation" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Entities_AddDataAnnotation": { "$ref": "./examples/Entities_AddDataAnnotation.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CloudHealth/healthmodels/{healthModelName}/entities/{entityName}/getDataAnnotations": { "post": { "operationId": "Entities_GetDataAnnotations", "tags": [ "Entities" ], "description": "Retrieve data annotations for an entity", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "entityName", "in": "path", "description": "Name of the entity. Must be unique within a health model.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" }, { "name": "body", "in": "body", "description": "The content of the action request", "required": true, "schema": { "$ref": "#/definitions/GetDataAnnotationsRequest" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/GetDataAnnotationsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Entities_GetDataAnnotations": { "$ref": "./examples/Entities_GetDataAnnotations.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CloudHealth/healthmodels/{healthModelName}/entities/{entityName}/getHistory": { "post": { "operationId": "Entities_GetHistory", "tags": [ "Entities" ], "description": "Retrieve the health state transition history for an entity", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "entityName", "in": "path", "description": "Name of the entity. Must be unique within a health model.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" }, { "name": "body", "in": "body", "description": "The content of the action request", "required": true, "schema": { "$ref": "#/definitions/EntityHistoryRequest" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/EntityHistoryResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Entities_GetHistory": { "$ref": "./examples/Entities_GetHistory.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CloudHealth/healthmodels/{healthModelName}/entities/{entityName}/getSignalHistory": { "post": { "operationId": "Entities_GetSignalHistory", "tags": [ "Entities" ], "description": "Retrieve the time series history for a signal on an entity", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "entityName", "in": "path", "description": "Name of the entity. Must be unique within a health model.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" }, { "name": "body", "in": "body", "description": "The content of the action request", "required": true, "schema": { "$ref": "#/definitions/SignalHistoryRequest" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/SignalHistoryResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Entities_GetSignalHistory": { "$ref": "./examples/Entities_GetSignalHistory.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CloudHealth/healthmodels/{healthModelName}/entities/{entityName}/ingestHealthReport": { "post": { "operationId": "Entities_IngestHealthReport", "tags": [ "Entities" ], "description": "Ingest a health report for a specific signal on an entity (the entity must already exist)", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "entityName", "in": "path", "description": "Name of the entity. Must be unique within a health model.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" }, { "name": "body", "in": "body", "description": "The content of the action request", "required": true, "schema": { "$ref": "#/definitions/HealthReportRequest" } } ], "responses": { "204": { "description": "Action completed successfully." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Entities_IngestHealthReport": { "$ref": "./examples/Entities_IngestHealthReport.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CloudHealth/healthmodels/{healthModelName}/getRecommendedSignals": { "post": { "operationId": "HealthModels_GetRecommendedSignals", "tags": [ "HealthModels" ], "description": "Get recommended signal configurations for a given Azure resource type", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "body", "in": "body", "description": "The content of the action request", "required": true, "schema": { "$ref": "#/definitions/GetRecommendedSignalsRequest" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/GetRecommendedSignalsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "HealthModels_GetRecommendedSignals": { "$ref": "./examples/HealthModels_GetRecommendedSignals.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CloudHealth/healthmodels/{healthModelName}/relationships": { "get": { "operationId": "Relationships_ListByHealthModel", "tags": [ "Relationships" ], "description": "List Relationship resources by HealthModel", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "timestamp", "in": "query", "description": "Timestamp to use for the operation. When specified, the version of the resource at this point in time is retrieved. If not specified, the latest version is used.", "required": false, "type": "string", "format": "date-time" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/RelationshipListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Relationships_ListByHealthModel": { "$ref": "./examples/Relationships_ListByHealthModel.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CloudHealth/healthmodels/{healthModelName}/relationships/{relationshipName}": { "get": { "operationId": "Relationships_Get", "tags": [ "Relationships" ], "description": "Get a Relationship", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "relationshipName", "in": "path", "description": "Name of the relationship. Must be unique within a health model. For example, a concatenation of parentEntityName and childEntityName can be used as the name.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Relationship" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Relationships_Get": { "$ref": "./examples/Relationships_Get.json" } } }, "put": { "operationId": "Relationships_CreateOrUpdate", "tags": [ "Relationships" ], "description": "Create a Relationship", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "relationshipName", "in": "path", "description": "Name of the relationship. Must be unique within a health model. For example, a concatenation of parentEntityName and childEntityName can be used as the name.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" }, { "name": "resource", "in": "body", "description": "Resource create parameters.", "required": true, "schema": { "$ref": "#/definitions/Relationship" } } ], "responses": { "200": { "description": "Resource 'Relationship' update operation succeeded", "schema": { "$ref": "#/definitions/Relationship" } }, "201": { "description": "Resource 'Relationship' create operation succeeded", "schema": { "$ref": "#/definitions/Relationship" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "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/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Relationships_CreateOrUpdate": { "$ref": "./examples/Relationships_CreateOrUpdate.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "Relationships_Delete", "tags": [ "Relationships" ], "description": "Delete a Relationship", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "relationshipName", "in": "path", "description": "Name of the relationship. Must be unique within a health model. For example, a concatenation of parentEntityName and childEntityName can be used as the name.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" } ], "responses": { "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Relationships_Delete": { "$ref": "./examples/Relationships_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CloudHealth/healthmodels/{healthModelName}/signaldefinitions": { "get": { "operationId": "SignalDefinitions_ListByHealthModel", "tags": [ "SignalDefinitions" ], "description": "List SignalDefinition resources by HealthModel", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "timestamp", "in": "query", "description": "Timestamp to use for the operation. When specified, the version of the resource at this point in time is retrieved. If not specified, the latest version is used.", "required": false, "type": "string", "format": "date-time" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/SignalDefinitionListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "SignalDefinitions_ListByHealthModel": { "$ref": "./examples/SignalDefinitions_ListByHealthModel.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CloudHealth/healthmodels/{healthModelName}/signaldefinitions/{signalDefinitionName}": { "get": { "operationId": "SignalDefinitions_Get", "tags": [ "SignalDefinitions" ], "description": "Get a SignalDefinition", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "signalDefinitionName", "in": "path", "description": "Name of the signal definition. Must be unique within a health model.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/SignalDefinition" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "SignalDefinitions_Get": { "$ref": "./examples/SignalDefinitions_Get.json" } } }, "put": { "operationId": "SignalDefinitions_CreateOrUpdate", "tags": [ "SignalDefinitions" ], "description": "Create a SignalDefinition", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "signalDefinitionName", "in": "path", "description": "Name of the signal definition. Must be unique within a health model.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" }, { "name": "resource", "in": "body", "description": "Resource create parameters.", "required": true, "schema": { "$ref": "#/definitions/SignalDefinition" } } ], "responses": { "200": { "description": "Resource 'SignalDefinition' update operation succeeded", "schema": { "$ref": "#/definitions/SignalDefinition" } }, "201": { "description": "Resource 'SignalDefinition' create operation succeeded", "schema": { "$ref": "#/definitions/SignalDefinition" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "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/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "SignalDefinitions_CreateOrUpdate": { "$ref": "./examples/SignalDefinitions_CreateOrUpdate.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "SignalDefinitions_Delete", "tags": [ "SignalDefinitions" ], "description": "Delete a SignalDefinition", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "healthModelName", "in": "path", "description": "Name of health model resource", "required": true, "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,42}[a-zA-Z0-9]$" }, { "name": "signalDefinitionName", "in": "path", "description": "Name of the signal definition. Must be unique within a health model.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" } ], "responses": { "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "SignalDefinitions_Delete": { "$ref": "./examples/SignalDefinitions_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } } }, "definitions": { "AlertConfiguration": { "type": "object", "description": "Alert configuration details", "properties": { "severity": { "$ref": "#/definitions/AlertSeverity", "description": "The severity of triggered alert." }, "description": { "type": "string", "description": "The alert rule description.", "minLength": 1, "maxLength": 1000 }, "actionGroupIds": { "type": "array", "description": "Optional list of action group resource IDs to be notified when the alert is triggered.", "minItems": 1, "maxItems": 5, "items": { "type": "string", "format": "arm-id", "description": "A type definition that refers the id to an Azure Resource Manager resource.", "x-ms-arm-id-details": { "allowedResources": [ { "type": "Microsoft.Insights/actionGroups" } ] } } } }, "required": [ "severity" ] }, "AlertSeverity": { "type": "string", "description": "Severity of an alert", "enum": [ "Sev0", "Sev1", "Sev2", "Sev3", "Sev4" ], "x-ms-enum": { "name": "AlertSeverity", "modelAsString": true, "values": [ { "name": "Sev0", "value": "Sev0", "description": "Critical" }, { "name": "Sev1", "value": "Sev1", "description": "Error" }, { "name": "Sev2", "value": "Sev2", "description": "Warning" }, { "name": "Sev3", "value": "Sev3", "description": "Informational" }, { "name": "Sev4", "value": "Sev4", "description": "Verbose" } ] } }, "ApplicationInsightsTopologySpecification": { "type": "object", "description": "Discovery rule specification for an Application Insights topology query", "properties": { "applicationInsightsResourceId": { "type": "string", "format": "arm-id", "description": "Application Insights resource ID", "x-ms-arm-id-details": { "allowedResources": [ { "type": "Microsoft.Insights/components" } ] } } }, "required": [ "applicationInsightsResourceId" ], "allOf": [ { "$ref": "#/definitions/DiscoveryRuleSpecification" } ], "x-ms-discriminator-value": "ApplicationInsightsTopology" }, "AuthenticationKind": { "type": "string", "description": "Supported kinds of authentication settings as discriminator", "enum": [ "ManagedIdentity" ], "x-ms-enum": { "name": "AuthenticationKind", "modelAsString": true, "values": [ { "name": "ManagedIdentity", "value": "ManagedIdentity" } ] } }, "AuthenticationSetting": { "type": "object", "description": "An authentication setting in a health model", "properties": { "properties": { "$ref": "#/definitions/AuthenticationSettingProperties", "description": "The resource-specific properties for this resource." } }, "allOf": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, "AuthenticationSettingListResult": { "type": "object", "description": "The response of a AuthenticationSetting list operation.", "properties": { "value": { "type": "array", "description": "The AuthenticationSetting items on this page", "items": { "$ref": "#/definitions/AuthenticationSetting" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "AuthenticationSettingProperties": { "type": "object", "description": "Authentication setting properties", "properties": { "provisioningState": { "$ref": "#/definitions/HealthModelProvisioningState", "description": "The status of the last operation.", "readOnly": true }, "displayName": { "type": "string", "description": "Display name", "minLength": 1, "maxLength": 260 }, "authenticationKind": { "$ref": "#/definitions/AuthenticationKind", "description": "Kind of the authentication setting" } }, "discriminator": "authenticationKind", "required": [ "authenticationKind" ] }, "AzureMonitorWorkspaceResourceId": { "type": "string", "format": "arm-id", "description": "A type definition that refers the id to an Azure Resource Manager resource.", "x-ms-arm-id-details": { "allowedResources": [ { "type": "Microsoft.Monitor/accounts" } ] } }, "AzureMonitorWorkspaceSignals": { "type": "object", "description": "A grouping of Azure Monitor workspace signals.", "properties": { "authenticationSetting": { "$ref": "#/definitions/authenticationSettingName", "description": "Reference to the name of the authentication setting which is used for querying the data source." }, "azureMonitorWorkspaceResourceId": { "$ref": "#/definitions/AzureMonitorWorkspaceResourceId", "description": "Azure Monitor workspace resource ID." }, "signals": { "type": "array", "description": "Signals assigned to this signal group.", "maxItems": 50, "items": { "$ref": "#/definitions/PrometheusMetricsSignal" }, "x-ms-identifiers": [ "name" ] } }, "required": [ "authenticationSetting", "azureMonitorWorkspaceResourceId" ] }, "AzureResourceHealthSignal": { "type": "object", "description": "Azure resource health signal configuration", "properties": { "enabled": { "type": "string", "description": "Whether to automatically add a signal for the Azure resource's availability status from Azure Resource Health. Defaults to Enabled.", "default": "Enabled", "enum": [ "Enabled", "Disabled" ], "x-ms-enum": { "name": "ResourceHealthAvailabilityStatusSignalBehavior", "modelAsString": true, "values": [ { "name": "Enabled", "value": "Enabled", "description": "Automatically add resource health availability status signal" }, { "name": "Disabled", "value": "Disabled", "description": "Do not automatically add resource health availability status signal" } ] } }, "signalName": { "$ref": "#/definitions/string256", "description": "The unique name of the Azure resource health signal. System assigned.", "readOnly": true }, "status": { "$ref": "#/definitions/AzureResourceHealthSignalStatus", "description": "Current status of the Azure resource health signal.", "readOnly": true } } }, "AzureResourceHealthSignalStatus": { "type": "object", "description": "Status of an Azure Resource Health signal, including availability information reported by Azure Resource Health.", "properties": { "healthState": { "$ref": "#/definitions/HealthState", "description": "Health state of this signal", "readOnly": true }, "value": { "type": "number", "format": "double", "description": "Reported value of the signal", "readOnly": true }, "reportedAt": { "type": "string", "format": "date-time", "description": "Timestamp when the value was reported", "readOnly": true }, "error": { "type": "string", "description": "Error message if the signal status cannot be retrieved", "readOnly": true }, "additionalContext": { "$ref": "#/definitions/string4096", "description": "Additional context as provided by the submitter" }, "availabilityStatus": { "type": "string", "description": "Availability status of the Azure resource as reported by Azure Resource Health.", "readOnly": true }, "category": { "$ref": "#/definitions/string256", "description": "When a context field is set to Platform, this field will reflect if the event was planned or unplanned.", "readOnly": true }, "detailedStatus": { "$ref": "#/definitions/string4096", "description": "Detailed status of the Azure resource as reported by Azure Resource Health.", "readOnly": true } } }, "AzureResourceSignal": { "type": "object", "description": "An Azure Resource Metric signal instance assigned to an entity.", "properties": { "metricNamespace": { "type": "string", "description": "Metric namespace", "minLength": 1, "maxLength": 256 }, "metricName": { "type": "string", "description": "Name of the metric", "minLength": 1, "maxLength": 256 }, "timeGrain": { "type": "string", "description": "Time range of signal. ISO duration format like PT10M.", "minLength": 1, "maxLength": 100 }, "aggregationType": { "$ref": "#/definitions/MetricAggregationType", "description": "Type of aggregation to apply to the metric" }, "dimensionFilter": { "type": "string", "description": "Optional: Dimension filter to apply to the metric. OData filter syntax, e.g. \"dimension eq '*'\" or \"dimension eq 'value'\"", "minLength": 1, "maxLength": 256 }, "displayName": { "type": "string", "description": "Display name", "minLength": 1, "maxLength": 260 }, "refreshInterval": { "type": "string", "description": "Interval in which the signal is being evaluated. Defaults to PT1M (1 minute).", "default": "PT1M", "enum": [ "PT1M", "PT5M", "PT10M", "PT30M", "PT1H", "PT2H" ], "x-ms-enum": { "name": "RefreshInterval", "modelAsString": true, "values": [ { "name": "PT1M", "value": "PT1M", "description": "One Minute" }, { "name": "PT5M", "value": "PT5M", "description": "Five Minutes" }, { "name": "PT10M", "value": "PT10M", "description": "Ten Minutes" }, { "name": "PT30M", "value": "PT30M", "description": "Thirty Minutes" }, { "name": "PT1H", "value": "PT1H", "description": "One Hour" }, { "name": "PT2H", "value": "PT2H", "description": "Two Hours" } ] } }, "dataUnit": { "type": "string", "description": "Unit of the signal result (e.g. Bytes, MilliSeconds, Percent, Count))", "minLength": 1, "maxLength": 100 }, "evaluationRules": { "$ref": "#/definitions/EvaluationRule", "description": "Evaluation rules for the signal definition" } }, "allOf": [ { "$ref": "#/definitions/SignalInstanceProperties" } ], "x-ms-discriminator-value": "AzureResourceMetric" }, "AzureResourceSignals": { "type": "object", "description": "A grouping of Azure resource signals", "properties": { "authenticationSetting": { "$ref": "#/definitions/authenticationSettingName", "description": "Reference to the name of the authentication setting which is used for querying the data source." }, "azureResourceId": { "type": "string", "format": "arm-id", "description": "Azure resource ID", "x-ms-arm-id-details": { "allowedResources": [] } }, "azureResourceKind": { "type": "string", "description": "Azure resource kind (e.g., 'functionapp'). Populated by the UI for icon rendering. Can be null if not populated.", "minLength": 0, "maxLength": 256 }, "signals": { "type": "array", "description": "Signals assigned to this group.", "maxItems": 50, "items": { "$ref": "#/definitions/AzureResourceSignal" }, "x-ms-identifiers": [ "name" ] }, "resourceHealth": { "$ref": "#/definitions/AzureResourceHealthSignal", "description": "Optional configuration for automatically adding a signal based on the resource's availability state in Azure Resource Health." } }, "required": [ "authenticationSetting", "azureResourceId" ] }, "DataAnnotation": { "type": "object", "description": "A single data annotation on an entity", "properties": { "annotationId": { "type": "string", "description": "Auto-assigned identifier for the annotation", "maxLength": 256, "readOnly": true }, "createdAt": { "type": "string", "format": "date-time", "description": "Timestamp when the annotation was created", "readOnly": true }, "annotationDetails": { "type": "object", "description": "Annotation details as a dynamic key-value pair bag. Each value is limited to 256 characters. A maximum of 10 entries is permitted per annotation.", "additionalProperties": { "$ref": "#/definitions/string256" } }, "description": { "$ref": "#/definitions/string4096", "description": "Optional description of the annotation" } }, "required": [ "annotationDetails" ] }, "DependenciesAggregationUnit": { "type": "string", "description": "Unit type for dependency aggregation thresholds.", "enum": [ "Absolute", "Percentage" ], "x-ms-enum": { "name": "DependenciesAggregationUnit", "modelAsString": true, "values": [ { "name": "Absolute", "value": "Absolute", "description": "Threshold is an absolute count of entities." }, { "name": "Percentage", "value": "Percentage", "description": "Threshold is a percentage of entities (0-100)." } ] } }, "DependenciesSignalGroupV2": { "type": "object", "description": "Properties for dependent entities, i.e. child entities", "properties": { "aggregationType": { "type": "string", "description": "Aggregation type for child dependencies.", "default": "WorstOf", "enum": [ "WorstOf", "MinHealthy", "MaxNotHealthy" ], "x-ms-enum": { "name": "DependenciesAggregationType", "modelAsString": true, "values": [ { "name": "WorstOf", "value": "WorstOf", "description": "Default behavior: Worst child health state is propagated." }, { "name": "MinHealthy", "value": "MinHealthy", "description": "Healthy if the count/percentage of healthy children meets the threshold." }, { "name": "MaxNotHealthy", "value": "MaxNotHealthy", "description": "Healthy if the count/percentage of not-healthy children stays below the threshold." } ] } }, "degradedThreshold": { "type": "number", "format": "double", "description": "Degraded threshold for aggregation. For MinHealthy: parent is degraded when healthy count/percentage falls to or below this value. For MaxNotHealthy: parent is degraded when not-healthy count/percentage reaches or exceeds this value. Optional — if not set, there is no degraded state (transitions directly from Healthy to Unhealthy).", "minimum": 0 }, "unhealthyThreshold": { "type": "number", "format": "double", "description": "Unhealthy threshold for aggregation. For MinHealthy: parent is unhealthy when healthy count/percentage falls to or below this value. For MaxNotHealthy: parent is unhealthy when not-healthy count/percentage reaches or exceeds this value. Required when aggregationType is MinHealthy or MaxNotHealthy.", "minimum": 0 }, "unit": { "$ref": "#/definitions/DependenciesAggregationUnit", "description": "Unit type for the aggregation thresholds. Required when aggregationType is MinHealthy or MaxNotHealthy." }, "ignoreUnknown": { "type": "boolean", "description": "If true, children with Unknown health state are excluded from aggregation calculations. Defaults to true.", "default": true } }, "required": [ "aggregationType" ] }, "DiscoveryError": { "type": "object", "description": "Error details for a failed discovery operation", "properties": { "message": { "type": "string", "description": "Error message", "readOnly": true }, "context": { "type": "array", "description": "Additional context information, like resource IDs or query details", "items": { "type": "string" }, "readOnly": true } }, "required": [ "message" ] }, "DiscoveryRule": { "type": "object", "description": "A discovery rule which automatically finds entities and relationships in a health model based on an Azure Resource Graph query", "properties": { "properties": { "$ref": "#/definitions/DiscoveryRuleProperties", "description": "The resource-specific properties for this resource." } }, "allOf": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, "DiscoveryRuleKind": { "type": "string", "description": "Discovery rule specification kind discriminator", "enum": [ "ResourceGraphQuery", "ApplicationInsightsTopology" ], "x-ms-enum": { "name": "DiscoveryRuleKind", "modelAsString": true, "values": [ { "name": "ResourceGraphQuery", "value": "ResourceGraphQuery", "description": "Azure Resource Graph query based discovery" }, { "name": "ApplicationInsightsTopology", "value": "ApplicationInsightsTopology", "description": "Application Insights topology based discovery" } ] } }, "DiscoveryRuleListResult": { "type": "object", "description": "The response of a DiscoveryRule list operation.", "properties": { "value": { "type": "array", "description": "The DiscoveryRule items on this page", "items": { "$ref": "#/definitions/DiscoveryRule" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "DiscoveryRuleProperties": { "type": "object", "description": "Discovery rule properties", "properties": { "provisioningState": { "$ref": "#/definitions/HealthModelProvisioningState", "description": "The status of the last operation.", "readOnly": true }, "displayName": { "type": "string", "description": "Display name", "minLength": 1, "maxLength": 260 }, "authenticationSetting": { "$ref": "#/definitions/authenticationSettingName", "description": "Reference to the name of the authentication setting which is used for querying Azure Resource Graph. The same authentication setting will also be assigned to any discovered entities." }, "discoverRelationships": { "$ref": "#/definitions/DiscoveryRuleRelationshipDiscoveryBehavior", "description": "Whether to create relationships between the discovered entities based on a set of built-in rules. These relationships cannot be manually deleted." }, "addRecommendedSignals": { "$ref": "#/definitions/DiscoveryRuleRecommendedSignalsBehavior", "description": "Whether to add all recommended signals to the discovered entities." }, "specification": { "$ref": "#/definitions/DiscoveryRuleSpecification", "description": "Specification of the discovery rule defining how entities are discovered." }, "addResourceHealthSignal": { "$ref": "#/definitions/ResourceHealthAvailabilityStatusSignalBehavior", "description": "Whether to automatically add a signal for the Azure resource's availability status from Azure Resource Health to the discovered entities." }, "error": { "$ref": "#/definitions/DiscoveryError", "description": "Error details if the last discovery operation failed.", "readOnly": true }, "entityName": { "type": "string", "description": "Name of the entity which represents the discovery rule. Note: It might take a few minutes after creating the discovery rule until the entity is created.", "readOnly": true } }, "required": [ "authenticationSetting", "discoverRelationships", "addRecommendedSignals", "specification", "addResourceHealthSignal", "entityName" ] }, "DiscoveryRuleRecommendedSignalsBehavior": { "type": "string", "description": "Discovery rule recommended signal behavior", "enum": [ "Enabled", "Disabled" ], "x-ms-enum": { "name": "DiscoveryRuleRecommendedSignalsBehavior", "modelAsString": true, "values": [ { "name": "Enabled", "value": "Enabled", "description": "Automatically add recommended signals" }, { "name": "Disabled", "value": "Disabled", "description": "Do not automatically add recommended signals" } ] } }, "DiscoveryRuleRelationshipDiscoveryBehavior": { "type": "string", "description": "Discovery rule relationship discovery behavior", "enum": [ "Enabled", "Disabled" ], "x-ms-enum": { "name": "DiscoveryRuleRelationshipDiscoveryBehavior", "modelAsString": true, "values": [ { "name": "Enabled", "value": "Enabled", "description": "Automatically attempt to discover relationships" }, { "name": "Disabled", "value": "Disabled", "description": "Do not automatically attempt to discover relationships" } ] } }, "DiscoveryRuleSpecification": { "type": "object", "description": "Base model for discovery rule specifications", "properties": { "kind": { "$ref": "#/definitions/DiscoveryRuleKind", "description": "Kind of the discovery rule specification" } }, "discriminator": "kind", "required": [ "kind" ] }, "DynamicThresholdSensitivity": { "type": "string", "description": "Sensitivity level for dynamic threshold detection", "enum": [ "Low", "Medium", "High" ], "x-ms-enum": { "name": "DynamicThresholdSensitivity", "modelAsString": true, "values": [ { "name": "Low", "value": "Low", "description": "Low sensitivity — fewer anomalies detected, wider threshold band" }, { "name": "Medium", "value": "Medium", "description": "Medium sensitivity — balanced detection" }, { "name": "High", "value": "High", "description": "High sensitivity — more anomalies detected, tighter threshold band" } ] } }, "Entity": { "type": "object", "description": "An entity (aka node) of a health model", "properties": { "properties": { "$ref": "#/definitions/EntityProperties", "description": "The resource-specific properties for this resource." } }, "allOf": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, "EntityAlerts": { "type": "object", "description": "Alert configuration for an entity", "properties": { "unhealthy": { "$ref": "#/definitions/AlertConfiguration", "description": "Alert to be triggered on state change to unhealthy" }, "degraded": { "$ref": "#/definitions/AlertConfiguration", "description": "Alert to be triggered on state change to degraded" } } }, "EntityCoordinates": { "type": "object", "description": "Visual position of the entity", "properties": { "x": { "type": "number", "format": "float", "description": "X Coordinate" }, "y": { "type": "number", "format": "float", "description": "Y Coordinate" } }, "required": [ "x", "y" ] }, "EntityHistoryRequest": { "type": "object", "description": "Request body for getting entity health history", "properties": { "startAt": { "type": "string", "format": "date-time", "description": "Start time for the history query. Defaults to 24 hours ago if not specified. Must be omitted when continuationToken is specified." }, "endAt": { "type": "string", "format": "date-time", "description": "End time for the history query. Defaults to now if not specified. Must be omitted when continuationToken is specified." }, "top": { "type": "integer", "format": "int32", "description": "Maximum number of health state transitions to return per page. Defaults to 1000.", "minimum": 1, "maximum": 1000 }, "continuationToken": { "$ref": "#/definitions/secretString4096", "format": "password", "description": "Continuation token from a previous response to retrieve the next page of results. Must not be combined with startAt or endAt.", "x-ms-secret": true } } }, "EntityHistoryResponse": { "type": "object", "description": "Response containing entity health state transitions", "properties": { "entityName": { "$ref": "#/definitions/entityName", "description": "Name of the entity" }, "history": { "type": "array", "description": "List of health state transitions", "items": { "$ref": "#/definitions/HealthStateTransition" }, "x-ms-identifiers": [ "occurredAt" ] }, "continuationToken": { "$ref": "#/definitions/secretString4096", "format": "password", "description": "Continuation token to retrieve the next page of results. Null if there are no more results.", "x-ms-secret": true } }, "required": [ "entityName", "history" ] }, "EntityListResult": { "type": "object", "description": "The response of a Entity list operation.", "properties": { "value": { "type": "array", "description": "The Entity items on this page", "items": { "$ref": "#/definitions/Entity" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "EntityProperties": { "type": "object", "description": "Properties which are common across all kinds of entities", "properties": { "provisioningState": { "$ref": "#/definitions/HealthModelProvisioningState", "description": "The status of the last operation.", "readOnly": true }, "displayName": { "type": "string", "description": "Display name", "minLength": 1, "maxLength": 260 }, "canvasPosition": { "$ref": "#/definitions/EntityCoordinates", "description": "Positioning of the entity on the model canvas" }, "icon": { "$ref": "#/definitions/IconDefinition", "description": "Visual icon definition. If not set, a default icon is used." }, "healthObjective": { "type": "number", "format": "float", "description": "Health objective as a percentage of time the entity should be healthy.", "minimum": 0, "maximum": 100 }, "impact": { "type": "string", "description": "Impact of the entity in health state propagation", "default": "Standard", "enum": [ "Standard", "Limited", "Suppressed" ], "x-ms-enum": { "name": "EntityImpact", "modelAsString": true, "values": [ { "name": "Standard", "value": "Standard", "description": "Standard impact" }, { "name": "Limited", "value": "Limited", "description": "Limited impact" }, { "name": "Suppressed", "value": "Suppressed", "description": "Suppressed impact" } ] } }, "tags": { "type": "object", "description": "Optional set of tags (key-value pairs)", "additionalProperties": { "$ref": "#/definitions/string4096" } }, "signalGroups": { "$ref": "#/definitions/SignalGroups", "description": "Signal groups which are assigned to this entity" }, "discoveredBy": { "$ref": "#/definitions/discoveryRuleName", "description": "Discovered by which discovery rule. If set, the entity cannot be deleted manually.", "readOnly": true }, "healthState": { "$ref": "#/definitions/HealthState", "description": "Health state of this entity", "readOnly": true }, "alerts": { "$ref": "#/definitions/EntityAlerts", "description": "Alert configuration for this entity" } } }, "EvaluationRule": { "type": "object", "description": "Evaluation rule for a signal definition", "properties": { "degradedRule": { "$ref": "#/definitions/ThresholdRuleV2", "description": "Degraded threshold rule." }, "unhealthyRule": { "$ref": "#/definitions/ThresholdRuleV2", "description": "Unhealthy threshold rule." } }, "required": [ "unhealthyRule" ] }, "ExternalSignal": { "type": "object", "description": "An externally submitted signal instance assigned to an entity.", "properties": { "evaluationRules": { "$ref": "#/definitions/EvaluationRule", "description": "Evaluation rules for the external signal as submitted." } }, "allOf": [ { "$ref": "#/definitions/SignalInstanceProperties" } ], "x-ms-discriminator-value": "External" }, "ExternalSignalGroup": { "type": "object", "description": "A grouping of externally submitted signals.", "properties": { "signals": { "type": "array", "description": "Signals assigned to this signal group.", "items": { "$ref": "#/definitions/ExternalSignal" }, "readOnly": true, "x-ms-identifiers": [ "name" ] } } }, "GetDataAnnotationsRequest": { "type": "object", "description": "Request body for querying data annotations", "properties": { "startAt": { "type": "string", "format": "date-time", "description": "Start of UTC time range. Defaults to 24 hours ago if not specified. Must be omitted when continuationToken is specified." }, "endAt": { "type": "string", "format": "date-time", "description": "End of UTC time range. Defaults to now if not specified. Must be omitted when continuationToken is specified." }, "top": { "type": "integer", "format": "int32", "description": "Maximum number of annotations to return per page.", "default": 100, "minimum": 1, "maximum": 100 }, "continuationToken": { "$ref": "#/definitions/secretString4096", "format": "password", "description": "Continuation token from a previous response to retrieve the next page of results.", "x-ms-secret": true } } }, "GetDataAnnotationsResponse": { "type": "object", "description": "Response containing data annotations for an entity", "properties": { "entityName": { "$ref": "#/definitions/entityName", "description": "Name of the entity" }, "annotations": { "type": "array", "description": "List of data annotations", "items": { "$ref": "#/definitions/DataAnnotation" }, "x-ms-identifiers": [ "annotationId" ] }, "continuationToken": { "$ref": "#/definitions/secretString4096", "format": "password", "description": "Continuation token to retrieve the next page of results. Null if there are no more results.", "x-ms-secret": true } }, "required": [ "entityName", "annotations" ] }, "GetRecommendedSignalsRequest": { "type": "object", "description": "Request body for getting recommended signals for a given Azure resource type", "properties": { "resourceType": { "type": "string", "description": "Azure resource type to get recommended signals for (e.g. 'microsoft.compute/virtualMachines').", "minLength": 1, "maxLength": 256 } }, "required": [ "resourceType" ] }, "GetRecommendedSignalsResponse": { "type": "object", "description": "Response containing recommended signal configurations for a given Azure resource type", "properties": { "signals": { "type": "array", "description": "List of recommended signal configurations for the specified resource type.", "items": { "$ref": "#/definitions/RecommendedSignal" }, "x-ms-identifiers": [ "id" ] } }, "required": [ "signals" ] }, "HealthModel": { "type": "object", "description": "A HealthModel resource", "properties": { "properties": { "$ref": "#/definitions/HealthModelProperties", "description": "The resource-specific properties for this resource." }, "identity": { "$ref": "../../../../../common-types/resource-management/v6/managedidentity.json#/definitions/ManagedServiceIdentity", "description": "The managed service identities assigned to this resource." } }, "allOf": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" } ] }, "HealthModelListResult": { "type": "object", "description": "The response of a HealthModel list operation.", "properties": { "value": { "type": "array", "description": "The HealthModel items on this page", "items": { "$ref": "#/definitions/HealthModel" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "HealthModelProperties": { "type": "object", "description": "HealthModel properties", "properties": { "provisioningState": { "$ref": "#/definitions/HealthModelProvisioningState", "description": "The status of the last operation.", "readOnly": true } } }, "HealthModelProvisioningState": { "type": "string", "description": "Health Model provisioning states", "enum": [ "Succeeded", "Failed", "Canceled", "Creating", "Deleting" ], "x-ms-enum": { "name": "HealthModelProvisioningState", "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": "Creating", "value": "Creating" }, { "name": "Deleting", "value": "Deleting" } ] }, "readOnly": true }, "HealthModelUpdate": { "type": "object", "description": "The type used for update operations of the HealthModel.", "properties": { "identity": { "$ref": "../../../../../common-types/resource-management/v6/managedidentity.json#/definitions/ManagedServiceIdentity", "description": "The managed service identities assigned to this resource." }, "tags": { "type": "object", "description": "Resource tags.", "additionalProperties": { "type": "string" } } } }, "HealthReportEvaluationRule": { "type": "object", "description": "Evaluation rules for the health report", "properties": { "degradedRule": { "$ref": "#/definitions/ThresholdRuleV2", "description": "Degraded threshold rule." }, "unhealthyRule": { "$ref": "#/definitions/ThresholdRuleV2", "description": "Unhealthy threshold rule." } }, "required": [ "unhealthyRule" ] }, "HealthReportRequest": { "type": "object", "description": "Health report that's submitted for a specific signal", "properties": { "signalName": { "$ref": "#/definitions/signalName", "description": "Name of the entity signal to report health for" }, "healthState": { "$ref": "#/definitions/HealthState", "description": "Health state to report for the signal" }, "value": { "type": "number", "format": "double", "description": "Reported value of the signal" }, "evaluationRules": { "$ref": "#/definitions/HealthReportEvaluationRule", "description": "Evaluation rules that were used to determine the reported health state" }, "expiresInMinutes": { "type": "integer", "format": "int32", "description": "Number of minutes until the health report expires. Defaults to 60 (1 hour) if not specified.", "default": 60, "minimum": 1, "maximum": 10080 }, "additionalContext": { "$ref": "#/definitions/string4096", "description": "Optional additional context or description for the health report" } }, "required": [ "signalName", "healthState" ] }, "HealthState": { "type": "string", "description": "Health state of an entity", "enum": [ "Healthy", "Degraded", "Unhealthy", "Unknown", "Deleted" ], "x-ms-enum": { "name": "HealthState", "modelAsString": true, "values": [ { "name": "Healthy", "value": "Healthy", "description": "Healthy status" }, { "name": "Degraded", "value": "Degraded", "description": "Degraded status" }, { "name": "Unhealthy", "value": "Unhealthy", "description": "Unhealthy status" }, { "name": "Unknown", "value": "Unknown", "description": "Unknown status" }, { "name": "Deleted", "value": "Deleted", "description": "Deleted status" } ] } }, "HealthStateTransition": { "type": "object", "description": "A health state transition record", "properties": { "previousState": { "$ref": "#/definitions/HealthState", "description": "Previous health state before the transition" }, "newState": { "$ref": "#/definitions/HealthState", "description": "New health state after the transition" }, "occurredAt": { "type": "string", "format": "date-time", "description": "Timestamp when the transition occurred" }, "reason": { "$ref": "#/definitions/string4096", "description": "Reason of the transition" } }, "required": [ "previousState", "newState", "occurredAt" ] }, "IconDefinition": { "type": "object", "description": "Visual icon definition of an entity", "properties": { "iconName": { "type": "string", "description": "Name of the built-in icon, or 'Custom' to use customData", "minLength": 1, "maxLength": 100 }, "customData": { "type": "string", "description": "Custom data. Base64-encoded SVG data. If set, this overrides the built-in icon.", "minLength": 1, "maxLength": 5000 } }, "required": [ "iconName" ] }, "LogAnalyticsQuerySignalDefinitionProperties": { "type": "object", "description": "Log Analytics Query Signal Definition properties", "properties": { "queryText": { "type": "string", "description": "Query text in KQL syntax", "minLength": 1, "maxLength": 5000 }, "timeGrain": { "type": "string", "description": "Time range of signal. ISO duration format like PT10M. If not specified, the KQL query must define a time range.", "minLength": 1, "maxLength": 100 }, "valueColumnName": { "type": "string", "description": "Name of the column in the result set to evaluate against the thresholds. Defaults to the first column in the result set if not specified. The column must be numeric.", "minLength": 1, "maxLength": 100 } }, "required": [ "queryText" ], "allOf": [ { "$ref": "#/definitions/SignalDefinitionProperties" } ], "x-ms-discriminator-value": "LogAnalyticsQuery" }, "LogAnalyticsSignal": { "type": "object", "description": "A Log Analytics Query signal instance assigned to an entity.", "properties": { "queryText": { "type": "string", "description": "Query text in KQL syntax", "minLength": 1, "maxLength": 5000 }, "timeGrain": { "type": "string", "description": "Time range of signal. ISO duration format like PT10M. If not specified, the KQL query must define a time range.", "minLength": 1, "maxLength": 100 }, "valueColumnName": { "type": "string", "description": "Name of the column in the result set to evaluate against the thresholds. Defaults to the first column in the result set if not specified. The column must be numeric.", "minLength": 1, "maxLength": 100 }, "displayName": { "type": "string", "description": "Display name", "minLength": 1, "maxLength": 260 }, "refreshInterval": { "type": "string", "description": "Interval in which the signal is being evaluated. Defaults to PT1M (1 minute).", "default": "PT1M", "enum": [ "PT1M", "PT5M", "PT10M", "PT30M", "PT1H", "PT2H" ], "x-ms-enum": { "name": "RefreshInterval", "modelAsString": true, "values": [ { "name": "PT1M", "value": "PT1M", "description": "One Minute" }, { "name": "PT5M", "value": "PT5M", "description": "Five Minutes" }, { "name": "PT10M", "value": "PT10M", "description": "Ten Minutes" }, { "name": "PT30M", "value": "PT30M", "description": "Thirty Minutes" }, { "name": "PT1H", "value": "PT1H", "description": "One Hour" }, { "name": "PT2H", "value": "PT2H", "description": "Two Hours" } ] } }, "dataUnit": { "type": "string", "description": "Unit of the signal result (e.g. Bytes, MilliSeconds, Percent, Count))", "minLength": 1, "maxLength": 100 }, "evaluationRules": { "$ref": "#/definitions/EvaluationRule", "description": "Evaluation rules for the signal definition" } }, "allOf": [ { "$ref": "#/definitions/SignalInstanceProperties" } ], "x-ms-discriminator-value": "LogAnalyticsQuery" }, "LogAnalyticsSignals": { "type": "object", "description": "A grouping of Log Analytics workspace signals.", "properties": { "authenticationSetting": { "$ref": "#/definitions/authenticationSettingName", "description": "Reference to the name of the authentication setting which is used for querying the data source." }, "logAnalyticsWorkspaceResourceId": { "$ref": "#/definitions/LogAnalyticsWorkspaceResourceId", "description": "Log Analytics workspace resource ID." }, "signals": { "type": "array", "description": "Signals assigned to this group.", "maxItems": 50, "items": { "$ref": "#/definitions/LogAnalyticsSignal" }, "x-ms-identifiers": [ "name" ] } }, "required": [ "authenticationSetting", "logAnalyticsWorkspaceResourceId" ] }, "LogAnalyticsWorkspaceResourceId": { "type": "string", "format": "arm-id", "description": "A type definition that refers the id to an Azure Resource Manager resource.", "x-ms-arm-id-details": { "allowedResources": [ { "type": "Microsoft.OperationalInsights/workspaces" } ] } }, "ManagedIdentityAuthenticationSettingProperties": { "type": "object", "description": "Authentication setting properties for Azure Managed Identity", "properties": { "managedIdentityName": { "type": "string", "description": "Name of the managed identity to use. Either 'SystemAssigned' or the resourceId of a user-assigned identity.", "minLength": 1, "maxLength": 500 } }, "required": [ "managedIdentityName" ], "allOf": [ { "$ref": "#/definitions/AuthenticationSettingProperties" } ], "x-ms-discriminator-value": "ManagedIdentity" }, "MetricAggregationType": { "type": "string", "description": "Metric aggregation type", "enum": [ "None", "Average", "Count", "Minimum", "Maximum", "Total" ], "x-ms-enum": { "name": "MetricAggregationType", "modelAsString": true, "values": [ { "name": "None", "value": "None" }, { "name": "Average", "value": "Average" }, { "name": "Count", "value": "Count" }, { "name": "Minimum", "value": "Minimum" }, { "name": "Maximum", "value": "Maximum" }, { "name": "Total", "value": "Total" } ] } }, "PrometheusMetricsSignal": { "type": "object", "description": "A Prometheus Metrics Query signal instance assigned to an entity.", "properties": { "queryText": { "type": "string", "description": "Query text in PromQL syntax", "minLength": 1, "maxLength": 5000 }, "timeGrain": { "type": "string", "description": "Time range of signal. ISO duration format like PT10M.", "minLength": 1, "maxLength": 100 }, "displayName": { "type": "string", "description": "Display name", "minLength": 1, "maxLength": 260 }, "refreshInterval": { "type": "string", "description": "Interval in which the signal is being evaluated. Defaults to PT1M (1 minute).", "default": "PT1M", "enum": [ "PT1M", "PT5M", "PT10M", "PT30M", "PT1H", "PT2H" ], "x-ms-enum": { "name": "RefreshInterval", "modelAsString": true, "values": [ { "name": "PT1M", "value": "PT1M", "description": "One Minute" }, { "name": "PT5M", "value": "PT5M", "description": "Five Minutes" }, { "name": "PT10M", "value": "PT10M", "description": "Ten Minutes" }, { "name": "PT30M", "value": "PT30M", "description": "Thirty Minutes" }, { "name": "PT1H", "value": "PT1H", "description": "One Hour" }, { "name": "PT2H", "value": "PT2H", "description": "Two Hours" } ] } }, "dataUnit": { "type": "string", "description": "Unit of the signal result (e.g. Bytes, MilliSeconds, Percent, Count))", "minLength": 1, "maxLength": 100 }, "evaluationRules": { "$ref": "#/definitions/EvaluationRule", "description": "Evaluation rules for the signal definition" } }, "allOf": [ { "$ref": "#/definitions/SignalInstanceProperties" } ], "x-ms-discriminator-value": "PrometheusMetricsQuery" }, "PrometheusMetricsSignalDefinitionProperties": { "type": "object", "description": "Prometheus Metrics Signal Definition properties", "properties": { "queryText": { "type": "string", "description": "Query text in PromQL syntax", "minLength": 1, "maxLength": 5000 }, "timeGrain": { "type": "string", "description": "Time range of signal. ISO duration format like PT10M.", "minLength": 1, "maxLength": 100 } }, "required": [ "queryText" ], "allOf": [ { "$ref": "#/definitions/SignalDefinitionProperties" } ], "x-ms-discriminator-value": "PrometheusMetricsQuery" }, "RecommendedSignal": { "type": "object", "description": "A recommended signal configuration for an Azure resource type", "properties": { "id": { "type": "string", "description": "Unique identifier of the recommended signal." }, "metricNamespace": { "type": "string", "description": "Metric namespace (e.g. 'microsoft.compute/virtualmachines').", "minLength": 1, "maxLength": 256 }, "metricName": { "type": "string", "description": "Name of the metric (e.g. 'Percentage CPU').", "minLength": 1, "maxLength": 256 }, "aggregationType": { "$ref": "#/definitions/MetricAggregationType", "description": "Type of aggregation to apply to the metric." }, "unit": { "type": "string", "description": "Unit of the metric (e.g. Percent, Bytes, Count).", "minLength": 1, "maxLength": 100 }, "timeGrain": { "type": "string", "description": "Time range of the metric. ISO 8601 duration format (e.g. 'PT5M').", "minLength": 1, "maxLength": 100 }, "dimensionFilter": { "type": "string", "description": "Optional dimension filter to apply to the metric.", "minLength": 1, "maxLength": 256 }, "evaluationRules": { "$ref": "#/definitions/EvaluationRule", "description": "Evaluation rules with recommended thresholds." }, "classification": { "$ref": "#/definitions/RecommendedSignalClassification", "description": "Classification of the signal indicating whether it is broadly recommended or provides suggested thresholds for optional metrics." } }, "required": [ "id", "metricNamespace", "metricName", "aggregationType", "timeGrain", "evaluationRules", "classification" ] }, "RecommendedSignalClassification": { "type": "string", "description": "Classification of a recommended signal", "enum": [ "RecommendedSignal", "SuggestedThresholds" ], "x-ms-enum": { "name": "RecommendedSignalClassification", "modelAsString": true, "values": [ { "name": "RecommendedSignal", "value": "RecommendedSignal", "description": "Signal is broadly recommended to be enabled by default for health models monitoring this resource type." }, { "name": "SuggestedThresholds", "value": "SuggestedThresholds", "description": "Signal is not broadly applicable, but if a user picks this metric, the provided thresholds are suggested as a starting point." } ] } }, "Relationship": { "type": "object", "description": "A relationship (aka edge) between two entities in a health model", "properties": { "properties": { "$ref": "#/definitions/RelationshipProperties", "description": "The resource-specific properties for this resource." } }, "allOf": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, "RelationshipListResult": { "type": "object", "description": "The response of a Relationship list operation.", "properties": { "value": { "type": "array", "description": "The Relationship items on this page", "items": { "$ref": "#/definitions/Relationship" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "RelationshipProperties": { "type": "object", "description": "Relationship properties", "properties": { "provisioningState": { "$ref": "#/definitions/HealthModelProvisioningState", "description": "The status of the last operation.", "readOnly": true }, "displayName": { "type": "string", "description": "Display name", "minLength": 1, "maxLength": 260 }, "parentEntityName": { "$ref": "#/definitions/entityName", "description": "Resource name of the parent entity", "x-ms-mutability": [ "read", "create" ] }, "childEntityName": { "$ref": "#/definitions/entityName", "description": "Resource name of the child entity", "x-ms-mutability": [ "read", "create" ] }, "tags": { "type": "object", "description": "Optional set of tags (key-value pairs)", "additionalProperties": { "$ref": "#/definitions/string4096" } }, "discoveredBy": { "$ref": "#/definitions/discoveryRuleName", "description": "Discovered by which discovery rule. If set, the relationship cannot be deleted manually.", "readOnly": true } }, "required": [ "parentEntityName", "childEntityName" ] }, "ResourceGraphQuerySpecification": { "type": "object", "description": "Discovery rule specification for an Azure Resource Graph query", "properties": { "resourceGraphQuery": { "type": "string", "description": "Azure Resource Graph query text in KQL syntax. The query must return at least a column named 'id' which contains the resource ID of the discovered resources.", "minLength": 1, "maxLength": 5000 } }, "required": [ "resourceGraphQuery" ], "allOf": [ { "$ref": "#/definitions/DiscoveryRuleSpecification" } ], "x-ms-discriminator-value": "ResourceGraphQuery" }, "ResourceHealthAvailabilityStatusSignalBehavior": { "type": "string", "description": "Resource health availability status signal behavior", "enum": [ "Enabled", "Disabled" ], "x-ms-enum": { "name": "ResourceHealthAvailabilityStatusSignalBehavior", "modelAsString": true, "values": [ { "name": "Enabled", "value": "Enabled", "description": "Automatically add resource health availability status signal" }, { "name": "Disabled", "value": "Disabled", "description": "Do not automatically add resource health availability status signal" } ] } }, "ResourceMetricSignalDefinitionProperties": { "type": "object", "description": "Azure Resource Metric Signal Definition properties", "properties": { "metricNamespace": { "type": "string", "description": "Metric namespace", "minLength": 1, "maxLength": 256 }, "metricName": { "type": "string", "description": "Name of the metric", "minLength": 1, "maxLength": 256 }, "timeGrain": { "type": "string", "description": "Time range of signal. ISO duration format like PT10M.", "minLength": 1, "maxLength": 100 }, "aggregationType": { "$ref": "#/definitions/MetricAggregationType", "description": "Type of aggregation to apply to the metric" }, "dimensionFilter": { "type": "string", "description": "Optional: Dimension filter to apply to the metric. OData filter syntax, e.g. \"dimension eq '*'\" or \"dimension eq 'value'\"", "minLength": 1, "maxLength": 256 } }, "required": [ "metricNamespace", "metricName", "timeGrain", "aggregationType" ], "allOf": [ { "$ref": "#/definitions/SignalDefinitionProperties" } ], "x-ms-discriminator-value": "AzureResourceMetric" }, "SignalDefinition": { "type": "object", "description": "A signal definition in a health model", "properties": { "properties": { "$ref": "#/definitions/SignalDefinitionProperties", "description": "The resource-specific properties for this resource." } }, "allOf": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, "SignalDefinitionListResult": { "type": "object", "description": "The response of a SignalDefinition list operation.", "properties": { "value": { "type": "array", "description": "The SignalDefinition items on this page", "items": { "$ref": "#/definitions/SignalDefinition" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "SignalDefinitionProperties": { "type": "object", "description": "SignalDefinition properties", "properties": { "provisioningState": { "$ref": "#/definitions/HealthModelProvisioningState", "description": "The status of the last operation.", "readOnly": true }, "displayName": { "type": "string", "description": "Display name", "minLength": 1, "maxLength": 260 }, "signalKind": { "$ref": "#/definitions/SignalKind", "description": "Kind of the signal definition" }, "refreshInterval": { "type": "string", "description": "Interval in which the signal is being evaluated. Defaults to PT1M (1 minute).", "default": "PT1M", "enum": [ "PT1M", "PT5M", "PT10M", "PT30M", "PT1H", "PT2H" ], "x-ms-enum": { "name": "RefreshInterval", "modelAsString": true, "values": [ { "name": "PT1M", "value": "PT1M", "description": "One Minute" }, { "name": "PT5M", "value": "PT5M", "description": "Five Minutes" }, { "name": "PT10M", "value": "PT10M", "description": "Ten Minutes" }, { "name": "PT30M", "value": "PT30M", "description": "Thirty Minutes" }, { "name": "PT1H", "value": "PT1H", "description": "One Hour" }, { "name": "PT2H", "value": "PT2H", "description": "Two Hours" } ] } }, "tags": { "type": "object", "description": "Optional set of tags (key-value pairs)", "additionalProperties": { "$ref": "#/definitions/string4096" } }, "dataUnit": { "type": "string", "description": "Unit of the signal result (e.g. Bytes, MilliSeconds, Percent, Count))", "minLength": 1, "maxLength": 100 }, "evaluationRules": { "$ref": "#/definitions/EvaluationRule", "description": "Evaluation rules for the signal definition" } }, "discriminator": "signalKind", "required": [ "signalKind", "evaluationRules" ] }, "SignalGroups": { "type": "object", "description": "Contains various signal groups that can be assigned to an entity", "properties": { "azureResource": { "$ref": "#/definitions/AzureResourceSignals", "description": "Azure Resource Signal Group" }, "azureLogAnalytics": { "$ref": "#/definitions/LogAnalyticsSignals", "description": "Log Analytics Signal Group" }, "azureMonitorWorkspace": { "$ref": "#/definitions/AzureMonitorWorkspaceSignals", "description": "Azure Monitor Workspace Signal Group" }, "dependencies": { "$ref": "#/definitions/DependenciesSignalGroupV2", "description": "Settings for dependency signals to control how the health state of child entities influences the health state of the parent entity." }, "external": { "$ref": "#/definitions/ExternalSignalGroup", "description": "List of signals which have been externally submitted for this entity.", "readOnly": true } } }, "SignalHistoryDataPoint": { "type": "object", "description": "A data point in the signal time series", "properties": { "occurredAt": { "type": "string", "format": "date-time", "description": "Timestamp of the data point" }, "value": { "type": "number", "format": "double", "description": "Signal value at this point in time" }, "healthState": { "$ref": "#/definitions/HealthState", "description": "Health state at this point in time" }, "additionalContext": { "$ref": "#/definitions/string4096", "description": "Additional context as provided by the submitter" } }, "required": [ "occurredAt", "healthState" ] }, "SignalHistoryRequest": { "type": "object", "description": "Request body for getting signal history", "properties": { "signalName": { "$ref": "#/definitions/signalName", "description": "Name of the signal to get history for" }, "startAt": { "type": "string", "format": "date-time", "description": "Start time for the history query. Defaults to 24 hours ago if not specified. Must be omitted when continuationToken is specified." }, "endAt": { "type": "string", "format": "date-time", "description": "End time for the history query. Defaults to now if not specified. Must be omitted when continuationToken is specified." }, "top": { "type": "integer", "format": "int32", "description": "Maximum number of data points to return per page. Defaults to 1000.", "minimum": 1, "maximum": 1000 }, "continuationToken": { "$ref": "#/definitions/secretString4096", "format": "password", "description": "Continuation token from a previous response to retrieve the next page of results. Must not be combined with startAt or endAt.", "x-ms-secret": true } }, "required": [ "signalName" ] }, "SignalHistoryResponse": { "type": "object", "description": "Response containing signal history", "properties": { "entityName": { "$ref": "#/definitions/entityName", "description": "Name of the entity" }, "signalName": { "$ref": "#/definitions/signalName", "description": "Name of the signal" }, "history": { "type": "array", "description": "Signal history data points", "items": { "$ref": "#/definitions/SignalHistoryDataPoint" }, "x-ms-identifiers": [ "occurredAt" ] }, "continuationToken": { "$ref": "#/definitions/secretString4096", "format": "password", "description": "Continuation token to retrieve the next page of results. Null if there are no more results.", "x-ms-secret": true } }, "required": [ "entityName", "signalName", "history" ] }, "SignalInstanceProperties": { "type": "object", "description": "Additional properties for signal instances assigned to an entity", "properties": { "signalKind": { "$ref": "#/definitions/SignalKind", "description": "Kind of the signal instance" }, "name": { "$ref": "#/definitions/signalName", "description": "Unique name of the signal within the entity." }, "signalDefinitionName": { "$ref": "#/definitions/signalDefinitionName", "description": "Optional reference to a signal definition that provides default values." }, "status": { "$ref": "#/definitions/SignalStatus", "description": "Current status of the signal.", "readOnly": true } }, "discriminator": "signalKind", "required": [ "signalKind", "name" ] }, "SignalKind": { "type": "string", "description": "Supported signal kinds as discriminator", "enum": [ "AzureResourceMetric", "LogAnalyticsQuery", "PrometheusMetricsQuery", "External" ], "x-ms-enum": { "name": "SignalKind", "modelAsString": true, "values": [ { "name": "AzureResourceMetric", "value": "AzureResourceMetric" }, { "name": "LogAnalyticsQuery", "value": "LogAnalyticsQuery" }, { "name": "PrometheusMetricsQuery", "value": "PrometheusMetricsQuery" }, { "name": "ExternalSignal", "value": "External" } ] } }, "SignalOperator": { "type": "string", "description": "Signal operator", "enum": [ "GreaterThan", "LessThan", "LessThanOrEqual", "GreaterThanOrEqual", "Equal", "NotEqual", "Dynamic" ], "x-ms-enum": { "name": "SignalOperator", "modelAsString": true, "values": [ { "name": "GreaterThan", "value": "GreaterThan", "description": "Greater than" }, { "name": "LessThan", "value": "LessThan", "description": "Less than" }, { "name": "LessThanOrEqual", "value": "LessThanOrEqual", "description": "Less than or equal to" }, { "name": "GreaterThanOrEqual", "value": "GreaterThanOrEqual", "description": "Greater than or equal to" }, { "name": "Equal", "value": "Equal", "description": "Equal to" }, { "name": "NotEqual", "value": "NotEqual", "description": "Not equal to" }, { "name": "Dynamic", "value": "Dynamic", "description": "Dynamic threshold — uses statistical analysis of historical signal values" } ] } }, "SignalStatus": { "type": "object", "description": "Status of a signal", "properties": { "healthState": { "$ref": "#/definitions/HealthState", "description": "Health state of this signal", "readOnly": true }, "value": { "type": "number", "format": "double", "description": "Reported value of the signal", "readOnly": true }, "reportedAt": { "type": "string", "format": "date-time", "description": "Timestamp when the value was reported", "readOnly": true }, "error": { "type": "string", "description": "Error message if the signal status cannot be retrieved", "readOnly": true }, "additionalContext": { "$ref": "#/definitions/string4096", "description": "Additional context as provided by the submitter" } } }, "ThresholdRuleV2": { "type": "object", "description": "Threshold-based evaluation rule for a signal definition", "properties": { "operator": { "$ref": "#/definitions/SignalOperator", "description": "Operator how to compare the signal value with the threshold" }, "threshold": { "type": "number", "format": "double", "description": "Threshold value. Required for static operators. Not applicable when operator is Dynamic." }, "sensitivity": { "$ref": "#/definitions/DynamicThresholdSensitivity", "description": "Sensitivity level for dynamic threshold detection. Only applicable when operator is Dynamic." }, "lookBackWindow": { "type": "string", "description": "ISO 8601 duration for the historical look-back window used by dynamic threshold computation. Only applicable when operator is Dynamic." } }, "required": [ "operator" ] }, "authenticationSettingName": { "type": "string", "description": "Type for authentication setting resource name.", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" }, "discoveryRuleName": { "type": "string", "description": "Type for discovery rule resource name.", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" }, "entityName": { "type": "string", "description": "Type for entity resource name.", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" }, "secretString4096": { "type": "string", "format": "password", "description": "Secret string with max length validation of 4096 characters", "maxLength": 4096, "x-ms-secret": true }, "signalDefinitionName": { "type": "string", "description": "Type for signal definition resource name.", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" }, "signalName": { "type": "string", "description": "Type for signal name.", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$" }, "string256": { "type": "string", "description": "String with max length validation of 256 characters", "maxLength": 256 }, "string4096": { "type": "string", "description": "String with max length validation of 4096 characters", "maxLength": 4096 } }, "parameters": {} }