diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2020-05-01-preview/ResourceHealth.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2020-05-01-preview/ResourceHealth.json new file mode 100644 index 000000000000..9e46d1060863 --- /dev/null +++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2020-05-01-preview/ResourceHealth.json @@ -0,0 +1,856 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-05-01-preview", + "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.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ExpandParameter" + } + ], + "responses": { + "200": { + "description": "The list of 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.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/ExpandParameter" + } + ], + "responses": { + "200": { + "description": "The list of 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 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" + } + } + } + }, + "/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 list of available operations for the resourcehealth resource provider", + "schema": { + "$ref": "#/definitions/operationListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/{resourceUri}/providers/Microsoft.ResourceHealth/availabilityStatuses": { + "get": { + "tags": [ + "AvailabilityStatuses" + ], + "operationId": "AvailabilityStatuses_List", + "description": "Lists all historical availability transitions and impacting events 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 list of 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" + } + } + } + } + }, + "definitions": { + "link": { + "type": "object", + "description": "Useful links for service health event.", + "properties": { + "type": { + "type": "string", + "description": "Type of link.", + "enum": [ + "Button", + "Hyperlink" + ], + "x-ms-enum": { + "name": "LinkTypeValues", + "modelAsString": true + } + }, + "displayText": { + "type": "object", + "description": "Display text of link.", + "properties": { + "value": { + "type": "string", + "description": "Display text of link." + }, + "localizedValue": { + "type": "string", + "description": "Localized display text of link." + } + } + }, + "extensionName": { + "type": "string", + "description": "It provides the name of portal extension to produce link for given service health event." + }, + "bladeName": { + "type": "string", + "description": "It provides the name of portal extension blade to produce link for given service health event." + }, + "parameters": { + "type": "object", + "description": "It provides a map of parameter name and value for portal extension blade to produce lik for given service health 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." + } + } + } + } + }, + "faq": { + "type": "object", + "description": "Frequently asked question for the service health event", + "properties": { + "question": { + "type": "string", + "description": "FAQ question for the service health event." + }, + "answer": { + "type": "string", + "description": "FAQ answer for the service health event." + }, + "localeCode": { + "type": "string", + "description": "FAQ locale for the service health event." + } + } + }, + "impact": { + "type": "object", + "description": "Azure service impacted by the service health event.", + "properties": { + "impactedService": { + "type": "string", + "description": "Impacted service name." + }, + "impactedRegions": { + "type": "array", + "description": "List regions impacted by the service health event.", + "items": { + "$ref": "#/definitions/impactedServiceRegion" + } + } + } + }, + "impactedServiceRegion": { + "type": "object", + "description": "Azure region impacted by the service health event.", + "properties": { + "impactedRegion": { + "type": "string", + "description": "Impacted region name." + }, + "status": { + "type": "string", + "description": "Current status of event in the region.", + "enum": [ + "Active", + "Resolved" + ], + "x-ms-enum": { + "name": "EventStatusValues", + "modelAsString": true + } + }, + "impactedSubscriptions": { + "type": "array", + "description": "List subscription impacted by the service health event.", + "items": { + "type": "string", + "description": "Subscription impacted by the service health event." + } + }, + "lastUpdateTime": { + "type": "string", + "description": "It provides the Timestamp for when the last update for the service health event.", + "format": "date-time" + }, + "updates": { + "type": "array", + "description": "List of updates for given service health event.", + "items": { + "$ref": "#/definitions/update" + } + } + } + }, + "update": { + "type": "object", + "description": "Update for service health event.", + "properties": { + "summary": { + "type": "string", + "description": "Summary text for the given update for the service health event." + }, + "updateDateTime": { + "type": "string", + "description": "It provides the Timestamp for the given update for the service health event.", + "format": "date-time" + } + } + }, + "impactedResourceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/impactedResourceStatus" + }, + "description": "The list of impactedResourceStatus." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of impactedResourceStatus." + } + }, + "required": [ + "value" + ], + "description": "The List impactedResourceStatus operation response." + }, + "impactedResourceStatus": { + "type": "object", + "description": "impactedResource with health status", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "type": "object", + "description": "Properties of impacted resource status.", + "properties": { + "availabilityState": { + "type": "string", + "description": "Impacted resource status of the resource.", + "enum": [ + "Available", + "Unavailable", + "Degraded", + "Unknown" + ], + "x-ms-enum": { + "name": "AvailabilityStateValues", + "modelAsString": true + } + }, + "title": { + "type": "string", + "description": "Title description of the impacted resource status." + }, + "summary": { + "type": "string", + "description": "Summary description of the impacted resource status." + }, + "reasonType": { + "type": "string", + "description": "When the resource's availabilityState is Unavailable, it describes where the health impacting event was originated.", + "enum": [ + "Unplanned", + "Planned", + "UserInitiated" + ], + "x-ms-enum": { + "name": "ReasonTypeValues", + "modelAsString": true + } + }, + "occurredTime": { + "type": "string", + "description": "Timestamp for when last change in health status occurred.", + "format": "date-time" + } + } + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ] + }, + "availabilityStatusListResult": { + "type": "object", + "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", + "Degraded", + "Unknown" + ], + "x-ms-enum": { + "name": "AvailabilityStateValues", + "modelAsString": true + } + }, + "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" + }, + "occurredTime": { + "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": true + } + }, + "reportedTime": { + "type": "string", + "description": "Timestamp for when the health was last checked. ", + "format": "date-time" + }, + "recentlyResolved": { + "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": { + "type": "object", + "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": { + "type": "object", + "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." + } + } + } + } + }, + "statusBanner": { + "type": "object", + "description": "Banner type of emerging issue.", + "properties": { + "title": { + "type": "string", + "description": "The banner title." + }, + "message": { + "type": "string", + "description": "The details of banner." + }, + "cloud": { + "type": "string", + "description": "The cloud type of this banner." + }, + "lastModifiedTime": { + "type": "string", + "description": "The last time modified on this banner.", + "format": "date-time" + } + } + }, + "impactedRegion": { + "type": "object", + "description": "Object of impacted region.", + "properties": { + "id": { + "type": "string", + "description": "The impacted region id." + }, + "name": { + "type": "string", + "description": "The impacted region name." + } + } + }, + "ErrorResponse": { + "description": "Error details.", + "type": "object", + "properties": { + "error": { + "type": "object", + "description": "The error 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." + }, + "IssueNameParameter": { + "name": "issueName", + "in": "path", + "description": "The name of the emerging issue.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "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" + } + } +} diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2020-05-01-preview/examples/AvailabilityStatus_GetByResource.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2020-05-01-preview/examples/AvailabilityStatus_GetByResource.json new file mode 100644 index 000000000000..e2bc23a21f8c --- /dev/null +++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2020-05-01-preview/examples/AvailabilityStatus_GetByResource.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "resourceUri": "resourceUri", + "api-version": "2020-05-01-preview", + "$expand": "recommendedactions" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4abcdefgh-ijkl-mnop-qrstuvwxyz/resourceGroups/rhctestenv/providers/Microsoft.ClassicCompute/virtualMachines /rhctestenvV1PI/providers/Microsoft.ResourceHealth/availabilityStatuses/current", + "name": "current", + "type": "Microsoft.ResourceHealth/AvailabilityStatuses", + "location": "eastus", + "properties": { + "availabilityState": "Unavailable", + "summary": "We're sorry, we couldn't automatically recover your virtual machine", + "reasonType": "Unplanned", + "reasonChronicity": "Persistent", + "detailedStatus": "Disk problems are preventing us from automatically recovering your virtual machine", + "occurredTime": "2016-03-29T09:12:00Z", + "reportedTime": "2016-05-04T14:11:29.7598931Z", + "rootCauseAttributionTime": "2016-03-29T09:13:00Z", + "resolutionETA": "2016-03-29T09:37:00Z", + "recommendedActions": [ + { + "action": "To start this virtual machine, open the resource blade and click Start", + "actionUrl": "<#ResourceBlade>", + "actionUrlText": "resource blade" + }, + { + "action": "If you are experiencing problems you believe are caused by Azure, contact support", + "actionUrl": "<#SupportCase>", + "actionUrlText": "contact support" + } + ] + } + } + } + } +} diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2020-05-01-preview/examples/AvailabilityStatuses_List.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2020-05-01-preview/examples/AvailabilityStatuses_List.json new file mode 100644 index 000000000000..0799319a7c41 --- /dev/null +++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2020-05-01-preview/examples/AvailabilityStatuses_List.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "resourceUri": "resourceUri", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/4abcdefgh-ijkl-mnop-qrstuvwxyz/resourceGroups/rhctestenv/providers/Microsoft.ClassicCompute/virtualMachines/rhctes tenvV1PI/providers/Microsoft.ResourceHealth/availabilityStatuses/current", + "name": "current", + "type": "Microsoft.ResourceHealth/AvailabilityStatuses", + "location": "eastus", + "properties": { + "availabilityState": "Unavailable", + "summary": "We're sorry, we couldn't automatically recover your virtual machine", + "reasonType": "Unplanned", + "reasonChronicity": "Persistent", + "detailedStatus": "Disk problems are preventing us from automatically recovering your virtual machine", + "occurredTime": "2016-03-29T09:12:00Z", + "reportedTime": "2016-05-04T14:11:29.7598931Z", + "rootCauseAttributionTime": "2016-03-29T09:13:00Z", + "resolutionETA": "2016-03-29T09:37:00Z", + "serviceImpactingEvents": [ + { + "eventStartTime": "2016-05-02T19:23:13.7115125Z", + "eventStatusLastModifiedTime": "2016-05-02T19:27:04.9543491Z", + "correlationId": "b56d0180-2d6c-4f7b-b750-c1eca681874c", + "status": { + "value": "Resolved" + }, + "incidentProperties": { + "title": "Virtual Machines - West Europe [West Europe]", + "service": "Virtual Machines", + "region": "East US", + "incidentType": "outage" + } + } + ] + } + }, + { + "id": "/subscriptions/4abcdefgh-ijkl-mnop-qrstuvwxyz/resourceGroups/rhctestenv/providers/Microsoft.ClassicCompute/virtualMachines/rhctes tenvV1PI/providers/Microsoft.ResourceHealth/availabilityStatuses/2016-03-28+16%3a23%3a00Z", + "name": "2016-03-28+16%3a23%3a00Z", + "type": "Microsoft.ResourceHealth/AvailabilityStatuses", + "location": "eastus", + "properties": { + "availabilityState": "Available", + "summary": "This virtual machine is running normally", + "reasonChronicity": "Persistent", + "detailedStatus": "There aren’t any known Azure platform problems affecting this virtual machine", + "occurredTime": "2016-03-28T16:23:00Z" + } + } + ] + } + } + } +} diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2020-05-01-preview/examples/AvailabilityStatuses_ListByResourceGroup.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2020-05-01-preview/examples/AvailabilityStatuses_ListByResourceGroup.json new file mode 100644 index 000000000000..0a19201f146e --- /dev/null +++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2020-05-01-preview/examples/AvailabilityStatuses_ListByResourceGroup.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "api-version": "2020-05-01-preview", + "$expand": "recommendedactions" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.ResourceHealth/AvailabilityStatueses/current", + "name": "current", + "type": "Microsoft.ResourceHealth/AvailabilityStatuses", + "location": "eastus", + "properties": { + "availabilityState": "Available", + "summary": "Vm is available", + "reasonType": "Unplanned", + "reasonChronicity": "Persistent", + "detailedStatus": "We have not seen any issues with your virtual machine", + "occurredTime": "2016-03-29T09:12:00Z", + "reportedTime": "2016-05-04T14:11:29.7598931Z", + "recentlyResolved": { + "unavailableOccurredTime": "2017-02-28T00:48:00Z", + "resolvedTime": "2017-02-28T00:49:00Z", + "unavailabilitySummary": "We are sorry your SQL database is unavailable" + }, + "recommendedActions": [ + { + "action": "To start this virtualmachine, open the resource blade and click Start", + "actionUrl": "<#ResourceBlade>", + "actionUrlText": "resourceblade" + } + ] + } + }, + { + "id": "/providers/Microsoft.ResourceHealth/AvailabilityStatueses/current", + "name": "current", + "type": "Microsoft.ResourceHealth/AvailabilityStatuses", + "location": "eastus", + "properties": { + "availabilityState": "Unavailable", + "summary": "We are sorry, we couldn't automatically recovery our virtualmachine", + "reasonType": "Unplanned", + "reasonChronicity": "Persistent", + "detailedStatus": "Diskproblemsarepreventingusfromautomaticallyrecoveringyourvirtualmachine", + "occurredTime": "2016-03-29T09:12:00Z", + "reportedTime": "2016-05-04T14:11:29.7598931Z", + "rootCauseAttributionTime": "2016-03-29T09:13:00Z", + "resolutionETA": "2016-03-29T09:37:00Z", + "recommendedActions": [ + { + "action": "To start this virtualmachine, open the resource blade", + "actionUrl": "<#ResourceBlade>", + "actionUrlText": "resourceblade" + }, + { + "action": "If you are experiencing problems you believe are caused by Azure, contact support", + "actionUrl": "<#SupportCase>", + "actionUrlText": "contactsupport" + } + ] + } + } + ], + "nextLink": "{originalRequestUrl}?$skipToken={OpaquePageNumber}" + } + } + } +} diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2020-05-01-preview/examples/AvailabilityStatuses_ListBySubscriptionId.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2020-05-01-preview/examples/AvailabilityStatuses_ListBySubscriptionId.json new file mode 100644 index 000000000000..146e56a1e80b --- /dev/null +++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2020-05-01-preview/examples/AvailabilityStatuses_ListBySubscriptionId.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "subscriptionId", + "api-version": "2020-05-01-preview", + "$expand": "recommendedactions" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.ResourceHealth/AvailabilityStatueses/current", + "name": "current", + "type": "Microsoft.ResourceHealth/AvailabilityStatuses", + "location": "eastus", + "properties": { + "availabilityState": "Available", + "summary": "Vm is available", + "reasonType": "Unplanned", + "reasonChronicity": "Persistent", + "detailedStatus": "We have not seen any issues with your virtual machine", + "occurredTime": "2016-03-29T09:12:00Z", + "reportedTime": "2016-05-04T14:11:29.7598931Z", + "recentlyResolved": { + "unavailableOccurredTime": "2017-02-28T00:48:00Z", + "resolvedTime": "2017-02-28T00:49:00Z", + "unavailabilitySummary": "We are sorry your SQL database is unavailable" + }, + "recommendedActions": [ + { + "action": "To start this virtualmachine, open the resource blade and click Start", + "actionUrl": "<#ResourceBlade>", + "actionUrlText": "resourceblade" + } + ] + } + }, + { + "id": "/providers/Microsoft.ResourceHealth/AvailabilityStatueses/current", + "name": "current", + "type": "Microsoft.ResourceHealth/AvailabilityStatuses", + "location": "eastus", + "properties": { + "availabilityState": "Unavailable", + "summary": "We are sorry, we couldn't automatically recovery our virtualmachine", + "reasonType": "Unplanned", + "reasonChronicity": "Persistent", + "detailedStatus": "Diskproblemsarepreventingusfromautomaticallyrecoveringyourvirtualmachine", + "occurredTime": "2016-03-29T09:12:00Z", + "reportedTime": "2016-05-04T14:11:29.7598931Z", + "rootCauseAttributionTime": "2016-03-29T09:13:00Z", + "resolutionETA": "2016-03-29T09:37:00Z", + "recommendedActions": [ + { + "action": "To start this virtualmachine, open the resource blade", + "actionUrl": "<#ResourceBlade>", + "actionUrlText": "resourceblade" + }, + { + "action": "If you are experiencing problems you believe are caused by Azure, contact support", + "actionUrl": "<#SupportCase>", + "actionUrlText": "contactsupport" + } + ] + } + } + ], + "nextLink": "{originalRequestUrl}?$skipToken={OpaquePageNumber}" + } + } + } +} diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2020-05-01/ResourceHealth.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2020-05-01/ResourceHealth.json new file mode 100644 index 000000000000..c5756b42382e --- /dev/null +++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2020-05-01/ResourceHealth.json @@ -0,0 +1,700 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-05-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.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ExpandParameter" + } + ], + "responses": { + "200": { + "description": "The list of 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.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/ExpandParameter" + } + ], + "responses": { + "200": { + "description": "The list of 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" + } + } + } + }, + "/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 list of available operations for the resourcehealth resource provider", + "schema": { + "$ref": "#/definitions/operationListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/{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 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.", + "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 list of 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" + } + } + } + } + }, + "definitions": { + "impactedResourceStatus": { + "type": "object", + "description": "impactedResource with health status", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "type": "object", + "description": "Properties of impacted resource status.", + "properties": { + "availabilityState": { + "type": "string", + "description": "Impacted resource status of the resource.", + "enum": [ + "Available", + "Unavailable", + "Degraded", + "Unknown" + ], + "x-ms-enum": { + "name": "AvailabilityStateValues", + "modelAsString": true + } + }, + "title": { + "type": "string", + "description": "Title description of the impacted resource status." + }, + "summary": { + "type": "string", + "description": "Summary description of the impacted resource status." + }, + "reasonType": { + "type": "string", + "description": "When the resource's availabilityState is Unavailable, it describes where the health impacting event was originated.", + "enum": [ + "Unplanned", + "Planned", + "UserInitiated" + ], + "x-ms-enum": { + "name": "ReasonTypeValues", + "modelAsString": true + } + }, + "occurredTime": { + "type": "string", + "description": "Timestamp for when last change in health status occurred.", + "format": "date-time" + } + } + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ] + }, + "availabilityStatusListResult": { + "type": "object", + "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", + "Degraded", + "Unknown" + ], + "x-ms-enum": { + "name": "AvailabilityStateValues", + "modelAsString": true + } + }, + "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" + }, + "occurredTime": { + "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": true + } + }, + "reportedTime": { + "type": "string", + "description": "Timestamp for when the health was last checked. ", + "format": "date-time" + }, + "recentlyResolved": { + "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" + } + } + } + } + } + }, + "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." + } + } + } + } + }, + "recommendedAction": { + "type": "object", + "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": { + "type": "object", + "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." + } + } + } + } + }, + "statusBanner": { + "type": "object", + "description": "Banner type of emerging issue.", + "properties": { + "title": { + "type": "string", + "description": "The banner title." + }, + "message": { + "type": "string", + "description": "The details of banner." + }, + "cloud": { + "type": "string", + "description": "The cloud type of this banner." + }, + "lastModifiedTime": { + "type": "string", + "description": "The last time modified on this banner.", + "format": "date-time" + } + } + }, + "impactedRegion": { + "type": "object", + "description": "Object of impacted region.", + "properties": { + "id": { + "type": "string", + "description": "The impacted region id." + }, + "name": { + "type": "string", + "description": "The impacted region name." + } + } + }, + "ErrorResponse": { + "description": "Error details.", + "type": "object", + "properties": { + "error": { + "type": "object", + "description": "The error 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." + }, + "IssueNameParameter": { + "name": "issueName", + "in": "path", + "description": "The name of the emerging issue.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "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" + } + } +} diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2020-05-01/examples/AvailabilityStatus_GetByResource.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2020-05-01/examples/AvailabilityStatus_GetByResource.json new file mode 100644 index 000000000000..ac6229e8e72d --- /dev/null +++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2020-05-01/examples/AvailabilityStatus_GetByResource.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "resourceUri": "resourceUri", + "api-version": "2020-05-01", + "$expand": "recommendedactions" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4abcdefgh-ijkl-mnop-qrstuvwxyz/resourceGroups/rhctestenv/providers/Microsoft.ClassicCompute/virtualMachines /rhctestenvV1PI/providers/Microsoft.ResourceHealth/availabilityStatuses/current", + "name": "current", + "type": "Microsoft.ResourceHealth/AvailabilityStatuses", + "location": "eastus", + "properties": { + "availabilityState": "Unavailable", + "summary": "We're sorry, we couldn't automatically recover your virtual machine", + "reasonType": "Unplanned", + "reasonChronicity": "Persistent", + "detailedStatus": "Disk problems are preventing us from automatically recovering your virtual machine", + "occurredTime": "2016-03-29T09:12:00Z", + "reportedTime": "2016-05-04T14:11:29.7598931Z", + "rootCauseAttributionTime": "2016-03-29T09:13:00Z", + "resolutionETA": "2016-03-29T09:37:00Z", + "recommendedActions": [ + { + "action": "To start this virtual machine, open the resource blade and click Start", + "actionUrl": "<#ResourceBlade>", + "actionUrlText": "resource blade" + }, + { + "action": "If you are experiencing problems you believe are caused by Azure, contact support", + "actionUrl": "<#SupportCase>", + "actionUrlText": "contact support" + } + ] + } + } + } + } +} diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2020-05-01/examples/AvailabilityStatuses_List.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2020-05-01/examples/AvailabilityStatuses_List.json new file mode 100644 index 000000000000..14310d6c7d14 --- /dev/null +++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2020-05-01/examples/AvailabilityStatuses_List.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "resourceUri": "resourceUri", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/4abcdefgh-ijkl-mnop-qrstuvwxyz/resourceGroups/rhctestenv/providers/Microsoft.ClassicCompute/virtualMachines/rhctes tenvV1PI/providers/Microsoft.ResourceHealth/availabilityStatuses/current", + "name": "current", + "type": "Microsoft.ResourceHealth/AvailabilityStatuses", + "location": "eastus", + "properties": { + "availabilityState": "Unavailable", + "summary": "We're sorry, we couldn't automatically recover your virtual machine", + "reasonType": "Unplanned", + "reasonChronicity": "Persistent", + "detailedStatus": "Disk problems are preventing us from automatically recovering your virtual machine", + "occurredTime": "2016-03-29T09:12:00Z", + "reportedTime": "2016-05-04T14:11:29.7598931Z", + "rootCauseAttributionTime": "2016-03-29T09:13:00Z", + "resolutionETA": "2016-03-29T09:37:00Z", + "serviceImpactingEvents": [ + { + "eventStartTime": "2016-05-02T19:23:13.7115125Z", + "eventStatusLastModifiedTime": "2016-05-02T19:27:04.9543491Z", + "correlationId": "b56d0180-2d6c-4f7b-b750-c1eca681874c", + "status": { + "value": "Resolved" + }, + "incidentProperties": { + "title": "Virtual Machines - West Europe [West Europe]", + "service": "Virtual Machines", + "region": "East US", + "incidentType": "outage" + } + } + ] + } + }, + { + "id": "/subscriptions/4abcdefgh-ijkl-mnop-qrstuvwxyz/resourceGroups/rhctestenv/providers/Microsoft.ClassicCompute/virtualMachines/rhctes tenvV1PI/providers/Microsoft.ResourceHealth/availabilityStatuses/2016-03-28+16%3a23%3a00Z", + "name": "2016-03-28+16%3a23%3a00Z", + "type": "Microsoft.ResourceHealth/AvailabilityStatuses", + "location": "eastus", + "properties": { + "availabilityState": "Available", + "summary": "This virtual machine is running normally", + "reasonChronicity": "Persistent", + "detailedStatus": "There aren’t any known Azure platform problems affecting this virtual machine", + "occurredTime": "2016-03-28T16:23:00Z" + } + } + ] + } + } + } +} diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2020-05-01/examples/AvailabilityStatuses_ListByResourceGroup.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2020-05-01/examples/AvailabilityStatuses_ListByResourceGroup.json new file mode 100644 index 000000000000..69804124f6aa --- /dev/null +++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2020-05-01/examples/AvailabilityStatuses_ListByResourceGroup.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "api-version": "2020-05-01", + "$expand": "recommendedactions" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.ResourceHealth/AvailabilityStatueses/current", + "name": "current", + "type": "Microsoft.ResourceHealth/AvailabilityStatuses", + "location": "eastus", + "properties": { + "availabilityState": "Available", + "summary": "Vm is available", + "reasonType": "Unplanned", + "reasonChronicity": "Persistent", + "detailedStatus": "We have not seen any issues with your virtual machine", + "occurredTime": "2016-03-29T09:12:00Z", + "reportedTime": "2016-05-04T14:11:29.7598931Z", + "recentlyResolved": { + "unavailableOccurredTime": "2017-02-28T00:48:00Z", + "resolvedTime": "2017-02-28T00:49:00Z", + "unavailabilitySummary": "We are sorry your SQL database is unavailable" + }, + "recommendedActions": [ + { + "action": "To start this virtualmachine, open the resource blade and click Start", + "actionUrl": "<#ResourceBlade>", + "actionUrlText": "resourceblade" + } + ] + } + }, + { + "id": "/providers/Microsoft.ResourceHealth/AvailabilityStatueses/current", + "name": "current", + "type": "Microsoft.ResourceHealth/AvailabilityStatuses", + "location": "eastus", + "properties": { + "availabilityState": "Unavailable", + "summary": "We are sorry, we couldn't automatically recovery our virtualmachine", + "reasonType": "Unplanned", + "reasonChronicity": "Persistent", + "detailedStatus": "Diskproblemsarepreventingusfromautomaticallyrecoveringyourvirtualmachine", + "occurredTime": "2016-03-29T09:12:00Z", + "reportedTime": "2016-05-04T14:11:29.7598931Z", + "rootCauseAttributionTime": "2016-03-29T09:13:00Z", + "resolutionETA": "2016-03-29T09:37:00Z", + "recommendedActions": [ + { + "action": "To start this virtualmachine, open the resource blade", + "actionUrl": "<#ResourceBlade>", + "actionUrlText": "resourceblade" + }, + { + "action": "If you are experiencing problems you believe are caused by Azure, contact support", + "actionUrl": "<#SupportCase>", + "actionUrlText": "contactsupport" + } + ] + } + } + ], + "nextLink": "{originalRequestUrl}?$skipToken={OpaquePageNumber}" + } + } + } +} diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2020-05-01/examples/AvailabilityStatuses_ListBySubscriptionId.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2020-05-01/examples/AvailabilityStatuses_ListBySubscriptionId.json new file mode 100644 index 000000000000..c5211db0a7b5 --- /dev/null +++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2020-05-01/examples/AvailabilityStatuses_ListBySubscriptionId.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "subscriptionId", + "api-version": "2020-05-01", + "$expand": "recommendedactions" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.ResourceHealth/AvailabilityStatueses/current", + "name": "current", + "type": "Microsoft.ResourceHealth/AvailabilityStatuses", + "location": "eastus", + "properties": { + "availabilityState": "Available", + "summary": "Vm is available", + "reasonType": "Unplanned", + "reasonChronicity": "Persistent", + "detailedStatus": "We have not seen any issues with your virtual machine", + "occurredTime": "2016-03-29T09:12:00Z", + "reportedTime": "2016-05-04T14:11:29.7598931Z", + "recentlyResolved": { + "unavailableOccurredTime": "2017-02-28T00:48:00Z", + "resolvedTime": "2017-02-28T00:49:00Z", + "unavailabilitySummary": "We are sorry your SQL database is unavailable" + }, + "recommendedActions": [ + { + "action": "To start this virtualmachine, open the resource blade and click Start", + "actionUrl": "<#ResourceBlade>", + "actionUrlText": "resourceblade" + } + ] + } + }, + { + "id": "/providers/Microsoft.ResourceHealth/AvailabilityStatueses/current", + "name": "current", + "type": "Microsoft.ResourceHealth/AvailabilityStatuses", + "location": "eastus", + "properties": { + "availabilityState": "Unavailable", + "summary": "We are sorry, we couldn't automatically recovery our virtualmachine", + "reasonType": "Unplanned", + "reasonChronicity": "Persistent", + "detailedStatus": "Diskproblemsarepreventingusfromautomaticallyrecoveringyourvirtualmachine", + "occurredTime": "2016-03-29T09:12:00Z", + "reportedTime": "2016-05-04T14:11:29.7598931Z", + "rootCauseAttributionTime": "2016-03-29T09:13:00Z", + "resolutionETA": "2016-03-29T09:37:00Z", + "recommendedActions": [ + { + "action": "To start this virtualmachine, open the resource blade", + "actionUrl": "<#ResourceBlade>", + "actionUrlText": "resourceblade" + }, + { + "action": "If you are experiencing problems you believe are caused by Azure, contact support", + "actionUrl": "<#SupportCase>", + "actionUrlText": "contactsupport" + } + ] + } + } + ], + "nextLink": "{originalRequestUrl}?$skipToken={OpaquePageNumber}" + } + } + } +} diff --git a/specification/resourcehealth/resource-manager/readme.md b/specification/resourcehealth/resource-manager/readme.md index d361e0fc1f44..bf06ecded3a7 100644 --- a/specification/resourcehealth/resource-manager/readme.md +++ b/specification/resourcehealth/resource-manager/readme.md @@ -58,6 +58,15 @@ input-file: - Microsoft.ResourceHealth/preview/2018-08-01/ResourceHealth.json ``` +### Tag: package-2020-05-01-preview + +These settings apply only when `--tag=package-2020-05-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-05-01-preview' +input-file: +- Microsoft.ResourceHealth/preview/2020-05-01-preview/ResourceHealth.json +``` + ### Tag: package-2018-07-01 These settings apply only when `--tag=package-2018-07-01` is specified on the command line. @@ -67,6 +76,14 @@ input-file: - Microsoft.ResourceHealth/stable/2018-07-01/ResourceHealth.json ``` +### Tag: package-2020-05-01 + +These settings apply only when `--tag=package-2020-05-01` is specified on the command line. + +``` yaml $(tag) == 'package-2020-05-01' +input-file: +- Microsoft.ResourceHealth/stable/2020-05-01/ResourceHealth.json +``` --- # Code Generation @@ -121,7 +138,9 @@ batch: - tag: package-2017-07 - tag: package-2015-01 - tag: package-2018-08-preview + - tag: package-2020-05-01-preview - tag: package-2018-07-01 + - tag: package-2020-05-01 ``` ### Tag: package-2017-07 and java @@ -161,6 +180,18 @@ java: regenerate-manager: true generate-interface: true ``` +### Tag: package-2020-05-01-preview and java + +These settings apply only when `--tag=package-2020-05-01-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-05-01-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.resourcehealth.v2020_05_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/resourcehealth/mgmt-v2020_05_01_preview +regenerate-manager: true +generate-interface: true +``` ### Tag: package-2018-07-01 and java These settings apply only when `--tag=package-2018-07-01 --java` is specified on the command line. @@ -174,6 +205,18 @@ regenerate-manager: true generate-interface: true ``` +### Tag: package-2020-05-01 and java + +These settings apply only when `--tag=package-2020-05-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-05-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.resourcehealth.v2020_05_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/resourcehealth/mgmt-v2020_05_01 +regenerate-manager: true +generate-interface: true +```