@azure/monitor-query-metrics 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +243 -0
- package/dist/browser/api/index.d.ts +4 -0
- package/dist/browser/api/index.d.ts.map +1 -0
- package/dist/browser/api/index.js +5 -0
- package/dist/browser/api/index.js.map +1 -0
- package/dist/browser/api/metricsContext.d.ts +15 -0
- package/dist/browser/api/metricsContext.d.ts.map +1 -0
- package/dist/browser/api/metricsContext.js +38 -0
- package/dist/browser/api/metricsContext.js.map +1 -0
- package/dist/browser/api/operations.d.ts +9 -0
- package/dist/browser/api/operations.d.ts.map +1 -0
- package/dist/browser/api/operations.js +49 -0
- package/dist/browser/api/operations.js.map +1 -0
- package/dist/browser/api/options.d.ts +57 -0
- package/dist/browser/api/options.d.ts.map +1 -0
- package/dist/browser/api/options.js +4 -0
- package/dist/browser/api/options.js.map +1 -0
- package/dist/browser/index.d.ts +5 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +6 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/internalMetricsClient.d.ts +15 -0
- package/dist/browser/internalMetricsClient.d.ts.map +1 -0
- package/dist/browser/internalMetricsClient.js +23 -0
- package/dist/browser/internalMetricsClient.js.map +1 -0
- package/dist/browser/logger.d.ts +2 -0
- package/dist/browser/logger.d.ts.map +1 -0
- package/dist/browser/logger.js +5 -0
- package/dist/browser/logger.js.map +1 -0
- package/dist/browser/metricsClient.d.ts +28 -0
- package/dist/browser/metricsClient.d.ts.map +1 -0
- package/dist/browser/metricsClient.js +48 -0
- package/dist/browser/metricsClient.js.map +1 -0
- package/dist/browser/models/index.d.ts +2 -0
- package/dist/browser/models/index.d.ts.map +1 -0
- package/dist/browser/models/index.js +4 -0
- package/dist/browser/models/index.js.map +1 -0
- package/dist/browser/models/models.d.ts +141 -0
- package/dist/browser/models/models.d.ts.map +1 -0
- package/dist/browser/models/models.js +136 -0
- package/dist/browser/models/models.js.map +1 -0
- package/dist/browser/models.d.ts +167 -0
- package/dist/browser/models.d.ts.map +1 -0
- package/dist/browser/models.js +46 -0
- package/dist/browser/models.js.map +1 -0
- package/dist/browser/package.json +3 -0
- package/dist/browser/static-helpers/urlTemplate.d.ts +5 -0
- package/dist/browser/static-helpers/urlTemplate.d.ts.map +1 -0
- package/dist/browser/static-helpers/urlTemplate.js +186 -0
- package/dist/browser/static-helpers/urlTemplate.js.map +1 -0
- package/dist/browser/utils.d.ts +13 -0
- package/dist/browser/utils.d.ts.map +1 -0
- package/dist/browser/utils.js +54 -0
- package/dist/browser/utils.js.map +1 -0
- package/dist/commonjs/api/index.d.ts +4 -0
- package/dist/commonjs/api/index.d.ts.map +1 -0
- package/dist/commonjs/api/index.js +10 -0
- package/dist/commonjs/api/index.js.map +1 -0
- package/dist/commonjs/api/metricsContext.d.ts +15 -0
- package/dist/commonjs/api/metricsContext.d.ts.map +1 -0
- package/dist/commonjs/api/metricsContext.js +41 -0
- package/dist/commonjs/api/metricsContext.js.map +1 -0
- package/dist/commonjs/api/operations.d.ts +9 -0
- package/dist/commonjs/api/operations.d.ts.map +1 -0
- package/dist/commonjs/api/operations.js +54 -0
- package/dist/commonjs/api/operations.js.map +1 -0
- package/dist/commonjs/api/options.d.ts +57 -0
- package/dist/commonjs/api/options.d.ts.map +1 -0
- package/dist/commonjs/api/options.js +5 -0
- package/dist/commonjs/api/options.js.map +1 -0
- package/dist/commonjs/index.d.ts +5 -0
- package/dist/commonjs/index.d.ts.map +1 -0
- package/dist/commonjs/index.js +13 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/internalMetricsClient.d.ts +15 -0
- package/dist/commonjs/internalMetricsClient.d.ts.map +1 -0
- package/dist/commonjs/internalMetricsClient.js +27 -0
- package/dist/commonjs/internalMetricsClient.js.map +1 -0
- package/dist/commonjs/logger.d.ts +2 -0
- package/dist/commonjs/logger.d.ts.map +1 -0
- package/dist/commonjs/logger.js +8 -0
- package/dist/commonjs/logger.js.map +1 -0
- package/dist/commonjs/metricsClient.d.ts +28 -0
- package/dist/commonjs/metricsClient.d.ts.map +1 -0
- package/dist/commonjs/metricsClient.js +52 -0
- package/dist/commonjs/metricsClient.js.map +1 -0
- package/dist/commonjs/models/index.d.ts +2 -0
- package/dist/commonjs/models/index.d.ts.map +1 -0
- package/dist/commonjs/models/index.js +8 -0
- package/dist/commonjs/models/index.js.map +1 -0
- package/dist/commonjs/models/models.d.ts +141 -0
- package/dist/commonjs/models/models.d.ts.map +1 -0
- package/dist/commonjs/models/models.js +157 -0
- package/dist/commonjs/models/models.js.map +1 -0
- package/dist/commonjs/models.d.ts +167 -0
- package/dist/commonjs/models.d.ts.map +1 -0
- package/dist/commonjs/models.js +49 -0
- package/dist/commonjs/models.js.map +1 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/commonjs/static-helpers/urlTemplate.d.ts +5 -0
- package/dist/commonjs/static-helpers/urlTemplate.d.ts.map +1 -0
- package/dist/commonjs/static-helpers/urlTemplate.js +189 -0
- package/dist/commonjs/static-helpers/urlTemplate.js.map +1 -0
- package/dist/commonjs/tsdoc-metadata.json +11 -0
- package/dist/commonjs/utils.d.ts +13 -0
- package/dist/commonjs/utils.d.ts.map +1 -0
- package/dist/commonjs/utils.js +60 -0
- package/dist/commonjs/utils.js.map +1 -0
- package/dist/esm/api/index.d.ts +4 -0
- package/dist/esm/api/index.d.ts.map +1 -0
- package/dist/esm/api/index.js +5 -0
- package/dist/esm/api/index.js.map +1 -0
- package/dist/esm/api/metricsContext.d.ts +15 -0
- package/dist/esm/api/metricsContext.d.ts.map +1 -0
- package/dist/esm/api/metricsContext.js +38 -0
- package/dist/esm/api/metricsContext.js.map +1 -0
- package/dist/esm/api/operations.d.ts +9 -0
- package/dist/esm/api/operations.d.ts.map +1 -0
- package/dist/esm/api/operations.js +49 -0
- package/dist/esm/api/operations.js.map +1 -0
- package/dist/esm/api/options.d.ts +57 -0
- package/dist/esm/api/options.d.ts.map +1 -0
- package/dist/esm/api/options.js +4 -0
- package/dist/esm/api/options.js.map +1 -0
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internalMetricsClient.d.ts +15 -0
- package/dist/esm/internalMetricsClient.d.ts.map +1 -0
- package/dist/esm/internalMetricsClient.js +23 -0
- package/dist/esm/internalMetricsClient.js.map +1 -0
- package/dist/esm/logger.d.ts +2 -0
- package/dist/esm/logger.d.ts.map +1 -0
- package/dist/esm/logger.js +5 -0
- package/dist/esm/logger.js.map +1 -0
- package/dist/esm/metricsClient.d.ts +28 -0
- package/dist/esm/metricsClient.d.ts.map +1 -0
- package/dist/esm/metricsClient.js +48 -0
- package/dist/esm/metricsClient.js.map +1 -0
- package/dist/esm/models/index.d.ts +2 -0
- package/dist/esm/models/index.d.ts.map +1 -0
- package/dist/esm/models/index.js +4 -0
- package/dist/esm/models/index.js.map +1 -0
- package/dist/esm/models/models.d.ts +141 -0
- package/dist/esm/models/models.d.ts.map +1 -0
- package/dist/esm/models/models.js +136 -0
- package/dist/esm/models/models.js.map +1 -0
- package/dist/esm/models.d.ts +167 -0
- package/dist/esm/models.d.ts.map +1 -0
- package/dist/esm/models.js +46 -0
- package/dist/esm/models.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/static-helpers/urlTemplate.d.ts +5 -0
- package/dist/esm/static-helpers/urlTemplate.d.ts.map +1 -0
- package/dist/esm/static-helpers/urlTemplate.js +186 -0
- package/dist/esm/static-helpers/urlTemplate.js.map +1 -0
- package/dist/esm/utils.d.ts +13 -0
- package/dist/esm/utils.d.ts.map +1 -0
- package/dist/esm/utils.js +54 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/react-native/api/index.d.ts +4 -0
- package/dist/react-native/api/index.d.ts.map +1 -0
- package/dist/react-native/api/index.js +5 -0
- package/dist/react-native/api/index.js.map +1 -0
- package/dist/react-native/api/metricsContext.d.ts +15 -0
- package/dist/react-native/api/metricsContext.d.ts.map +1 -0
- package/dist/react-native/api/metricsContext.js +38 -0
- package/dist/react-native/api/metricsContext.js.map +1 -0
- package/dist/react-native/api/operations.d.ts +9 -0
- package/dist/react-native/api/operations.d.ts.map +1 -0
- package/dist/react-native/api/operations.js +49 -0
- package/dist/react-native/api/operations.js.map +1 -0
- package/dist/react-native/api/options.d.ts +57 -0
- package/dist/react-native/api/options.d.ts.map +1 -0
- package/dist/react-native/api/options.js +4 -0
- package/dist/react-native/api/options.js.map +1 -0
- package/dist/react-native/index.d.ts +5 -0
- package/dist/react-native/index.d.ts.map +1 -0
- package/dist/react-native/index.js +6 -0
- package/dist/react-native/index.js.map +1 -0
- package/dist/react-native/internalMetricsClient.d.ts +15 -0
- package/dist/react-native/internalMetricsClient.d.ts.map +1 -0
- package/dist/react-native/internalMetricsClient.js +23 -0
- package/dist/react-native/internalMetricsClient.js.map +1 -0
- package/dist/react-native/logger.d.ts +2 -0
- package/dist/react-native/logger.d.ts.map +1 -0
- package/dist/react-native/logger.js +5 -0
- package/dist/react-native/logger.js.map +1 -0
- package/dist/react-native/metricsClient.d.ts +28 -0
- package/dist/react-native/metricsClient.d.ts.map +1 -0
- package/dist/react-native/metricsClient.js +48 -0
- package/dist/react-native/metricsClient.js.map +1 -0
- package/dist/react-native/models/index.d.ts +2 -0
- package/dist/react-native/models/index.d.ts.map +1 -0
- package/dist/react-native/models/index.js +4 -0
- package/dist/react-native/models/index.js.map +1 -0
- package/dist/react-native/models/models.d.ts +141 -0
- package/dist/react-native/models/models.d.ts.map +1 -0
- package/dist/react-native/models/models.js +136 -0
- package/dist/react-native/models/models.js.map +1 -0
- package/dist/react-native/models.d.ts +167 -0
- package/dist/react-native/models.d.ts.map +1 -0
- package/dist/react-native/models.js +46 -0
- package/dist/react-native/models.js.map +1 -0
- package/dist/react-native/package.json +3 -0
- package/dist/react-native/static-helpers/urlTemplate.d.ts +5 -0
- package/dist/react-native/static-helpers/urlTemplate.d.ts.map +1 -0
- package/dist/react-native/static-helpers/urlTemplate.js +186 -0
- package/dist/react-native/static-helpers/urlTemplate.js.map +1 -0
- package/dist/react-native/utils.d.ts +13 -0
- package/dist/react-native/utils.d.ts.map +1 -0
- package/dist/react-native/utils.js +54 -0
- package/dist/react-native/utils.js.map +1 -0
- package/package.json +130 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import type { MetricsClientOptionalParams } from "./internalMetricsClient.js";
|
|
2
|
+
import type { Metric } from "./models/models.js";
|
|
3
|
+
/**
|
|
4
|
+
* Known values for Monitor Audience
|
|
5
|
+
*/
|
|
6
|
+
export declare enum KnownMonitorMetricsQueryAudience {
|
|
7
|
+
/**
|
|
8
|
+
* Audience for Azure China
|
|
9
|
+
*/
|
|
10
|
+
AzureChina = "https://management.chinacloudapi.cn",
|
|
11
|
+
/**
|
|
12
|
+
* Audience for Azure Government
|
|
13
|
+
*/
|
|
14
|
+
AzureGovernment = "https://management.usgovcloudapi.net",
|
|
15
|
+
/**
|
|
16
|
+
* Audience for Azure Public
|
|
17
|
+
*/
|
|
18
|
+
AzurePublicCloud = "https://management.azure.com"
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Options for configuring the MetricsClient.
|
|
22
|
+
*/
|
|
23
|
+
export interface MetricsClientOptions extends MetricsClientOptionalParams {
|
|
24
|
+
/**
|
|
25
|
+
* The Audience to use for authentication with Microsoft Entra ID. The
|
|
26
|
+
* audience is not considered when using a shared key.
|
|
27
|
+
* {@link KnownMonitorMetricsQueryAudience} can be used interchangeably with audience
|
|
28
|
+
*/
|
|
29
|
+
audience?: string;
|
|
30
|
+
/**
|
|
31
|
+
* The endpoint to use when communicating with the service.
|
|
32
|
+
*/
|
|
33
|
+
endpoint?: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Options for querying metrics for multiple resources.
|
|
37
|
+
*/
|
|
38
|
+
export interface MetricsQueryResourcesOptions {
|
|
39
|
+
/**
|
|
40
|
+
* The start time of the query.
|
|
41
|
+
*/
|
|
42
|
+
startTime?: Date;
|
|
43
|
+
/** The end time of the query. */
|
|
44
|
+
endTime?: Date;
|
|
45
|
+
/**
|
|
46
|
+
* The interval (i.e. timegrain) of the query in ISO 8601 duration format.
|
|
47
|
+
* Defaults to PT1M. Special case for 'FULL' value that returns single datapoint
|
|
48
|
+
* for entire time span requested.
|
|
49
|
+
* *Examples: PT15M, PT1H, P1D, FULL*
|
|
50
|
+
*
|
|
51
|
+
* {@link Durations}
|
|
52
|
+
*/
|
|
53
|
+
interval?: string;
|
|
54
|
+
/** The list of aggregation types (comma separated) to retrieve. *Examples: average, minimum, maximum* */
|
|
55
|
+
aggregation?: string;
|
|
56
|
+
/**
|
|
57
|
+
* The maximum number of records to retrieve per resource ID in the request.
|
|
58
|
+
* Valid only if filter is specified.
|
|
59
|
+
* Defaults to 10.
|
|
60
|
+
*/
|
|
61
|
+
top?: number;
|
|
62
|
+
/**
|
|
63
|
+
* The aggregation to use for sorting results and the direction of the sort.
|
|
64
|
+
* Only one order can be specified.
|
|
65
|
+
* *Examples: sum asc*
|
|
66
|
+
*/
|
|
67
|
+
orderBy?: string;
|
|
68
|
+
/**
|
|
69
|
+
* The filter is used to reduce the set of metric data
|
|
70
|
+
* returned.<br>Example:<br>Metric contains metadata A, B and C.<br>- Return all
|
|
71
|
+
* time series of C where A = a1 and B = b1 or b2<br>**filter=A eq ‘a1’ and B eq
|
|
72
|
+
* ‘b1’ or B eq ‘b2’ and C eq ‘*’**<br>- Invalid variant:<br>**filter=A eq ‘a1’
|
|
73
|
+
* and B eq ‘b1’ and C eq ‘*’ or B = ‘b2’**<br>This is invalid because the logical
|
|
74
|
+
* or operator cannot separate two different metadata names.<br>- Return all time
|
|
75
|
+
* series where A = a1, B = b1 and C = c1:<br>**filter=A eq ‘a1’ and B eq ‘b1’ and
|
|
76
|
+
* C eq ‘c1’**<br>- Return all time series where A = a1<br>**filter=A eq ‘a1’ and
|
|
77
|
+
* B eq ‘*’ and C eq ‘*’**.
|
|
78
|
+
*/
|
|
79
|
+
filter?: string;
|
|
80
|
+
/**
|
|
81
|
+
* Dimension name(s) to rollup results by. For example if you only want to see
|
|
82
|
+
* metric values with a filter like 'City eq Seattle or City eq Tacoma' but don't
|
|
83
|
+
* want to see separate values for each city, you can specify 'RollUpBy=City' to
|
|
84
|
+
* see the results for Seattle and Tacoma rolled up into one timeseries.
|
|
85
|
+
*/
|
|
86
|
+
rollUpBy?: string;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Query time interval type that supports multiple formats.
|
|
90
|
+
*/
|
|
91
|
+
export type QueryTimeInterval = {
|
|
92
|
+
startTime: Date;
|
|
93
|
+
endTime: Date;
|
|
94
|
+
} | {
|
|
95
|
+
startTime: Date;
|
|
96
|
+
duration: string;
|
|
97
|
+
} | {
|
|
98
|
+
duration: string;
|
|
99
|
+
endTime: Date;
|
|
100
|
+
} | {
|
|
101
|
+
duration: string;
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Result of a metrics query for a single resource.
|
|
105
|
+
*/
|
|
106
|
+
export interface MetricsQueryResult {
|
|
107
|
+
/**
|
|
108
|
+
* The cost associated with the query.
|
|
109
|
+
*/
|
|
110
|
+
cost?: number;
|
|
111
|
+
/**
|
|
112
|
+
* The interval (window size) for which the metric data was returned.
|
|
113
|
+
*/
|
|
114
|
+
granularity?: string;
|
|
115
|
+
/**
|
|
116
|
+
* The metrics data.
|
|
117
|
+
*/
|
|
118
|
+
metrics: Metric[];
|
|
119
|
+
/**
|
|
120
|
+
* The namespace of the metrics been queried.
|
|
121
|
+
*/
|
|
122
|
+
namespace?: string;
|
|
123
|
+
/**
|
|
124
|
+
* The resource that has been queried for metrics.
|
|
125
|
+
*/
|
|
126
|
+
resourceId?: string;
|
|
127
|
+
/**
|
|
128
|
+
* The region of the resource been queried for metrics.
|
|
129
|
+
*/
|
|
130
|
+
resourceRegion?: string;
|
|
131
|
+
/**
|
|
132
|
+
* The timespan for the query.
|
|
133
|
+
*/
|
|
134
|
+
timespan: QueryTimeInterval;
|
|
135
|
+
/**
|
|
136
|
+
* Helper method to get a metric by name.
|
|
137
|
+
* @param metricName - The name of the metric to retrieve.
|
|
138
|
+
* @returns The metric if found, undefined otherwise.
|
|
139
|
+
*/
|
|
140
|
+
getMetricByName(metricName: string): Metric | undefined;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Aliases for some common ISO8601 durations.
|
|
144
|
+
*/
|
|
145
|
+
export declare const Durations: {
|
|
146
|
+
/** Alias for ISO8601 value 'P7D' */
|
|
147
|
+
readonly sevenDays: "P7D";
|
|
148
|
+
/** Alias for ISO8601 value 'P3D' */
|
|
149
|
+
readonly threeDays: "P3D";
|
|
150
|
+
/** Alias for ISO8601 value 'P2D' */
|
|
151
|
+
readonly twoDays: "P2D";
|
|
152
|
+
/** Alias for ISO8601 value 'P1D' */
|
|
153
|
+
readonly oneDay: "P1D";
|
|
154
|
+
/** Alias for ISO8601 value 'PT1H' */
|
|
155
|
+
readonly oneHour: "PT1H";
|
|
156
|
+
/** Alias for ISO8601 value 'PT4H' */
|
|
157
|
+
readonly fourHours: "PT4H";
|
|
158
|
+
/** Alias for ISO8601 value 'PT24H' */
|
|
159
|
+
readonly twentyFourHours: "PT24H";
|
|
160
|
+
/** Alias for ISO8601 value 'PT48H' */
|
|
161
|
+
readonly fortyEightHours: "PT48H";
|
|
162
|
+
/** Alias for ISO8601 value 'PT30M' */
|
|
163
|
+
readonly thirtyMinutes: "PT30M";
|
|
164
|
+
/** Alias for ISO8601 value 'PT5M' */
|
|
165
|
+
readonly fiveMinutes: "PT5M";
|
|
166
|
+
};
|
|
167
|
+
//# sourceMappingURL=models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;GAEG;AACH,oBAAY,gCAAgC;IAC1C;;OAEG;IACH,UAAU,wCAAwC;IAClD;;OAEG;IACH,eAAe,yCAAyC;IACxD;;OAEG;IACH,gBAAgB,iCAAiC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,2BAA2B;IACvE;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,iCAAiC;IACjC,OAAO,CAAC,EAAE,IAAI,CAAC;IACf;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yGAAyG;IACzG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,SAAS,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,GAClC;IAAE,SAAS,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,GACnC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,EAAE,iBAAiB,CAAC;IAC5B;;;;OAIG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACzD;AAED;;GAEG;AACH,eAAO,MAAM,SAAS;IACpB,oCAAoC;;IAEpC,oCAAoC;;IAEpC,oCAAoC;;IAEpC,oCAAoC;;IAEpC,qCAAqC;;IAErC,qCAAqC;;IAErC,sCAAsC;;IAEtC,sCAAsC;;IAEtC,sCAAsC;;IAEtC,qCAAqC;;CAE7B,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.Durations = exports.KnownMonitorMetricsQueryAudience = void 0;
|
|
6
|
+
/**
|
|
7
|
+
* Known values for Monitor Audience
|
|
8
|
+
*/
|
|
9
|
+
var KnownMonitorMetricsQueryAudience;
|
|
10
|
+
(function (KnownMonitorMetricsQueryAudience) {
|
|
11
|
+
/**
|
|
12
|
+
* Audience for Azure China
|
|
13
|
+
*/
|
|
14
|
+
KnownMonitorMetricsQueryAudience["AzureChina"] = "https://management.chinacloudapi.cn";
|
|
15
|
+
/**
|
|
16
|
+
* Audience for Azure Government
|
|
17
|
+
*/
|
|
18
|
+
KnownMonitorMetricsQueryAudience["AzureGovernment"] = "https://management.usgovcloudapi.net";
|
|
19
|
+
/**
|
|
20
|
+
* Audience for Azure Public
|
|
21
|
+
*/
|
|
22
|
+
KnownMonitorMetricsQueryAudience["AzurePublicCloud"] = "https://management.azure.com";
|
|
23
|
+
})(KnownMonitorMetricsQueryAudience || (exports.KnownMonitorMetricsQueryAudience = KnownMonitorMetricsQueryAudience = {}));
|
|
24
|
+
/**
|
|
25
|
+
* Aliases for some common ISO8601 durations.
|
|
26
|
+
*/
|
|
27
|
+
exports.Durations = {
|
|
28
|
+
/** Alias for ISO8601 value 'P7D' */
|
|
29
|
+
sevenDays: "P7D",
|
|
30
|
+
/** Alias for ISO8601 value 'P3D' */
|
|
31
|
+
threeDays: "P3D",
|
|
32
|
+
/** Alias for ISO8601 value 'P2D' */
|
|
33
|
+
twoDays: "P2D",
|
|
34
|
+
/** Alias for ISO8601 value 'P1D' */
|
|
35
|
+
oneDay: "P1D",
|
|
36
|
+
/** Alias for ISO8601 value 'PT1H' */
|
|
37
|
+
oneHour: "PT1H",
|
|
38
|
+
/** Alias for ISO8601 value 'PT4H' */
|
|
39
|
+
fourHours: "PT4H",
|
|
40
|
+
/** Alias for ISO8601 value 'PT24H' */
|
|
41
|
+
twentyFourHours: "PT24H",
|
|
42
|
+
/** Alias for ISO8601 value 'PT48H' */
|
|
43
|
+
fortyEightHours: "PT48H",
|
|
44
|
+
/** Alias for ISO8601 value 'PT30M' */
|
|
45
|
+
thirtyMinutes: "PT30M",
|
|
46
|
+
/** Alias for ISO8601 value 'PT5M' */
|
|
47
|
+
fiveMinutes: "PT5M",
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAKlC;;GAEG;AACH,IAAY,gCAaX;AAbD,WAAY,gCAAgC;IAC1C;;OAEG;IACH,sFAAkD,CAAA;IAClD;;OAEG;IACH,4FAAwD,CAAA;IACxD;;OAEG;IACH,qFAAiD,CAAA;AACnD,CAAC,EAbW,gCAAgC,gDAAhC,gCAAgC,QAa3C;AA6HD;;GAEG;AACU,QAAA,SAAS,GAAG;IACvB,oCAAoC;IACpC,SAAS,EAAE,KAAK;IAChB,oCAAoC;IACpC,SAAS,EAAE,KAAK;IAChB,oCAAoC;IACpC,OAAO,EAAE,KAAK;IACd,oCAAoC;IACpC,MAAM,EAAE,KAAK;IACb,qCAAqC;IACrC,OAAO,EAAE,MAAM;IACf,qCAAqC;IACrC,SAAS,EAAE,MAAM;IACjB,sCAAsC;IACtC,eAAe,EAAE,OAAO;IACxB,sCAAsC;IACtC,eAAe,EAAE,OAAO;IACxB,sCAAsC;IACtC,aAAa,EAAE,OAAO;IACtB,qCAAqC;IACrC,WAAW,EAAE,MAAM;CACX,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { MetricsClientOptionalParams } from \"./internalMetricsClient.js\";\nimport type { Metric } from \"./models/models.js\";\n\n/**\n * Known values for Monitor Audience\n */\nexport enum KnownMonitorMetricsQueryAudience {\n /**\n * Audience for Azure China\n */\n AzureChina = \"https://management.chinacloudapi.cn\",\n /**\n * Audience for Azure Government\n */\n AzureGovernment = \"https://management.usgovcloudapi.net\",\n /**\n * Audience for Azure Public\n */\n AzurePublicCloud = \"https://management.azure.com\",\n}\n\n/**\n * Options for configuring the MetricsClient.\n */\nexport interface MetricsClientOptions extends MetricsClientOptionalParams {\n /**\n * The Audience to use for authentication with Microsoft Entra ID. The\n * audience is not considered when using a shared key.\n * {@link KnownMonitorMetricsQueryAudience} can be used interchangeably with audience\n */\n audience?: string;\n /**\n * The endpoint to use when communicating with the service.\n */\n endpoint?: string;\n}\n\n// MetricsQueryResourcesOptions is equivalent to Omit<QueryResourcesOptionalParams, \"startTime\" | \"endTime\"> {\n// endTime?: Date;\n// startTime?: Date;\n// }\n/**\n * Options for querying metrics for multiple resources.\n */\nexport interface MetricsQueryResourcesOptions {\n /**\n * The start time of the query.\n */\n startTime?: Date;\n /** The end time of the query. */\n endTime?: Date;\n /**\n * The interval (i.e. timegrain) of the query in ISO 8601 duration format.\n * Defaults to PT1M. Special case for 'FULL' value that returns single datapoint\n * for entire time span requested.\n * *Examples: PT15M, PT1H, P1D, FULL*\n *\n * {@link Durations}\n */\n interval?: string;\n /** The list of aggregation types (comma separated) to retrieve. *Examples: average, minimum, maximum* */\n aggregation?: string;\n /**\n * The maximum number of records to retrieve per resource ID in the request.\n * Valid only if filter is specified.\n * Defaults to 10.\n */\n top?: number;\n /**\n * The aggregation to use for sorting results and the direction of the sort.\n * Only one order can be specified.\n * *Examples: sum asc*\n */\n orderBy?: string;\n /**\n * The filter is used to reduce the set of metric data\n * returned.<br>Example:<br>Metric contains metadata A, B and C.<br>- Return all\n * time series of C where A = a1 and B = b1 or b2<br>**filter=A eq ‘a1’ and B eq\n * ‘b1’ or B eq ‘b2’ and C eq ‘*’**<br>- Invalid variant:<br>**filter=A eq ‘a1’\n * and B eq ‘b1’ and C eq ‘*’ or B = ‘b2’**<br>This is invalid because the logical\n * or operator cannot separate two different metadata names.<br>- Return all time\n * series where A = a1, B = b1 and C = c1:<br>**filter=A eq ‘a1’ and B eq ‘b1’ and\n * C eq ‘c1’**<br>- Return all time series where A = a1<br>**filter=A eq ‘a1’ and\n * B eq ‘*’ and C eq ‘*’**.\n */\n filter?: string;\n /**\n * Dimension name(s) to rollup results by. For example if you only want to see\n * metric values with a filter like 'City eq Seattle or City eq Tacoma' but don't\n * want to see separate values for each city, you can specify 'RollUpBy=City' to\n * see the results for Seattle and Tacoma rolled up into one timeseries.\n */\n rollUpBy?: string;\n}\n\n/**\n * Query time interval type that supports multiple formats.\n */\nexport type QueryTimeInterval =\n | { startTime: Date; endTime: Date }\n | { startTime: Date; duration: string }\n | { duration: string; endTime: Date }\n | { duration: string };\n\n/**\n * Result of a metrics query for a single resource.\n */\nexport interface MetricsQueryResult {\n /**\n * The cost associated with the query.\n */\n cost?: number;\n /**\n * The interval (window size) for which the metric data was returned.\n */\n granularity?: string;\n /**\n * The metrics data.\n */\n metrics: Metric[];\n /**\n * The namespace of the metrics been queried.\n */\n namespace?: string;\n /**\n * The resource that has been queried for metrics.\n */\n resourceId?: string;\n /**\n * The region of the resource been queried for metrics.\n */\n resourceRegion?: string;\n /**\n * The timespan for the query.\n */\n timespan: QueryTimeInterval;\n /**\n * Helper method to get a metric by name.\n * @param metricName - The name of the metric to retrieve.\n * @returns The metric if found, undefined otherwise.\n */\n getMetricByName(metricName: string): Metric | undefined;\n}\n\n/**\n * Aliases for some common ISO8601 durations.\n */\nexport const Durations = {\n /** Alias for ISO8601 value 'P7D' */\n sevenDays: \"P7D\",\n /** Alias for ISO8601 value 'P3D' */\n threeDays: \"P3D\",\n /** Alias for ISO8601 value 'P2D' */\n twoDays: \"P2D\",\n /** Alias for ISO8601 value 'P1D' */\n oneDay: \"P1D\",\n /** Alias for ISO8601 value 'PT1H' */\n oneHour: \"PT1H\",\n /** Alias for ISO8601 value 'PT4H' */\n fourHours: \"PT4H\",\n /** Alias for ISO8601 value 'PT24H' */\n twentyFourHours: \"PT24H\",\n /** Alias for ISO8601 value 'PT48H' */\n fortyEightHours: \"PT48H\",\n /** Alias for ISO8601 value 'PT30M' */\n thirtyMinutes: \"PT30M\",\n /** Alias for ISO8601 value 'PT5M' */\n fiveMinutes: \"PT5M\",\n} as const;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urlTemplate.d.ts","sourceRoot":"","sources":["../../../src/static-helpers/urlTemplate.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,kBAAkB;IAEjC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA4JD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,MAAM,CAAC,EAAE,kBAAkB,GAC1B,MAAM,CAgCR"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.expandUrlTemplate = expandUrlTemplate;
|
|
6
|
+
// ---------------------
|
|
7
|
+
// helpers
|
|
8
|
+
// ---------------------
|
|
9
|
+
function encodeComponent(val, reserved, op) {
|
|
10
|
+
return (reserved ?? op === "+") || op === "#"
|
|
11
|
+
? encodeReservedComponent(val)
|
|
12
|
+
: encodeRFC3986URIComponent(val);
|
|
13
|
+
}
|
|
14
|
+
function encodeReservedComponent(str) {
|
|
15
|
+
return str
|
|
16
|
+
.split(/(%[0-9A-Fa-f]{2})/g)
|
|
17
|
+
.map((part) => (!/%[0-9A-Fa-f]/.test(part) ? encodeURI(part) : part))
|
|
18
|
+
.join("");
|
|
19
|
+
}
|
|
20
|
+
function encodeRFC3986URIComponent(str) {
|
|
21
|
+
return encodeURIComponent(str).replace(/[!'()*]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);
|
|
22
|
+
}
|
|
23
|
+
function isDefined(val) {
|
|
24
|
+
return val !== undefined && val !== null;
|
|
25
|
+
}
|
|
26
|
+
function getNamedAndIfEmpty(op) {
|
|
27
|
+
return [!!op && [";", "?", "&"].includes(op), !!op && ["?", "&"].includes(op) ? "=" : ""];
|
|
28
|
+
}
|
|
29
|
+
function getFirstOrSep(op, isFirst = false) {
|
|
30
|
+
if (isFirst) {
|
|
31
|
+
return !op || op === "+" ? "" : op;
|
|
32
|
+
}
|
|
33
|
+
else if (!op || op === "+" || op === "#") {
|
|
34
|
+
return ",";
|
|
35
|
+
}
|
|
36
|
+
else if (op === "?") {
|
|
37
|
+
return "&";
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
return op;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function getExpandedValue(option) {
|
|
44
|
+
let isFirst = option.isFirst;
|
|
45
|
+
const { op, varName, varValue: value, reserved } = option;
|
|
46
|
+
const vals = [];
|
|
47
|
+
const [named, ifEmpty] = getNamedAndIfEmpty(op);
|
|
48
|
+
if (Array.isArray(value)) {
|
|
49
|
+
for (const val of value.filter(isDefined)) {
|
|
50
|
+
// prepare the following parts: separator, varName, value
|
|
51
|
+
vals.push(`${getFirstOrSep(op, isFirst)}`);
|
|
52
|
+
if (named && varName) {
|
|
53
|
+
vals.push(`${encodeURIComponent(varName)}`);
|
|
54
|
+
if (val === "") {
|
|
55
|
+
vals.push(ifEmpty);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
vals.push("=");
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
vals.push(encodeComponent(val, reserved, op));
|
|
62
|
+
isFirst = false;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
else if (typeof value === "object") {
|
|
66
|
+
for (const key of Object.keys(value)) {
|
|
67
|
+
const val = value[key];
|
|
68
|
+
if (!isDefined(val)) {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
// prepare the following parts: separator, key, value
|
|
72
|
+
vals.push(`${getFirstOrSep(op, isFirst)}`);
|
|
73
|
+
if (key) {
|
|
74
|
+
vals.push(`${encodeURIComponent(key)}`);
|
|
75
|
+
if (named && val === "") {
|
|
76
|
+
vals.push(ifEmpty);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
vals.push("=");
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
vals.push(encodeComponent(val, reserved, op));
|
|
83
|
+
isFirst = false;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return vals.join("");
|
|
87
|
+
}
|
|
88
|
+
function getNonExpandedValue(option) {
|
|
89
|
+
const { op, varName, varValue: value, isFirst, reserved } = option;
|
|
90
|
+
const vals = [];
|
|
91
|
+
const first = getFirstOrSep(op, isFirst);
|
|
92
|
+
const [named, ifEmpty] = getNamedAndIfEmpty(op);
|
|
93
|
+
if (named && varName) {
|
|
94
|
+
vals.push(encodeComponent(varName, reserved, op));
|
|
95
|
+
if (value === "") {
|
|
96
|
+
if (!ifEmpty) {
|
|
97
|
+
vals.push(ifEmpty);
|
|
98
|
+
}
|
|
99
|
+
return !vals.join("") ? undefined : `${first}${vals.join("")}`;
|
|
100
|
+
}
|
|
101
|
+
vals.push("=");
|
|
102
|
+
}
|
|
103
|
+
const items = [];
|
|
104
|
+
if (Array.isArray(value)) {
|
|
105
|
+
for (const val of value.filter(isDefined)) {
|
|
106
|
+
items.push(encodeComponent(val, reserved, op));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
else if (typeof value === "object") {
|
|
110
|
+
for (const key of Object.keys(value)) {
|
|
111
|
+
if (!isDefined(value[key])) {
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
items.push(encodeRFC3986URIComponent(key));
|
|
115
|
+
items.push(encodeComponent(value[key], reserved, op));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
vals.push(items.join(","));
|
|
119
|
+
return !vals.join(",") ? undefined : `${first}${vals.join("")}`;
|
|
120
|
+
}
|
|
121
|
+
function getVarValue(option) {
|
|
122
|
+
const { op, varName, modifier, isFirst, reserved, varValue: value } = option;
|
|
123
|
+
if (!isDefined(value)) {
|
|
124
|
+
return undefined;
|
|
125
|
+
}
|
|
126
|
+
else if (["string", "number", "boolean"].includes(typeof value)) {
|
|
127
|
+
let val = value.toString();
|
|
128
|
+
const [named, ifEmpty] = getNamedAndIfEmpty(op);
|
|
129
|
+
const vals = [getFirstOrSep(op, isFirst)];
|
|
130
|
+
if (named && varName) {
|
|
131
|
+
// No need to encode varName considering it is already encoded
|
|
132
|
+
vals.push(varName);
|
|
133
|
+
if (val === "") {
|
|
134
|
+
vals.push(ifEmpty);
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
vals.push("=");
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
if (modifier && modifier !== "*") {
|
|
141
|
+
val = val.substring(0, parseInt(modifier, 10));
|
|
142
|
+
}
|
|
143
|
+
vals.push(encodeComponent(val, reserved, op));
|
|
144
|
+
return vals.join("");
|
|
145
|
+
}
|
|
146
|
+
else if (modifier === "*") {
|
|
147
|
+
return getExpandedValue(option);
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
return getNonExpandedValue(option);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
// ---------------------------------------------------------------------------------------------------
|
|
154
|
+
// This is an implementation of RFC 6570 URI Template: https://datatracker.ietf.org/doc/html/rfc6570.
|
|
155
|
+
// ---------------------------------------------------------------------------------------------------
|
|
156
|
+
function expandUrlTemplate(template, context, option) {
|
|
157
|
+
return template.replace(/\{([^{}]+)\}|([^{}]+)/g, (_, expr, text) => {
|
|
158
|
+
if (!expr) {
|
|
159
|
+
return encodeReservedComponent(text);
|
|
160
|
+
}
|
|
161
|
+
let op;
|
|
162
|
+
let expressionToParse = expr;
|
|
163
|
+
if (["+", "#", ".", "/", ";", "?", "&"].includes(expressionToParse[0])) {
|
|
164
|
+
op = expressionToParse[0];
|
|
165
|
+
expressionToParse = expressionToParse.slice(1);
|
|
166
|
+
}
|
|
167
|
+
const varList = expressionToParse.split(/,/g);
|
|
168
|
+
const result = [];
|
|
169
|
+
for (const varSpec of varList) {
|
|
170
|
+
const varMatch = /([^:*]*)(?::(\d+)|(\*))?/.exec(varSpec);
|
|
171
|
+
if (!varMatch || !varMatch[1]) {
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
const varValue = getVarValue({
|
|
175
|
+
isFirst: result.length === 0,
|
|
176
|
+
op,
|
|
177
|
+
varValue: context[varMatch[1]],
|
|
178
|
+
varName: varMatch[1],
|
|
179
|
+
modifier: varMatch[2] || varMatch[3],
|
|
180
|
+
reserved: option?.allowReserved,
|
|
181
|
+
});
|
|
182
|
+
if (varValue) {
|
|
183
|
+
result.push(varValue);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return result.join("");
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=urlTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urlTemplate.js","sourceRoot":"","sources":["../../../src/static-helpers/urlTemplate.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// ---------------------\n// interfaces\n// ---------------------\ninterface ValueOptions {\n isFirst: boolean; // is first value in the expression\n op?: string; // operator\n varValue?: any; // variable value\n varName?: string; // variable name\n modifier?: string; // modifier e.g *\n reserved?: boolean; // if true we'll keep reserved words with not encoding\n}\n\nexport interface UrlTemplateOptions {\n // if set to true, reserved characters will not be encoded\n allowReserved?: boolean;\n}\n\n// ---------------------\n// helpers\n// ---------------------\nfunction encodeComponent(val: string, reserved?: boolean, op?: string): string {\n return (reserved ?? op === \"+\") || op === \"#\"\n ? encodeReservedComponent(val)\n : encodeRFC3986URIComponent(val);\n}\n\nfunction encodeReservedComponent(str: string): string {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map((part) => (!/%[0-9A-Fa-f]/.test(part) ? encodeURI(part) : part))\n .join(\"\");\n}\n\nfunction encodeRFC3986URIComponent(str: string): string {\n return encodeURIComponent(str).replace(\n /[!'()*]/g,\n (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`,\n );\n}\n\nfunction isDefined(val: any): boolean {\n return val !== undefined && val !== null;\n}\n\nfunction getNamedAndIfEmpty(op?: string): [boolean, string] {\n return [!!op && [\";\", \"?\", \"&\"].includes(op), !!op && [\"?\", \"&\"].includes(op) ? \"=\" : \"\"];\n}\n\nfunction getFirstOrSep(op?: string, isFirst = false): string {\n if (isFirst) {\n return !op || op === \"+\" ? \"\" : op;\n } else if (!op || op === \"+\" || op === \"#\") {\n return \",\";\n } else if (op === \"?\") {\n return \"&\";\n } else {\n return op;\n }\n}\n\nfunction getExpandedValue(option: ValueOptions): string {\n let isFirst = option.isFirst;\n const { op, varName, varValue: value, reserved } = option;\n const vals: string[] = [];\n const [named, ifEmpty] = getNamedAndIfEmpty(op);\n\n if (Array.isArray(value)) {\n for (const val of value.filter(isDefined)) {\n // prepare the following parts: separator, varName, value\n vals.push(`${getFirstOrSep(op, isFirst)}`);\n if (named && varName) {\n vals.push(`${encodeURIComponent(varName)}`);\n if (val === \"\") {\n vals.push(ifEmpty);\n } else {\n vals.push(\"=\");\n }\n }\n vals.push(encodeComponent(val, reserved, op));\n isFirst = false;\n }\n } else if (typeof value === \"object\") {\n for (const key of Object.keys(value)) {\n const val = value[key];\n if (!isDefined(val)) {\n continue;\n }\n // prepare the following parts: separator, key, value\n vals.push(`${getFirstOrSep(op, isFirst)}`);\n if (key) {\n vals.push(`${encodeURIComponent(key)}`);\n if (named && val === \"\") {\n vals.push(ifEmpty);\n } else {\n vals.push(\"=\");\n }\n }\n vals.push(encodeComponent(val, reserved, op));\n isFirst = false;\n }\n }\n return vals.join(\"\");\n}\n\nfunction getNonExpandedValue(option: ValueOptions): string | undefined {\n const { op, varName, varValue: value, isFirst, reserved } = option;\n const vals: string[] = [];\n const first = getFirstOrSep(op, isFirst);\n const [named, ifEmpty] = getNamedAndIfEmpty(op);\n if (named && varName) {\n vals.push(encodeComponent(varName, reserved, op));\n if (value === \"\") {\n if (!ifEmpty) {\n vals.push(ifEmpty);\n }\n return !vals.join(\"\") ? undefined : `${first}${vals.join(\"\")}`;\n }\n vals.push(\"=\");\n }\n\n const items = [];\n if (Array.isArray(value)) {\n for (const val of value.filter(isDefined)) {\n items.push(encodeComponent(val, reserved, op));\n }\n } else if (typeof value === \"object\") {\n for (const key of Object.keys(value)) {\n if (!isDefined(value[key])) {\n continue;\n }\n items.push(encodeRFC3986URIComponent(key));\n items.push(encodeComponent(value[key], reserved, op));\n }\n }\n vals.push(items.join(\",\"));\n return !vals.join(\",\") ? undefined : `${first}${vals.join(\"\")}`;\n}\n\nfunction getVarValue(option: ValueOptions): string | undefined {\n const { op, varName, modifier, isFirst, reserved, varValue: value } = option;\n\n if (!isDefined(value)) {\n return undefined;\n } else if ([\"string\", \"number\", \"boolean\"].includes(typeof value)) {\n let val = value.toString();\n const [named, ifEmpty] = getNamedAndIfEmpty(op);\n const vals: string[] = [getFirstOrSep(op, isFirst)];\n if (named && varName) {\n // No need to encode varName considering it is already encoded\n vals.push(varName);\n if (val === \"\") {\n vals.push(ifEmpty);\n } else {\n vals.push(\"=\");\n }\n }\n if (modifier && modifier !== \"*\") {\n val = val.substring(0, parseInt(modifier, 10));\n }\n vals.push(encodeComponent(val, reserved, op));\n return vals.join(\"\");\n } else if (modifier === \"*\") {\n return getExpandedValue(option);\n } else {\n return getNonExpandedValue(option);\n }\n}\n\n// ---------------------------------------------------------------------------------------------------\n// This is an implementation of RFC 6570 URI Template: https://datatracker.ietf.org/doc/html/rfc6570.\n// ---------------------------------------------------------------------------------------------------\nexport function expandUrlTemplate(\n template: string,\n context: Record<string, any>,\n option?: UrlTemplateOptions,\n): string {\n return template.replace(/\\{([^{}]+)\\}|([^{}]+)/g, (_, expr, text) => {\n if (!expr) {\n return encodeReservedComponent(text);\n }\n let op;\n let expressionToParse = expr;\n if ([\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"].includes(expressionToParse[0])) {\n op = expressionToParse[0];\n expressionToParse = expressionToParse.slice(1);\n }\n const varList = expressionToParse.split(/,/g);\n const result = [];\n for (const varSpec of varList) {\n const varMatch = /([^:*]*)(?::(\\d+)|(\\*))?/.exec(varSpec);\n if (!varMatch || !varMatch[1]) {\n continue;\n }\n const varValue = getVarValue({\n isFirst: result.length === 0,\n op,\n varValue: context[varMatch[1]],\n varName: varMatch[1],\n modifier: varMatch[2] || varMatch[3],\n reserved: option?.allowReserved,\n });\n if (varValue) {\n result.push(varValue);\n }\n }\n return result.join(\"\");\n });\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// This file is read by tools that parse documentation comments conforming to the TSDoc standard.
|
|
2
|
+
// It should be published with your NPM package. It should not be tracked by Git.
|
|
3
|
+
{
|
|
4
|
+
"tsdocVersion": "0.12",
|
|
5
|
+
"toolPackages": [
|
|
6
|
+
{
|
|
7
|
+
"packageName": "@microsoft/api-extractor",
|
|
8
|
+
"packageVersion": "7.52.9"
|
|
9
|
+
}
|
|
10
|
+
]
|
|
11
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { QueryResourcesOptionalParams } from "./api/options.js";
|
|
2
|
+
import type { MetricsQueryResourcesOptions, MetricsQueryResult } from "./models.js";
|
|
3
|
+
import type { MetricResultsResponseValuesItem } from "./models/models.js";
|
|
4
|
+
export declare const getSubscriptionFromResourceId: (resourceId: string) => string;
|
|
5
|
+
/**
|
|
6
|
+
* Helper function to convert MetricsQueryResourcesOptions to the internal format
|
|
7
|
+
*/
|
|
8
|
+
export declare function mapToInternalQueryOptions(options?: MetricsQueryResourcesOptions): QueryResourcesOptionalParams;
|
|
9
|
+
/**
|
|
10
|
+
* Helper function to create MetricsQueryResult from MetricResultsResponseValuesItem
|
|
11
|
+
*/
|
|
12
|
+
export declare function createMetricsQueryResult(item: MetricResultsResponseValuesItem): MetricsQueryResult;
|
|
13
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EACV,4BAA4B,EAC5B,kBAAkB,EAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAU,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AAElF,eAAO,MAAM,6BAA6B,GAAa,YAAY,MAAM,KAAG,MAI3E,CAAC;AASF;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,4BAAiC,GACzC,4BAA4B,CAS9B;AAYD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,+BAA+B,GACpC,kBAAkB,CAepB"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.getSubscriptionFromResourceId = void 0;
|
|
6
|
+
exports.mapToInternalQueryOptions = mapToInternalQueryOptions;
|
|
7
|
+
exports.createMetricsQueryResult = createMetricsQueryResult;
|
|
8
|
+
const getSubscriptionFromResourceId = function (resourceId) {
|
|
9
|
+
const startPos = resourceId.indexOf("subscriptions/") + 14;
|
|
10
|
+
const subscriptionId = resourceId.substring(startPos, resourceId.indexOf("/", startPos));
|
|
11
|
+
return subscriptionId;
|
|
12
|
+
};
|
|
13
|
+
exports.getSubscriptionFromResourceId = getSubscriptionFromResourceId;
|
|
14
|
+
/**
|
|
15
|
+
* Helper function to convert Date objects to ISO string format
|
|
16
|
+
*/
|
|
17
|
+
function dateToISOString(date) {
|
|
18
|
+
return date.toISOString();
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Helper function to convert MetricsQueryResourcesOptions to the internal format
|
|
22
|
+
*/
|
|
23
|
+
function mapToInternalQueryOptions(options = {}) {
|
|
24
|
+
if (!options) {
|
|
25
|
+
return {};
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
...options,
|
|
29
|
+
startTime: options.startTime ? dateToISOString(options.startTime) : undefined,
|
|
30
|
+
endTime: options.endTime ? dateToISOString(options.endTime) : undefined,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Helper function to reconstruct QueryTimeInterval from start/end times
|
|
35
|
+
*/
|
|
36
|
+
function reconstructTimeInterval(startTime, endTime) {
|
|
37
|
+
return {
|
|
38
|
+
startTime: new Date(startTime),
|
|
39
|
+
endTime: new Date(endTime),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Helper function to create MetricsQueryResult from MetricResultsResponseValuesItem
|
|
44
|
+
*/
|
|
45
|
+
function createMetricsQueryResult(item) {
|
|
46
|
+
const timespan = reconstructTimeInterval(item.startTime, item.endTime);
|
|
47
|
+
return {
|
|
48
|
+
cost: undefined, // Not available in the new API
|
|
49
|
+
granularity: item.interval,
|
|
50
|
+
metrics: item.metrics,
|
|
51
|
+
namespace: item.namespace,
|
|
52
|
+
resourceId: item.resourceId,
|
|
53
|
+
resourceRegion: item.resourceRegion,
|
|
54
|
+
timespan,
|
|
55
|
+
getMetricByName(metricName) {
|
|
56
|
+
return this.metrics.find((metric) => metric.name === metricName);
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AA0BlC,8DAWC;AAeD,4DAiBC;AA3DM,MAAM,6BAA6B,GAAG,UAAU,UAAkB;IACvE,MAAM,QAAQ,GAAW,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;IACnE,MAAM,cAAc,GAAW,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjG,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAJW,QAAA,6BAA6B,iCAIxC;AAEF;;GAEG;AACH,SAAS,eAAe,CAAC,IAAU;IACjC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CACvC,UAAwC,EAAE;IAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO;QACL,GAAG,OAAO;QACV,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QAC7E,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;KACxE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,SAAiB,EAAE,OAAe;IACjE,OAAO;QACL,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC;QAC9B,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CACtC,IAAqC;IAErC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAEvE,OAAO;QACL,IAAI,EAAE,SAAS,EAAE,+BAA+B;QAChD,WAAW,EAAE,IAAI,CAAC,QAAQ;QAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,QAAQ;QACR,eAAe,CAAC,UAAkB;YAChC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QACnE,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { QueryResourcesOptionalParams } from \"./api/options.js\";\nimport type {\n MetricsQueryResourcesOptions,\n MetricsQueryResult,\n QueryTimeInterval,\n} from \"./models.js\";\nimport type { Metric, MetricResultsResponseValuesItem } from \"./models/models.js\";\n\nexport const getSubscriptionFromResourceId = function (resourceId: string): string {\n const startPos: number = resourceId.indexOf(\"subscriptions/\") + 14;\n const subscriptionId: string = resourceId.substring(startPos, resourceId.indexOf(\"/\", startPos));\n return subscriptionId;\n};\n\n/**\n * Helper function to convert Date objects to ISO string format\n */\nfunction dateToISOString(date: Date): string {\n return date.toISOString();\n}\n\n/**\n * Helper function to convert MetricsQueryResourcesOptions to the internal format\n */\nexport function mapToInternalQueryOptions(\n options: MetricsQueryResourcesOptions = {},\n): QueryResourcesOptionalParams {\n if (!options) {\n return {};\n }\n return {\n ...options,\n startTime: options.startTime ? dateToISOString(options.startTime) : undefined,\n endTime: options.endTime ? dateToISOString(options.endTime) : undefined,\n };\n}\n\n/**\n * Helper function to reconstruct QueryTimeInterval from start/end times\n */\nfunction reconstructTimeInterval(startTime: string, endTime: string): QueryTimeInterval {\n return {\n startTime: new Date(startTime),\n endTime: new Date(endTime),\n };\n}\n\n/**\n * Helper function to create MetricsQueryResult from MetricResultsResponseValuesItem\n */\nexport function createMetricsQueryResult(\n item: MetricResultsResponseValuesItem,\n): MetricsQueryResult {\n const timespan = reconstructTimeInterval(item.startTime, item.endTime);\n\n return {\n cost: undefined, // Not available in the new API\n granularity: item.interval,\n metrics: item.metrics,\n namespace: item.namespace,\n resourceId: item.resourceId,\n resourceRegion: item.resourceRegion,\n timespan,\n getMetricByName(metricName: string): Metric | undefined {\n return this.metrics.find((metric) => metric.name === metricName);\n },\n };\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,aAAa,EAA+C,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { createMetrics, MetricsContext, MetricsClientOptionalParams } from \"./metricsContext.js\";\nexport { queryResources } from \"./operations.js\";\nexport { QueryResourcesOptionalParams } from \"./options.js\";\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Client, ClientOptions } from "@azure-rest/core-client";
|
|
2
|
+
import type { TokenCredential } from "@azure/core-auth";
|
|
3
|
+
export interface MetricsContext extends Client {
|
|
4
|
+
/** The API version to use for this operation. */
|
|
5
|
+
/** Known values of {@link KnownVersions} that the service accepts. */
|
|
6
|
+
apiVersion: string;
|
|
7
|
+
}
|
|
8
|
+
/** Optional parameters for the client. */
|
|
9
|
+
export interface MetricsClientOptionalParams extends ClientOptions {
|
|
10
|
+
/** The API version to use for this operation. */
|
|
11
|
+
/** Known values of {@link KnownVersions} that the service accepts. */
|
|
12
|
+
apiVersion?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function createMetrics(endpointParam: string, credential: TokenCredential, options?: MetricsClientOptionalParams): MetricsContext;
|
|
15
|
+
//# sourceMappingURL=metricsContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metricsContext.d.ts","sourceRoot":"","sources":["../../../src/api/metricsContext.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,WAAW,cAAe,SAAQ,MAAM;IAC5C,iDAAiD;IACjD,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,0CAA0C;AAC1C,MAAM,WAAW,2BAA4B,SAAQ,aAAa;IAChE,iDAAiD;IACjD,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,aAAa,CAC3B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,eAAe,EAC3B,OAAO,GAAE,2BAAgC,GACxC,cAAc,CAmChB"}
|