Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Monitor.Query] Update Preview Swagger File #26331

Merged
merged 16 commits into from
Oct 30, 2023
178 changes: 178 additions & 0 deletions specification/monitor/commonDefinitions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
{
"swagger": "2.0",
"info": {
"version": "2023-11-01",
"title": "Common Monitoring types"
},
"paths": {},
"definitions": {
"LocalizableString": {
"type": "object",
"required": [
"value"
],
"properties": {
"value": {
"type": "string",
"description": "The invariant value."
},
"localizedValue": {
"type": "string",
"description": "The display name."
}
},
"description": "The localizable string class."
},
"MetricValue": {
"type": "object",
"required": [
"timeStamp"
],
"properties": {
"timeStamp": {
"type": "string",
"format": "date-time",
"description": "The timestamp for the metric value in ISO 8601 format."
},
"average": {
"type": "number",
"format": "double",
"description": "The average value in the time range."
},
"minimum": {
"type": "number",
"format": "double",
"description": "The least value in the time range."
},
"maximum": {
"type": "number",
"format": "double",
"description": "The greatest value in the time range."
},
"total": {
"type": "number",
"format": "double",
"description": "The sum of all of the values in the time range."
},
"count": {
"type": "number",
"format": "double",
"description": "The number of samples in the time range. Can be used to determine the number of values that contributed to the average value."
}
},
"description": "Represents a metric value."
},
"MetadataValue": {
"type": "object",
"properties": {
"name": {
"$ref": "#/definitions/LocalizableString",
"description": "The name of the metadata."
},
"value": {
"type": "string",
"description": "The value of the metadata."
}
},
"description": "Represents a metric metadata value."
},
"Unit": {
"type": "string",
"description": "The unit of the metric.",
"enum": [
"Count",
"Bytes",
"Seconds",
"CountPerSecond",
"BytesPerSecond",
"Percent",
"MilliSeconds",
"ByteSeconds",
"Unspecified",
"Cores",
"MilliCores",
"NanoCores",
"BitsPerSecond"
],
"x-ms-enum": {
"name": "MetricUnit",
"modelAsString": true
}
},
"TimeSeriesElement": {
"type": "object",
"properties": {
"metadatavalues": {
"type": "array",
"items": {
"$ref": "#/definitions/MetadataValue"
},
"x-ms-identifiers": [
"name"
],
"description": "the metadata values returned if $filter was specified in the call."
},
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/MetricValue"
},
"x-ms-identifiers": [
"timeStamp"
],
"description": "An array of data points representing the metric values. This is only returned if a result type of data is specified."
}
},
"description": "A time series result type. The discriminator value is always TimeSeries in this case."
},
"Metric": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "the metric Id."
},
"type": {
"type": "string",
"description": "the resource type of the metric resource."
},
"name": {
"$ref": "#/definitions/LocalizableString",
"description": "the name and the display name of the metric, i.e. it is localizable string."
},
"displayDescription": {
"type": "string",
"description": "Detailed description of this metric."
},
"errorCode": {
"type": "string",
"description": "'Success' or the error details on query failures for this metric."
},
"errorMessage": {
"type": "string",
"description": "Error message encountered querying this specific metric."
},
"unit": {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Breaking change" for the metricsBatch.json. Currently, unit has modelAsString set to false. We could have two separate Unit models, but I think it's better to make the change and set it as true.

"$ref": "#/definitions/Unit",
"description": "The unit of the metric."
},
"timeseries": {
"type": "array",
"items": {
"$ref": "#/definitions/TimeSeriesElement"
},
"x-ms-identifiers": [],
"description": "the time series returned when a data query is performed."
}
},
"required": [
"id",
"type",
"name",
"unit",
"timeseries"
],
"description": "The result data of a query."
}
}
}
Loading