{ "swagger": "2.0", "info": { "version": "2017-07-01", "title": "Microsoft.ResourceHealth", "description": "The Resource Health Client." }, "host": "management.azure.com", "schemes": [ "https" ], "produces": [ "application/json" ], "security": [ { "azure_auth": [ "user_impersonation" ] } ], "securityDefinitions": { "azure_auth": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", "description": "Azure Active Directory OAuth2 Flow", "scopes": { "user_impersonation": "impersonate your user account" } } }, "paths": { "/subscriptions/{subscriptionId}/providers/Microsoft.ResourceHealth/availabilityStatuses": { "get": { "tags": [ "AvailabilityStatuses" ], "operationId": "AvailabilityStatuses_ListBySubscriptionId", "description": "Lists the current availability status for all the resources in the subscription. Use the nextLink property in the response to get the next page of availability statuses.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/FilterParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" }, { "$ref": "#/parameters/ExpandParameter" } ], "responses": { "200": { "description": "The body contains the list of the current availability status for all the resources in the subscription", "schema": { "$ref": "#/definitions/availabilityStatusListResult" } }, "default": { "description": "DefaultErrorResponse", "schema": { "$ref": "#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, "x-ms-examples": { "ListHealthBySubscriptionId": { "$ref": "./examples/AvailabilityStatuses_ListBySubscriptionId.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceHealth/availabilityStatuses": { "get": { "tags": [ "AvailabilityStatuses" ], "operationId": "AvailabilityStatuses_ListByResourceGroup", "description": "Lists the current availability status for all the resources in the resource group. Use the nextLink property in the response to get the next page of availability statuses.", "parameters": [ { "$ref": "#/parameters/SubscriptionIdParameter" }, { "$ref": "#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/FilterParameter" }, { "$ref": "#/parameters/ExpandParameter" } ], "responses": { "200": { "description": "The body contains the list of the current availability status for all the resources in the resource group", "schema": { "$ref": "#/definitions/availabilityStatusListResult" } }, "default": { "description": "DefaultErrorResponse", "schema": { "$ref": "#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, "x-ms-examples": { "ListByResourceGroup": { "$ref": "./examples/AvailabilityStatuses_ListByResourceGroup.json" } } } }, "/{resourceUri}/providers/Microsoft.ResourceHealth/availabilityStatuses/current": { "get": { "tags": [ "AvailabilityStatuses" ], "operationId": "AvailabilityStatuses_GetByResource", "description": "Gets current availability status for a single resource", "parameters": [ { "name": "resourceUri", "in": "path", "required": true, "type": "string", "description": "The fully qualified ID of the resource, including the resource name and resource type. Currently the API support not nested and one nesting level resource types : /subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/{resource-provider-name}/{resource-type}/{resource-name} and /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resource-provider-name}/{parentResourceType}/{parentResourceName}/{resourceType}/{resourceName}", "x-ms-skip-url-encoding": true }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/FilterParameter" }, { "$ref": "#/parameters/ExpandParameter" } ], "responses": { "200": { "description": "The body contains the current availability status for a single resource", "schema": { "$ref": "#/definitions/availabilityStatus" } }, "default": { "description": "DefaultErrorResponse", "schema": { "$ref": "#/definitions/ErrorResponse" } } }, "x-ms-examples": { "GetCurrentHealthByResource": { "$ref": "./examples/AvailabilityStatus_GetByResource.json" } } } }, "/{resourceUri}/providers/Microsoft.ResourceHealth/availabilityStatuses": { "get": { "tags": [ "AvailabilityStatuses" ], "operationId": "AvailabilityStatuses_List", "description": "Lists all historical availability transitions and impacting events for a single resource. Use the nextLink property in the response to get the next page of availability status", "parameters": [ { "name": "resourceUri", "in": "path", "required": true, "type": "string", "description": "The fully qualified ID of the resource, including the resource name and resource type. Currently the API support not nested and one nesting level resource types : /subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/{resource-provider-name}/{resource-type}/{resource-name} and /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resource-provider-name}/{parentResourceType}/{parentResourceName}/{resourceType}/{resourceName}", "x-ms-skip-url-encoding": true }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/FilterParameter" }, { "$ref": "#/parameters/ExpandParameter" } ], "responses": { "200": { "description": "The body contains the list of the historical availability statuses for a single resource", "schema": { "$ref": "#/definitions/availabilityStatusListResult" } }, "default": { "description": "DefaultErrorResponse", "schema": { "$ref": "#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, "x-ms-examples": { "GetHealthHistoryByResource": { "$ref": "./examples/AvailabilityStatuses_List.json" } } } }, "/providers/Microsoft.ResourceHealth/operations": { "get": { "tags": [ "Operations" ], "operationId": "Operations_List", "description": "Lists available operations for the resourcehealth resource provider", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "The body contains the list of available operations for the resourcehealth resource provider", "schema": { "$ref": "#/definitions/operationListResult" } }, "default": { "description": "DefaultErrorResponse", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } } }, "definitions": { "availabilityStatusListResult": { "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/availabilityStatus" }, "description": "The list of availabilityStatuses." }, "nextLink": { "type": "string", "description": "The URI to fetch the next page of availabilityStatuses. Call ListNext() with this URI to fetch the next page of availabilityStatuses." } }, "required": [ "value" ], "description": "The List availabilityStatus operation response." }, "availabilityStatus": { "type": "object", "description": "availabilityStatus of a resource.", "properties": { "id": { "type": "string", "description": "Azure Resource Manager Identity for the availabilityStatuses resource." }, "name": { "type": "string", "description": "current." }, "type": { "type": "string", "description": "Microsoft.ResourceHealth/AvailabilityStatuses." }, "location": { "type": "string", "description": "Azure Resource Manager geo location of the resource." }, "properties": { "type": "object", "description": "Properties of availability state.", "properties": { "availabilityState": { "type": "string", "description": "Availability status of the resource. When it is null, this availabilityStatus object represents an availability impacting event", "enum": [ "Available", "Unavailable", "Unknown" ], "x-ms-enum": { "name": "AvailabilityStateValues", "modelAsString": false } }, "summary": { "type": "string", "description": "Summary description of the availability status." }, "detailedStatus": { "type": "string", "description": "Details of the availability status." }, "reasonType": { "type": "string", "description": "When the resource's availabilityState is Unavailable, it describes where the health impacting event was originated. Examples are planned, unplanned, user initiated or an outage etc." }, "rootCauseAttributionTime": { "type": "string", "description": "When the resource's availabilityState is Unavailable, it provides the Timestamp for when the health impacting event was received.", "format": "date-time" }, "healthEventType": { "type": "string", "description": "In case of an availability impacting event, it describes when the health impacting event was originated. Examples are Lifecycle, Downtime, Fault Analysis etc." }, "healthEventCause": { "type": "string", "description": "In case of an availability impacting event, it describes where the health impacting event was originated. Examples are PlatformInitiated, UserInitiated etc." }, "healthEventCategory": { "type": "string", "description": "In case of an availability impacting event, it describes the category of a PlatformInitiated health impacting event. Examples are Planned, Unplanned etc." }, "healthEventId": { "type": "string", "description": "It is a unique Id that identifies the event" }, "resolutionETA": { "type": "string", "description": "When the resource's availabilityState is Unavailable and the reasonType is not User Initiated, it provides the date and time for when the issue is expected to be resolved.", "format": "date-time" }, "occuredTime": { "type": "string", "description": "Timestamp for when last change in health status occurred.", "format": "date-time" }, "reasonChronicity": { "type": "string", "description": "Chronicity of the availability transition.", "enum": [ "Transient", "Persistent" ], "x-ms-enum": { "name": "reasonChronicityTypes", "modelAsString": false } }, "reportedTime": { "type": "string", "description": "Timestamp for when the health was last checked. ", "format": "date-time" }, "recentlyResolvedState": { "type": "object", "description": "An annotation describing a change in the availabilityState to Available from Unavailable with a reasonType of type Unplanned", "properties": { "unavailableOccurredTime": { "type": "string", "description": "Timestamp for when the availabilityState changed to Unavailable", "format": "date-time" }, "resolvedTime": { "type": "string", "description": "Timestamp when the availabilityState changes to Available.", "format": "date-time" }, "unavailabilitySummary": { "type": "string", "description": "Brief description of cause of the resource becoming unavailable." } } }, "recommendedActions": { "type": "array", "description": "Lists actions the user can take based on the current availabilityState of the resource.", "items": { "$ref": "#/definitions/recommendedAction" } }, "serviceImpactingEvents": { "type": "array", "description": "Lists the service impacting events that may be affecting the health of the resource.", "items": { "$ref": "#/definitions/serviceImpactingEvent" } } } } } }, "recommendedAction": { "description": "Lists actions the user can take based on the current availabilityState of the resource.", "properties": { "action": { "type": "string", "description": "Recommended action." }, "actionUrl": { "type": "string", "description": "Link to the action" }, "actionUrlText": { "type": "string", "description": "Substring of action, it describes which text should host the action url." } } }, "serviceImpactingEvent": { "description": "Lists the service impacting events that may be affecting the health of the resource.", "properties": { "eventStartTime": { "type": "string", "description": "Timestamp for when the event started.", "format": "date-time" }, "eventStatusLastModifiedTime": { "type": "string", "description": "Timestamp for when event was submitted/detected.", "format": "date-time" }, "correlationId": { "type": "string", "description": "Correlation id for the event" }, "status": { "type": "object", "description": "Status of the service impacting event.", "properties": { "value": { "type": "string", "description": "Current status of the event" } } }, "incidentProperties": { "type": "object", "description": "Properties of the service impacting event.", "properties": { "title": { "type": "string", "description": "Title of the incident." }, "service": { "type": "string", "description": "Service impacted by the event." }, "region": { "type": "string", "description": "Region impacted by the event." }, "incidentType": { "type": "string", "description": "Type of Event." } } } } }, "operationListResult": { "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/operation" }, "description": "List of operations available in the resourcehealth resource provider." } }, "required": [ "value" ], "description": "Lists the operations response." }, "operation": { "description": "Operation available in the resourcehealth resource provider.", "properties": { "name": { "type": "string", "description": "Name of the operation." }, "display": { "type": "object", "description": "Properties of the operation.", "properties": { "provider": { "type": "string", "description": "Provider name." }, "resource": { "type": "string", "description": "Resource name." }, "operation": { "type": "string", "description": "Operation name." }, "description": { "type": "string", "description": "Description of the operation." } } } } }, "ErrorResponse": { "description": "Error details.", "type": "object", "properties": { "code": { "description": "The error code.", "type": "string", "readOnly": true }, "message": { "description": "The error message.", "type": "string", "readOnly": true }, "details": { "description": "The error details.", "type": "string", "readOnly": true } } } }, "parameters": { "SubscriptionIdParameter": { "name": "subscriptionId", "in": "path", "required": true, "type": "string", "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." }, "ApiVersionParameter": { "name": "api-version", "in": "query", "required": true, "type": "string", "description": "Client Api Version." }, "ResourceGroupNameParameter": { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the resource group.", "x-ms-parameter-location": "method" }, "FilterParameter": { "name": "$filter", "in": "query", "required": false, "type": "string", "description": "The filter to apply on the operation. For more information please see https://docs.microsoft.com/en-us/rest/api/apimanagement/apis?redirectedfrom=MSDN", "x-ms-parameter-location": "method" }, "ExpandParameter": { "name": "$expand", "in": "query", "required": false, "type": "string", "description": "Setting $expand=recommendedactions in url query expands the recommendedactions in the response.", "x-ms-parameter-location": "method" } } }