@azure/arm-commerce 4.0.0-beta.2 → 4.0.0-beta.4
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 +3 -3
- package/README.md +31 -25
- package/dist/browser/api/index.d.ts +3 -0
- package/dist/browser/api/index.js +4 -0
- package/dist/browser/api/index.js.map +1 -0
- package/dist/browser/api/rateCard/index.d.ts +3 -0
- package/dist/browser/api/rateCard/index.js +4 -0
- package/dist/browser/api/rateCard/index.js.map +1 -0
- package/dist/browser/api/rateCard/operations.d.ts +9 -0
- package/dist/browser/api/rateCard/operations.js +33 -0
- package/dist/browser/api/rateCard/operations.js.map +1 -0
- package/dist/browser/api/rateCard/options.d.ts +5 -0
- package/dist/browser/api/rateCard/options.js +4 -0
- package/dist/browser/api/rateCard/options.js.map +1 -0
- package/dist/browser/api/usageAggregates/index.d.ts +3 -0
- package/dist/browser/api/usageAggregates/index.js +4 -0
- package/dist/browser/api/usageAggregates/index.js.map +1 -0
- package/dist/browser/api/usageAggregates/operations.d.ts +10 -0
- package/dist/browser/api/usageAggregates/operations.js +47 -0
- package/dist/browser/api/usageAggregates/operations.js.map +1 -0
- package/dist/browser/api/usageAggregates/options.d.ts +12 -0
- package/dist/browser/api/usageAggregates/options.js +4 -0
- package/dist/browser/api/usageAggregates/options.js.map +1 -0
- package/dist/browser/api/usageManagementContext.d.ts +20 -0
- package/dist/browser/api/usageManagementContext.js +23 -0
- package/dist/browser/api/usageManagementContext.js.map +1 -0
- package/dist/browser/classic/index.d.ts +3 -0
- package/dist/browser/classic/index.js +4 -0
- package/dist/browser/classic/index.js.map +1 -0
- package/dist/browser/classic/rateCard/index.d.ts +10 -0
- package/dist/browser/classic/rateCard/index.js +14 -0
- package/dist/browser/classic/rateCard/index.js.map +1 -0
- package/dist/browser/classic/usageAggregates/index.d.ts +11 -0
- package/dist/browser/classic/usageAggregates/index.js +14 -0
- package/dist/browser/classic/usageAggregates/index.js.map +1 -0
- package/dist/browser/index.d.ts +14 -0
- package/dist/browser/index.js +7 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/logger.d.ts +2 -0
- package/dist/browser/logger.js +5 -0
- package/dist/browser/logger.js.map +1 -0
- package/dist/browser/models/index.d.ts +3 -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 +193 -0
- package/dist/browser/models/models.js +169 -0
- package/dist/browser/models/models.js.map +1 -0
- package/dist/browser/package.json +3 -0
- package/dist/browser/static-helpers/cloudSettingHelpers.d.ts +22 -0
- package/dist/browser/static-helpers/cloudSettingHelpers.js +38 -0
- package/dist/browser/static-helpers/cloudSettingHelpers.js.map +1 -0
- package/dist/browser/static-helpers/pagingHelpers.d.ts +74 -0
- package/dist/browser/static-helpers/pagingHelpers.js +143 -0
- package/dist/browser/static-helpers/pagingHelpers.js.map +1 -0
- package/dist/browser/static-helpers/urlTemplate.d.ts +5 -0
- package/dist/browser/static-helpers/urlTemplate.js +200 -0
- package/dist/browser/static-helpers/urlTemplate.js.map +1 -0
- package/dist/browser/usageManagementClient.d.ts +17 -0
- package/dist/browser/usageManagementClient.js +32 -0
- package/dist/browser/usageManagementClient.js.map +1 -0
- package/dist/commonjs/api/index.d.ts +3 -0
- package/dist/commonjs/api/index.js +28 -0
- package/dist/commonjs/api/index.js.map +7 -0
- package/dist/commonjs/api/rateCard/index.d.ts +3 -0
- package/dist/commonjs/api/rateCard/index.js +28 -0
- package/dist/commonjs/api/rateCard/index.js.map +7 -0
- package/dist/commonjs/api/rateCard/operations.d.ts +9 -0
- package/dist/commonjs/api/rateCard/operations.js +64 -0
- package/dist/commonjs/api/rateCard/operations.js.map +7 -0
- package/dist/commonjs/api/rateCard/options.d.ts +5 -0
- package/dist/commonjs/api/rateCard/options.js +16 -0
- package/dist/commonjs/api/rateCard/options.js.map +7 -0
- package/dist/commonjs/api/usageAggregates/index.d.ts +3 -0
- package/dist/commonjs/api/usageAggregates/index.js +28 -0
- package/dist/commonjs/api/usageAggregates/index.js.map +7 -0
- package/dist/commonjs/api/usageAggregates/operations.d.ts +10 -0
- package/dist/commonjs/api/usageAggregates/operations.js +83 -0
- package/dist/commonjs/api/usageAggregates/operations.js.map +7 -0
- package/dist/commonjs/api/usageAggregates/options.d.ts +12 -0
- package/dist/commonjs/api/usageAggregates/options.js +16 -0
- package/dist/commonjs/api/usageAggregates/options.js.map +7 -0
- package/dist/commonjs/api/usageManagementContext.d.ts +20 -0
- package/dist/commonjs/api/usageManagementContext.js +45 -0
- package/dist/commonjs/api/usageManagementContext.js.map +7 -0
- package/dist/commonjs/classic/index.d.ts +3 -0
- package/dist/commonjs/classic/index.js +16 -0
- package/dist/commonjs/classic/index.js.map +7 -0
- package/dist/commonjs/classic/rateCard/index.d.ts +10 -0
- package/dist/commonjs/classic/rateCard/index.js +38 -0
- package/dist/commonjs/classic/rateCard/index.js.map +7 -0
- package/dist/commonjs/classic/usageAggregates/index.d.ts +11 -0
- package/dist/commonjs/classic/usageAggregates/index.js +38 -0
- package/dist/commonjs/classic/usageAggregates/index.js.map +7 -0
- package/dist/commonjs/index.d.ts +14 -0
- package/dist/commonjs/index.js +34 -0
- package/dist/commonjs/index.js.map +7 -0
- package/dist/commonjs/logger.d.ts +2 -0
- package/dist/commonjs/logger.js +29 -0
- package/dist/commonjs/logger.js.map +7 -0
- package/dist/commonjs/models/index.d.ts +3 -0
- package/dist/commonjs/models/index.js +28 -0
- package/dist/commonjs/models/index.js.map +7 -0
- package/dist/commonjs/models/models.d.ts +193 -0
- package/dist/commonjs/models/models.js +209 -0
- package/dist/commonjs/models/models.js.map +7 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/commonjs/static-helpers/cloudSettingHelpers.d.ts +22 -0
- package/dist/commonjs/static-helpers/cloudSettingHelpers.js +52 -0
- package/dist/commonjs/static-helpers/cloudSettingHelpers.js.map +7 -0
- package/dist/commonjs/static-helpers/pagingHelpers.d.ts +74 -0
- package/dist/commonjs/static-helpers/pagingHelpers.js +143 -0
- package/dist/commonjs/static-helpers/pagingHelpers.js.map +7 -0
- package/dist/commonjs/static-helpers/urlTemplate.d.ts +5 -0
- package/dist/commonjs/static-helpers/urlTemplate.js +197 -0
- package/dist/commonjs/static-helpers/urlTemplate.js.map +7 -0
- package/{types → dist/commonjs}/tsdoc-metadata.json +11 -11
- package/dist/commonjs/usageManagementClient.d.ts +17 -0
- package/dist/commonjs/usageManagementClient.js +54 -0
- package/dist/commonjs/usageManagementClient.js.map +7 -0
- package/dist/esm/api/index.d.ts +3 -0
- package/dist/esm/api/index.js +4 -0
- package/dist/esm/api/index.js.map +1 -0
- package/dist/esm/api/rateCard/index.d.ts +3 -0
- package/dist/esm/api/rateCard/index.js +4 -0
- package/dist/esm/api/rateCard/index.js.map +1 -0
- package/dist/esm/api/rateCard/operations.d.ts +9 -0
- package/dist/esm/api/rateCard/operations.js +33 -0
- package/dist/esm/api/rateCard/operations.js.map +1 -0
- package/dist/esm/api/rateCard/options.d.ts +5 -0
- package/dist/esm/api/rateCard/options.js +4 -0
- package/dist/esm/api/rateCard/options.js.map +1 -0
- package/dist/esm/api/usageAggregates/index.d.ts +3 -0
- package/dist/esm/api/usageAggregates/index.js +4 -0
- package/dist/esm/api/usageAggregates/index.js.map +1 -0
- package/dist/esm/api/usageAggregates/operations.d.ts +10 -0
- package/dist/esm/api/usageAggregates/operations.js +47 -0
- package/dist/esm/api/usageAggregates/operations.js.map +1 -0
- package/dist/esm/api/usageAggregates/options.d.ts +12 -0
- package/dist/esm/api/usageAggregates/options.js +4 -0
- package/dist/esm/api/usageAggregates/options.js.map +1 -0
- package/dist/esm/api/usageManagementContext.d.ts +20 -0
- package/dist/esm/api/usageManagementContext.js +23 -0
- package/dist/esm/api/usageManagementContext.js.map +1 -0
- package/dist/esm/classic/index.d.ts +3 -0
- package/dist/esm/classic/index.js +4 -0
- package/dist/esm/classic/index.js.map +1 -0
- package/dist/esm/classic/rateCard/index.d.ts +10 -0
- package/dist/esm/classic/rateCard/index.js +14 -0
- package/dist/esm/classic/rateCard/index.js.map +1 -0
- package/dist/esm/classic/usageAggregates/index.d.ts +11 -0
- package/dist/esm/classic/usageAggregates/index.js +14 -0
- package/dist/esm/classic/usageAggregates/index.js.map +1 -0
- package/dist/esm/index.d.ts +14 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/logger.d.ts +2 -0
- package/dist/esm/logger.js +5 -0
- package/dist/esm/logger.js.map +1 -0
- package/dist/esm/models/index.d.ts +3 -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 +193 -0
- package/dist/esm/models/models.js +169 -0
- package/dist/esm/models/models.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/static-helpers/cloudSettingHelpers.d.ts +22 -0
- package/dist/esm/static-helpers/cloudSettingHelpers.js +38 -0
- package/dist/esm/static-helpers/cloudSettingHelpers.js.map +1 -0
- package/dist/esm/static-helpers/pagingHelpers.d.ts +74 -0
- package/dist/esm/static-helpers/pagingHelpers.js +143 -0
- package/dist/esm/static-helpers/pagingHelpers.js.map +1 -0
- package/dist/esm/static-helpers/urlTemplate.d.ts +5 -0
- package/dist/esm/static-helpers/urlTemplate.js +200 -0
- package/dist/esm/static-helpers/urlTemplate.js.map +1 -0
- package/dist/esm/usageManagementClient.d.ts +17 -0
- package/dist/esm/usageManagementClient.js +32 -0
- package/dist/esm/usageManagementClient.js.map +1 -0
- package/dist/react-native/api/index.d.ts +3 -0
- package/dist/react-native/api/index.js +4 -0
- package/dist/react-native/api/index.js.map +1 -0
- package/dist/react-native/api/rateCard/index.d.ts +3 -0
- package/dist/react-native/api/rateCard/index.js +4 -0
- package/dist/react-native/api/rateCard/index.js.map +1 -0
- package/dist/react-native/api/rateCard/operations.d.ts +9 -0
- package/dist/react-native/api/rateCard/operations.js +33 -0
- package/dist/react-native/api/rateCard/operations.js.map +1 -0
- package/dist/react-native/api/rateCard/options.d.ts +5 -0
- package/dist/react-native/api/rateCard/options.js +4 -0
- package/dist/react-native/api/rateCard/options.js.map +1 -0
- package/dist/react-native/api/usageAggregates/index.d.ts +3 -0
- package/dist/react-native/api/usageAggregates/index.js +4 -0
- package/dist/react-native/api/usageAggregates/index.js.map +1 -0
- package/dist/react-native/api/usageAggregates/operations.d.ts +10 -0
- package/dist/react-native/api/usageAggregates/operations.js +47 -0
- package/dist/react-native/api/usageAggregates/operations.js.map +1 -0
- package/dist/react-native/api/usageAggregates/options.d.ts +12 -0
- package/dist/react-native/api/usageAggregates/options.js +4 -0
- package/dist/react-native/api/usageAggregates/options.js.map +1 -0
- package/dist/react-native/api/usageManagementContext.d.ts +20 -0
- package/dist/react-native/api/usageManagementContext.js +23 -0
- package/dist/react-native/api/usageManagementContext.js.map +1 -0
- package/dist/react-native/classic/index.d.ts +3 -0
- package/dist/react-native/classic/index.js +4 -0
- package/dist/react-native/classic/index.js.map +1 -0
- package/dist/react-native/classic/rateCard/index.d.ts +10 -0
- package/dist/react-native/classic/rateCard/index.js +14 -0
- package/dist/react-native/classic/rateCard/index.js.map +1 -0
- package/dist/react-native/classic/usageAggregates/index.d.ts +11 -0
- package/dist/react-native/classic/usageAggregates/index.js +14 -0
- package/dist/react-native/classic/usageAggregates/index.js.map +1 -0
- package/dist/react-native/index.d.ts +14 -0
- package/dist/react-native/index.js +7 -0
- package/dist/react-native/index.js.map +1 -0
- package/dist/react-native/logger.d.ts +2 -0
- package/dist/react-native/logger.js +5 -0
- package/dist/react-native/logger.js.map +1 -0
- package/dist/react-native/models/index.d.ts +3 -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 +193 -0
- package/dist/react-native/models/models.js +169 -0
- package/dist/react-native/models/models.js.map +1 -0
- package/dist/react-native/package.json +3 -0
- package/dist/react-native/static-helpers/cloudSettingHelpers.d.ts +22 -0
- package/dist/react-native/static-helpers/cloudSettingHelpers.js +38 -0
- package/dist/react-native/static-helpers/cloudSettingHelpers.js.map +1 -0
- package/dist/react-native/static-helpers/pagingHelpers.d.ts +74 -0
- package/dist/react-native/static-helpers/pagingHelpers.js +143 -0
- package/dist/react-native/static-helpers/pagingHelpers.js.map +1 -0
- package/dist/react-native/static-helpers/urlTemplate.d.ts +5 -0
- package/dist/react-native/static-helpers/urlTemplate.js +200 -0
- package/dist/react-native/static-helpers/urlTemplate.js.map +1 -0
- package/dist/react-native/usageManagementClient.d.ts +17 -0
- package/dist/react-native/usageManagementClient.js +32 -0
- package/dist/react-native/usageManagementClient.js.map +1 -0
- package/package.json +164 -83
- package/CHANGELOG.md +0 -11
- package/dist/index.js +0 -843
- package/dist/index.js.map +0 -1
- package/dist/index.min.js +0 -1
- package/dist/index.min.js.map +0 -1
- package/dist-esm/samples-dev/getRateCard.d.ts +0 -2
- package/dist-esm/samples-dev/getRateCard.d.ts.map +0 -1
- package/dist-esm/samples-dev/getRateCard.js +0 -30
- package/dist-esm/samples-dev/getRateCard.js.map +0 -1
- package/dist-esm/samples-dev/rateCardGetSample.d.ts +0 -2
- package/dist-esm/samples-dev/rateCardGetSample.d.ts.map +0 -1
- package/dist-esm/samples-dev/rateCardGetSample.js +0 -30
- package/dist-esm/samples-dev/rateCardGetSample.js.map +0 -1
- package/dist-esm/src/index.d.ts +0 -5
- package/dist-esm/src/index.d.ts.map +0 -1
- package/dist-esm/src/index.js +0 -12
- package/dist-esm/src/index.js.map +0 -1
- package/dist-esm/src/models/index.d.ts +0 -178
- package/dist-esm/src/models/index.d.ts.map +0 -1
- package/dist-esm/src/models/index.js +0 -9
- package/dist-esm/src/models/index.js.map +0 -1
- package/dist-esm/src/models/mappers.d.ts +0 -19
- package/dist-esm/src/models/mappers.d.ts.map +0 -1
- package/dist-esm/src/models/mappers.js +0 -433
- package/dist-esm/src/models/mappers.js.map +0 -1
- package/dist-esm/src/models/parameters.d.ts +0 -13
- package/dist-esm/src/models/parameters.d.ts.map +0 -1
- package/dist-esm/src/models/parameters.js +0 -121
- package/dist-esm/src/models/parameters.js.map +0 -1
- package/dist-esm/src/operations/index.d.ts +0 -3
- package/dist-esm/src/operations/index.d.ts.map +0 -1
- package/dist-esm/src/operations/index.js +0 -10
- package/dist-esm/src/operations/index.js.map +0 -1
- package/dist-esm/src/operations/rateCard.d.ts +0 -27
- package/dist-esm/src/operations/rateCard.d.ts.map +0 -1
- package/dist-esm/src/operations/rateCard.js +0 -55
- package/dist-esm/src/operations/rateCard.js.map +0 -1
- package/dist-esm/src/operations/usageAggregates.d.ts +0 -38
- package/dist-esm/src/operations/usageAggregates.d.ts.map +0 -1
- package/dist-esm/src/operations/usageAggregates.js +0 -144
- package/dist-esm/src/operations/usageAggregates.js.map +0 -1
- package/dist-esm/src/operationsInterfaces/index.d.ts +0 -3
- package/dist-esm/src/operationsInterfaces/index.d.ts.map +0 -1
- package/dist-esm/src/operationsInterfaces/index.js +0 -10
- package/dist-esm/src/operationsInterfaces/index.js.map +0 -1
- package/dist-esm/src/operationsInterfaces/rateCard.d.ts +0 -19
- package/dist-esm/src/operationsInterfaces/rateCard.d.ts.map +0 -1
- package/dist-esm/src/operationsInterfaces/rateCard.js +0 -9
- package/dist-esm/src/operationsInterfaces/rateCard.js.map +0 -1
- package/dist-esm/src/operationsInterfaces/usageAggregates.d.ts +0 -13
- package/dist-esm/src/operationsInterfaces/usageAggregates.d.ts.map +0 -1
- package/dist-esm/src/operationsInterfaces/usageAggregates.js +0 -9
- package/dist-esm/src/operationsInterfaces/usageAggregates.js.map +0 -1
- package/dist-esm/src/usageManagementClient.d.ts +0 -20
- package/dist-esm/src/usageManagementClient.d.ts.map +0 -1
- package/dist-esm/src/usageManagementClient.js +0 -54
- package/dist-esm/src/usageManagementClient.js.map +0 -1
- package/dist-esm/test/commerce_examples.d.ts +0 -4
- package/dist-esm/test/commerce_examples.d.ts.map +0 -1
- package/dist-esm/test/commerce_examples.js +0 -58
- package/dist-esm/test/commerce_examples.js.map +0 -1
- package/review/arm-commerce.api.md +0 -178
- package/rollup.config.js +0 -122
- package/src/index.ts +0 -12
- package/src/models/index.ts +0 -210
- package/src/models/mappers.ts +0 -460
- package/src/models/parameters.ts +0 -137
- package/src/operations/index.ts +0 -10
- package/src/operations/rateCard.ts +0 -69
- package/src/operations/usageAggregates.ts +0 -188
- package/src/operationsInterfaces/index.ts +0 -10
- package/src/operationsInterfaces/rateCard.ts +0 -30
- package/src/operationsInterfaces/usageAggregates.ts +0 -26
- package/src/usageManagementClient.ts +0 -79
- package/tsconfig.json +0 -33
- package/types/arm-commerce.d.ts +0 -247
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
// ---------------------
|
|
4
|
+
// helpers
|
|
5
|
+
// ---------------------
|
|
6
|
+
function encodeComponent(val, reserved, op) {
|
|
7
|
+
return (reserved ?? op === "+") || op === "#"
|
|
8
|
+
? encodeReservedComponent(val)
|
|
9
|
+
: encodeRFC3986URIComponent(val);
|
|
10
|
+
}
|
|
11
|
+
function encodeReservedComponent(str) {
|
|
12
|
+
return str
|
|
13
|
+
.split(/(%[0-9A-Fa-f]{2})/g)
|
|
14
|
+
.map((part) => (!/%[0-9A-Fa-f]/.test(part) ? encodeURI(part) : part))
|
|
15
|
+
.join("");
|
|
16
|
+
}
|
|
17
|
+
function encodeRFC3986URIComponent(str) {
|
|
18
|
+
return encodeURIComponent(str).replace(/[!'()*]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);
|
|
19
|
+
}
|
|
20
|
+
function isDefined(val) {
|
|
21
|
+
return val !== undefined && val !== null;
|
|
22
|
+
}
|
|
23
|
+
function getNamedAndIfEmpty(op) {
|
|
24
|
+
return [!!op && [";", "?", "&"].includes(op), !!op && ["?", "&"].includes(op) ? "=" : ""];
|
|
25
|
+
}
|
|
26
|
+
function getFirstOrSep(op, isFirst = false) {
|
|
27
|
+
if (isFirst) {
|
|
28
|
+
return !op || op === "+" ? "" : op;
|
|
29
|
+
}
|
|
30
|
+
else if (!op || op === "+" || op === "#") {
|
|
31
|
+
return ",";
|
|
32
|
+
}
|
|
33
|
+
else if (op === "?") {
|
|
34
|
+
return "&";
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
return op;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function getExpandedValue(option) {
|
|
41
|
+
let isFirst = option.isFirst;
|
|
42
|
+
const { op, varName, varValue: value, reserved } = option;
|
|
43
|
+
const vals = [];
|
|
44
|
+
const [named, ifEmpty] = getNamedAndIfEmpty(op);
|
|
45
|
+
if (Array.isArray(value)) {
|
|
46
|
+
for (const val of value.filter(isDefined)) {
|
|
47
|
+
// prepare the following parts: separator, varName, value
|
|
48
|
+
vals.push(`${getFirstOrSep(op, isFirst)}`);
|
|
49
|
+
if (named && varName) {
|
|
50
|
+
vals.push(`${encodeURIComponent(varName)}`);
|
|
51
|
+
if (val === "") {
|
|
52
|
+
vals.push(ifEmpty);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
vals.push("=");
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
vals.push(encodeComponent(val, reserved, op));
|
|
59
|
+
isFirst = false;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
else if (typeof value === "object") {
|
|
63
|
+
for (const key of Object.keys(value)) {
|
|
64
|
+
const val = value[key];
|
|
65
|
+
if (!isDefined(val)) {
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
// prepare the following parts: separator, key, value
|
|
69
|
+
vals.push(`${getFirstOrSep(op, isFirst)}`);
|
|
70
|
+
if (key) {
|
|
71
|
+
vals.push(`${encodeURIComponent(key)}`);
|
|
72
|
+
if (named && val === "") {
|
|
73
|
+
vals.push(ifEmpty);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
vals.push("=");
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
vals.push(encodeComponent(val, reserved, op));
|
|
80
|
+
isFirst = false;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return vals.join("");
|
|
84
|
+
}
|
|
85
|
+
function getNonExpandedValue(option) {
|
|
86
|
+
const { op, varName, varValue: value, isFirst, reserved } = option;
|
|
87
|
+
const vals = [];
|
|
88
|
+
const first = getFirstOrSep(op, isFirst);
|
|
89
|
+
const [named, ifEmpty] = getNamedAndIfEmpty(op);
|
|
90
|
+
if (named && varName) {
|
|
91
|
+
vals.push(encodeComponent(varName, reserved, op));
|
|
92
|
+
if (value === "") {
|
|
93
|
+
if (!ifEmpty) {
|
|
94
|
+
vals.push(ifEmpty);
|
|
95
|
+
}
|
|
96
|
+
return !vals.join("") ? undefined : `${first}${vals.join("")}`;
|
|
97
|
+
}
|
|
98
|
+
vals.push("=");
|
|
99
|
+
}
|
|
100
|
+
const items = [];
|
|
101
|
+
if (Array.isArray(value)) {
|
|
102
|
+
for (const val of value.filter(isDefined)) {
|
|
103
|
+
items.push(encodeComponent(val, reserved, op));
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
else if (typeof value === "object") {
|
|
107
|
+
for (const key of Object.keys(value)) {
|
|
108
|
+
if (!isDefined(value[key])) {
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
items.push(encodeRFC3986URIComponent(key));
|
|
112
|
+
items.push(encodeComponent(value[key], reserved, op));
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
vals.push(items.join(","));
|
|
116
|
+
return !vals.join(",") ? undefined : `${first}${vals.join("")}`;
|
|
117
|
+
}
|
|
118
|
+
function getVarValue(option) {
|
|
119
|
+
const { op, varName, modifier, isFirst, reserved, varValue: value } = option;
|
|
120
|
+
if (!isDefined(value)) {
|
|
121
|
+
return undefined;
|
|
122
|
+
}
|
|
123
|
+
else if (["string", "number", "boolean"].includes(typeof value)) {
|
|
124
|
+
let val = value.toString();
|
|
125
|
+
const [named, ifEmpty] = getNamedAndIfEmpty(op);
|
|
126
|
+
const vals = [getFirstOrSep(op, isFirst)];
|
|
127
|
+
if (named && varName) {
|
|
128
|
+
// No need to encode varName considering it is already encoded
|
|
129
|
+
vals.push(varName);
|
|
130
|
+
if (val === "") {
|
|
131
|
+
vals.push(ifEmpty);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
vals.push("=");
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
if (modifier && modifier !== "*") {
|
|
138
|
+
val = val.substring(0, parseInt(modifier, 10));
|
|
139
|
+
}
|
|
140
|
+
vals.push(encodeComponent(val, reserved, op));
|
|
141
|
+
return vals.join("");
|
|
142
|
+
}
|
|
143
|
+
else if (modifier === "*") {
|
|
144
|
+
return getExpandedValue(option);
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
return getNonExpandedValue(option);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// ---------------------------------------------------------------------------------------------------
|
|
151
|
+
// This is an implementation of RFC 6570 URI Template: https://datatracker.ietf.org/doc/html/rfc6570.
|
|
152
|
+
// ---------------------------------------------------------------------------------------------------
|
|
153
|
+
export function expandUrlTemplate(template, context, option) {
|
|
154
|
+
const result = template.replace(/\{([^{}]+)\}|([^{}]+)/g, (_, expr, text) => {
|
|
155
|
+
if (!expr) {
|
|
156
|
+
return encodeReservedComponent(text);
|
|
157
|
+
}
|
|
158
|
+
let op;
|
|
159
|
+
if (["+", "#", ".", "/", ";", "?", "&"].includes(expr[0])) {
|
|
160
|
+
op = expr[0];
|
|
161
|
+
expr = expr.slice(1);
|
|
162
|
+
}
|
|
163
|
+
const varList = expr.split(/,/g);
|
|
164
|
+
const innerResult = [];
|
|
165
|
+
for (const varSpec of varList) {
|
|
166
|
+
const varMatch = /([^:*]*)(?::(\d+)|(\*))?/.exec(varSpec);
|
|
167
|
+
if (!varMatch || !varMatch[1]) {
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
const varValue = getVarValue({
|
|
171
|
+
isFirst: innerResult.length === 0,
|
|
172
|
+
op,
|
|
173
|
+
varValue: context[varMatch[1]],
|
|
174
|
+
varName: varMatch[1],
|
|
175
|
+
modifier: varMatch[2] || varMatch[3],
|
|
176
|
+
reserved: option?.allowReserved,
|
|
177
|
+
});
|
|
178
|
+
if (varValue) {
|
|
179
|
+
innerResult.push(varValue);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return innerResult.join("");
|
|
183
|
+
});
|
|
184
|
+
return normalizeUnreserved(result);
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Normalize an expanded URI by decoding percent-encoded unreserved characters.
|
|
188
|
+
* RFC 3986 unreserved: "-" / "." / "~"
|
|
189
|
+
*/
|
|
190
|
+
function normalizeUnreserved(uri) {
|
|
191
|
+
return uri.replace(/%([0-9A-Fa-f]{2})/g, (match, hex) => {
|
|
192
|
+
const char = String.fromCharCode(parseInt(hex, 16));
|
|
193
|
+
// Decode only if it's unreserved
|
|
194
|
+
if (/[.~-]/.test(char)) {
|
|
195
|
+
return char;
|
|
196
|
+
}
|
|
197
|
+
return match; // leave other encodings intact
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
//# 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 const result = template.replace(/\\{([^{}]+)\\}|([^{}]+)/g, (_, expr, text) => {\n if (!expr) {\n return encodeReservedComponent(text);\n }\n let op;\n if ([\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"].includes(expr[0])) {\n op = expr[0];\n expr = expr.slice(1);\n }\n const varList = expr.split(/,/g);\n const innerResult = [];\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: innerResult.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 innerResult.push(varValue);\n }\n }\n return innerResult.join(\"\");\n });\n\n return normalizeUnreserved(result);\n}\n\n/**\n * Normalize an expanded URI by decoding percent-encoded unreserved characters.\n * RFC 3986 unreserved: \"-\" / \".\" / \"~\"\n */\nfunction normalizeUnreserved(uri: string): string {\n return uri.replace(/%([0-9A-Fa-f]{2})/g, (match, hex) => {\n const char = String.fromCharCode(parseInt(hex, 16));\n // Decode only if it's unreserved\n if (/[.~-]/.test(char)) {\n return char;\n }\n return match; // leave other encodings intact\n });\n}\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { UsageManagementClientOptionalParams } from "./api/index.js";
|
|
2
|
+
import type { RateCardOperations } from "./classic/rateCard/index.js";
|
|
3
|
+
import type { UsageAggregatesOperations } from "./classic/usageAggregates/index.js";
|
|
4
|
+
import type { TokenCredential } from "@azure/core-auth";
|
|
5
|
+
import type { Pipeline } from "@azure/core-rest-pipeline";
|
|
6
|
+
export type { UsageManagementClientOptionalParams } from "./api/usageManagementContext.js";
|
|
7
|
+
export declare class UsageManagementClient {
|
|
8
|
+
private _client;
|
|
9
|
+
/** The pipeline used by this client to make requests */
|
|
10
|
+
readonly pipeline: Pipeline;
|
|
11
|
+
constructor(credential: TokenCredential, subscriptionId: string, options?: UsageManagementClientOptionalParams);
|
|
12
|
+
/** The operation groups for rateCard */
|
|
13
|
+
readonly rateCard: RateCardOperations;
|
|
14
|
+
/** The operation groups for usageAggregates */
|
|
15
|
+
readonly usageAggregates: UsageAggregatesOperations;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=usageManagementClient.d.ts.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { createUsageManagement } from "./api/index.js";
|
|
4
|
+
import { _getRateCardOperations } from "./classic/rateCard/index.js";
|
|
5
|
+
import { _getUsageAggregatesOperations } from "./classic/usageAggregates/index.js";
|
|
6
|
+
export class UsageManagementClient {
|
|
7
|
+
_client;
|
|
8
|
+
/** The pipeline used by this client to make requests */
|
|
9
|
+
pipeline;
|
|
10
|
+
constructor(credential, subscriptionId, options = {}) {
|
|
11
|
+
const prefixFromOptions = options?.userAgentOptions?.userAgentPrefix;
|
|
12
|
+
const userAgentPrefix = prefixFromOptions
|
|
13
|
+
? `${prefixFromOptions} azsdk-js-client`
|
|
14
|
+
: `azsdk-js-client`;
|
|
15
|
+
this._client = createUsageManagement(credential, subscriptionId, {
|
|
16
|
+
...options,
|
|
17
|
+
userAgentOptions: { userAgentPrefix },
|
|
18
|
+
redirectOptions: {
|
|
19
|
+
allowCrossOriginRedirects: true,
|
|
20
|
+
...options?.redirectOptions,
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
this.pipeline = this._client.pipeline;
|
|
24
|
+
this.rateCard = _getRateCardOperations(this._client);
|
|
25
|
+
this.usageAggregates = _getUsageAggregatesOperations(this._client);
|
|
26
|
+
}
|
|
27
|
+
/** The operation groups for rateCard */
|
|
28
|
+
rateCard;
|
|
29
|
+
/** The operation groups for usageAggregates */
|
|
30
|
+
usageAggregates;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=usageManagementClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usageManagementClient.js","sourceRoot":"","sources":["../../src/usageManagementClient.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAMnF,MAAM,OAAO,qBAAqB;IACxB,OAAO,CAAyB;IACxC,wDAAwD;IACxC,QAAQ,CAAW;IAEnC,YACE,UAA2B,EAC3B,cAAsB,EACtB,UAA+C,EAAE;QAEjD,MAAM,iBAAiB,GAAG,OAAO,EAAE,gBAAgB,EAAE,eAAe,CAAC;QACrE,MAAM,eAAe,GAAG,iBAAiB;YACvC,CAAC,CAAC,GAAG,iBAAiB,kBAAkB;YACxC,CAAC,CAAC,iBAAiB,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,qBAAqB,CAAC,UAAU,EAAE,cAAc,EAAE;YAC/D,GAAG,OAAO;YACV,gBAAgB,EAAE,EAAE,eAAe,EAAE;YACrC,eAAe,EAAE;gBACf,yBAAyB,EAAE,IAAI;gBAC/B,GAAG,OAAO,EAAE,eAAe;aAC5B;SACF,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,eAAe,GAAG,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;IAED,wCAAwC;IACxB,QAAQ,CAAqB;IAC7C,+CAA+C;IAC/B,eAAe,CAA4B;CAC5D","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { UsageManagementContext, UsageManagementClientOptionalParams } from \"./api/index.js\";\nimport { createUsageManagement } from \"./api/index.js\";\nimport type { RateCardOperations } from \"./classic/rateCard/index.js\";\nimport { _getRateCardOperations } from \"./classic/rateCard/index.js\";\nimport type { UsageAggregatesOperations } from \"./classic/usageAggregates/index.js\";\nimport { _getUsageAggregatesOperations } from \"./classic/usageAggregates/index.js\";\nimport type { TokenCredential } from \"@azure/core-auth\";\nimport type { Pipeline } from \"@azure/core-rest-pipeline\";\n\nexport type { UsageManagementClientOptionalParams } from \"./api/usageManagementContext.js\";\n\nexport class UsageManagementClient {\n private _client: UsageManagementContext;\n /** The pipeline used by this client to make requests */\n public readonly pipeline: Pipeline;\n\n constructor(\n credential: TokenCredential,\n subscriptionId: string,\n options: UsageManagementClientOptionalParams = {},\n ) {\n const prefixFromOptions = options?.userAgentOptions?.userAgentPrefix;\n const userAgentPrefix = prefixFromOptions\n ? `${prefixFromOptions} azsdk-js-client`\n : `azsdk-js-client`;\n this._client = createUsageManagement(credential, subscriptionId, {\n ...options,\n userAgentOptions: { userAgentPrefix },\n redirectOptions: {\n allowCrossOriginRedirects: true,\n ...options?.redirectOptions,\n },\n });\n this.pipeline = this._client.pipeline;\n this.rateCard = _getRateCardOperations(this._client);\n this.usageAggregates = _getUsageAggregatesOperations(this._client);\n }\n\n /** The operation groups for rateCard */\n public readonly rateCard: RateCardOperations;\n /** The operation groups for usageAggregates */\n public readonly usageAggregates: UsageAggregatesOperations;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAMlC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport type {\n UsageManagementContext,\n UsageManagementClientOptionalParams,\n} from \"./usageManagementContext.js\";\nexport { createUsageManagement } from \"./usageManagementContext.js\";\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/rateCard/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { get } from \"./operations.js\";\nexport type { RateCardGetOptionalParams } from \"./options.js\";\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { UsageManagementContext as Client } from "../index.js";
|
|
2
|
+
import type { ResourceRateCardInfo } from "../../models/models.js";
|
|
3
|
+
import type { RateCardGetOptionalParams } from "./options.js";
|
|
4
|
+
import type { StreamableMethod, PathUncheckedResponse } from "@azure-rest/core-client";
|
|
5
|
+
export declare function _getSend(context: Client, filter: string, options?: RateCardGetOptionalParams): StreamableMethod;
|
|
6
|
+
export declare function _getDeserialize(result: PathUncheckedResponse): Promise<ResourceRateCardInfo>;
|
|
7
|
+
/** Enables you to query for the resource/meter metadata and related prices used in a given subscription by Offer ID, Currency, Locale and Region. The metadata associated with the billing meters, including but not limited to service names, types, resources, units of measure, and regions, is subject to change at any time and without notice. If you intend to use this billing data in an automated fashion, please use the billing meter GUID to uniquely identify each billable item. If the billing meter GUID is scheduled to change due to a new billing model, you will be notified in advance of the change. */
|
|
8
|
+
export declare function get(context: Client, filter: string, options?: RateCardGetOptionalParams): Promise<ResourceRateCardInfo>;
|
|
9
|
+
//# sourceMappingURL=operations.d.ts.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { errorResponseDeserializer, resourceRateCardInfoDeserializer, } from "../../models/models.js";
|
|
4
|
+
import { expandUrlTemplate } from "../../static-helpers/urlTemplate.js";
|
|
5
|
+
import { createRestError, operationOptionsToRequestParameters } from "@azure-rest/core-client";
|
|
6
|
+
export function _getSend(context, filter, options = { requestOptions: {} }) {
|
|
7
|
+
const path = expandUrlTemplate("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/rateCard{?api%2Dversion,%24filter}", {
|
|
8
|
+
subscriptionId: context.subscriptionId,
|
|
9
|
+
"api%2Dversion": context.apiVersion ?? "2015-06-01-preview",
|
|
10
|
+
"%24filter": filter,
|
|
11
|
+
}, {
|
|
12
|
+
allowReserved: options?.requestOptions?.skipUrlEncoding,
|
|
13
|
+
});
|
|
14
|
+
return context.path(path).get({
|
|
15
|
+
...operationOptionsToRequestParameters(options),
|
|
16
|
+
headers: { accept: "application/json", ...options.requestOptions?.headers },
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
export async function _getDeserialize(result) {
|
|
20
|
+
const expectedStatuses = ["200"];
|
|
21
|
+
if (!expectedStatuses.includes(result.status)) {
|
|
22
|
+
const error = createRestError(result);
|
|
23
|
+
error.details = errorResponseDeserializer(result.body);
|
|
24
|
+
throw error;
|
|
25
|
+
}
|
|
26
|
+
return resourceRateCardInfoDeserializer(result.body);
|
|
27
|
+
}
|
|
28
|
+
/** Enables you to query for the resource/meter metadata and related prices used in a given subscription by Offer ID, Currency, Locale and Region. The metadata associated with the billing meters, including but not limited to service names, types, resources, units of measure, and regions, is subject to change at any time and without notice. If you intend to use this billing data in an automated fashion, please use the billing meter GUID to uniquely identify each billable item. If the billing meter GUID is scheduled to change due to a new billing model, you will be notified in advance of the change. */
|
|
29
|
+
export async function get(context, filter, options = { requestOptions: {} }) {
|
|
30
|
+
const result = await _getSend(context, filter, options);
|
|
31
|
+
return _getDeserialize(result);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../../src/api/rateCard/operations.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC,OAAO,EACL,yBAAyB,EACzB,gCAAgC,GACjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAGxE,OAAO,EAAE,eAAe,EAAE,mCAAmC,EAAE,MAAM,yBAAyB,CAAC;AAE/F,MAAM,UAAU,QAAQ,CACtB,OAAe,EACf,MAAc,EACd,UAAqC,EAAE,cAAc,EAAE,EAAE,EAAE;IAE3D,MAAM,IAAI,GAAG,iBAAiB,CAC5B,iGAAiG,EACjG;QACE,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,eAAe,EAAE,OAAO,CAAC,UAAU,IAAI,oBAAoB;QAC3D,WAAW,EAAE,MAAM;KACpB,EACD;QACE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe;KACxD,CACF,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;QAC5B,GAAG,mCAAmC,CAAC,OAAO,CAAC;QAC/C,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,OAAO,EAAE;KAC5E,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAA6B;IAE7B,MAAM,gBAAgB,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACtC,KAAK,CAAC,OAAO,GAAG,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEvD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,OAAO,gCAAgC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,+lBAA+lB;AAC/lB,MAAM,CAAC,KAAK,UAAU,GAAG,CACvB,OAAe,EACf,MAAc,EACd,UAAqC,EAAE,cAAc,EAAE,EAAE,EAAE;IAE3D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { UsageManagementContext as Client } from \"../index.js\";\nimport type { ResourceRateCardInfo } from \"../../models/models.js\";\nimport {\n errorResponseDeserializer,\n resourceRateCardInfoDeserializer,\n} from \"../../models/models.js\";\nimport { expandUrlTemplate } from \"../../static-helpers/urlTemplate.js\";\nimport type { RateCardGetOptionalParams } from \"./options.js\";\nimport type { StreamableMethod, PathUncheckedResponse } from \"@azure-rest/core-client\";\nimport { createRestError, operationOptionsToRequestParameters } from \"@azure-rest/core-client\";\n\nexport function _getSend(\n context: Client,\n filter: string,\n options: RateCardGetOptionalParams = { requestOptions: {} },\n): StreamableMethod {\n const path = expandUrlTemplate(\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/rateCard{?api%2Dversion,%24filter}\",\n {\n subscriptionId: context.subscriptionId,\n \"api%2Dversion\": context.apiVersion ?? \"2015-06-01-preview\",\n \"%24filter\": filter,\n },\n {\n allowReserved: options?.requestOptions?.skipUrlEncoding,\n },\n );\n return context.path(path).get({\n ...operationOptionsToRequestParameters(options),\n headers: { accept: \"application/json\", ...options.requestOptions?.headers },\n });\n}\n\nexport async function _getDeserialize(\n result: PathUncheckedResponse,\n): Promise<ResourceRateCardInfo> {\n const expectedStatuses = [\"200\"];\n if (!expectedStatuses.includes(result.status)) {\n const error = createRestError(result);\n error.details = errorResponseDeserializer(result.body);\n\n throw error;\n }\n\n return resourceRateCardInfoDeserializer(result.body);\n}\n\n/** Enables you to query for the resource/meter metadata and related prices used in a given subscription by Offer ID, Currency, Locale and Region. The metadata associated with the billing meters, including but not limited to service names, types, resources, units of measure, and regions, is subject to change at any time and without notice. If you intend to use this billing data in an automated fashion, please use the billing meter GUID to uniquely identify each billable item. If the billing meter GUID is scheduled to change due to a new billing model, you will be notified in advance of the change. */\nexport async function get(\n context: Client,\n filter: string,\n options: RateCardGetOptionalParams = { requestOptions: {} },\n): Promise<ResourceRateCardInfo> {\n const result = await _getSend(context, filter, options);\n return _getDeserialize(result);\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../src/api/rateCard/options.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { OperationOptions } from \"@azure-rest/core-client\";\n\n/** Optional parameters. */\nexport interface RateCardGetOptionalParams extends OperationOptions {}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/usageAggregates/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { list } from \"./operations.js\";\nexport type { UsageAggregatesListOptionalParams } from \"./options.js\";\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { UsageManagementContext as Client } from "../index.js";
|
|
2
|
+
import type { _UsageAggregationListResult, UsageAggregation } from "../../models/models.js";
|
|
3
|
+
import type { PagedAsyncIterableIterator } from "../../static-helpers/pagingHelpers.js";
|
|
4
|
+
import type { UsageAggregatesListOptionalParams } from "./options.js";
|
|
5
|
+
import type { StreamableMethod, PathUncheckedResponse } from "@azure-rest/core-client";
|
|
6
|
+
export declare function _listSend(context: Client, reportedStartTime: Date, reportedEndTime: Date, options?: UsageAggregatesListOptionalParams): StreamableMethod;
|
|
7
|
+
export declare function _listDeserialize(result: PathUncheckedResponse): Promise<_UsageAggregationListResult>;
|
|
8
|
+
/** Query aggregated Azure subscription consumption data for a date range. */
|
|
9
|
+
export declare function list(context: Client, reportedStartTime: Date, reportedEndTime: Date, options?: UsageAggregatesListOptionalParams): PagedAsyncIterableIterator<UsageAggregation>;
|
|
10
|
+
//# sourceMappingURL=operations.d.ts.map
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { _usageAggregationListResultDeserializer, errorObjectResponseDeserializer, } from "../../models/models.js";
|
|
4
|
+
import { buildPagedAsyncIterator } from "../../static-helpers/pagingHelpers.js";
|
|
5
|
+
import { expandUrlTemplate } from "../../static-helpers/urlTemplate.js";
|
|
6
|
+
import { createRestError, operationOptionsToRequestParameters } from "@azure-rest/core-client";
|
|
7
|
+
export function _listSend(context, reportedStartTime, reportedEndTime, options = { requestOptions: {} }) {
|
|
8
|
+
const path = expandUrlTemplate("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/usageAggregates{?api%2Dversion,reportedStartTime,reportedEndTime,showDetails,aggregationGranularity,continuationToken}", {
|
|
9
|
+
subscriptionId: context.subscriptionId,
|
|
10
|
+
"api%2Dversion": context.apiVersion ?? "2015-06-01-preview",
|
|
11
|
+
reportedStartTime: reportedStartTime.toISOString(),
|
|
12
|
+
reportedEndTime: reportedEndTime.toISOString(),
|
|
13
|
+
showDetails: options?.showDetails,
|
|
14
|
+
aggregationGranularity: options?.aggregationGranularity ?? "Daily",
|
|
15
|
+
continuationToken: options?.continuationToken,
|
|
16
|
+
}, {
|
|
17
|
+
allowReserved: options?.requestOptions?.skipUrlEncoding,
|
|
18
|
+
});
|
|
19
|
+
return context.path(path).get({
|
|
20
|
+
...operationOptionsToRequestParameters(options),
|
|
21
|
+
headers: { accept: "application/json", ...options.requestOptions?.headers },
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
export async function _listDeserialize(result) {
|
|
25
|
+
const expectedStatuses = ["200"];
|
|
26
|
+
if (!expectedStatuses.includes(result.status)) {
|
|
27
|
+
const error = createRestError(result);
|
|
28
|
+
const statusCode = Number.parseInt(result.status);
|
|
29
|
+
if (statusCode === 202) {
|
|
30
|
+
error.details = errorObjectResponseDeserializer(result.body);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
error.details = errorObjectResponseDeserializer(result.body);
|
|
34
|
+
}
|
|
35
|
+
throw error;
|
|
36
|
+
}
|
|
37
|
+
return _usageAggregationListResultDeserializer(result.body);
|
|
38
|
+
}
|
|
39
|
+
/** Query aggregated Azure subscription consumption data for a date range. */
|
|
40
|
+
export function list(context, reportedStartTime, reportedEndTime, options = { requestOptions: {} }) {
|
|
41
|
+
return buildPagedAsyncIterator(context, () => _listSend(context, reportedStartTime, reportedEndTime, options), _listDeserialize, ["200"], {
|
|
42
|
+
itemName: "value",
|
|
43
|
+
nextLinkName: "nextLink",
|
|
44
|
+
apiVersion: context.apiVersion ?? "2015-06-01-preview",
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../../src/api/usageAggregates/operations.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC,OAAO,EACL,uCAAuC,EACvC,+BAA+B,GAChC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAGxE,OAAO,EAAE,eAAe,EAAE,mCAAmC,EAAE,MAAM,yBAAyB,CAAC;AAE/F,MAAM,UAAU,SAAS,CACvB,OAAe,EACf,iBAAuB,EACvB,eAAqB,EACrB,UAA6C,EAAE,cAAc,EAAE,EAAE,EAAE;IAEnE,MAAM,IAAI,GAAG,iBAAiB,CAC5B,qLAAqL,EACrL;QACE,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,eAAe,EAAE,OAAO,CAAC,UAAU,IAAI,oBAAoB;QAC3D,iBAAiB,EAAE,iBAAiB,CAAC,WAAW,EAAE;QAClD,eAAe,EAAE,eAAe,CAAC,WAAW,EAAE;QAC9C,WAAW,EAAE,OAAO,EAAE,WAAW;QACjC,sBAAsB,EAAE,OAAO,EAAE,sBAAsB,IAAI,OAAO;QAClE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;KAC9C,EACD;QACE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe;KACxD,CACF,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;QAC5B,GAAG,mCAAmC,CAAC,OAAO,CAAC;QAC/C,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,OAAO,EAAE;KAC5E,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAA6B;IAE7B,MAAM,gBAAgB,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;YACvB,KAAK,CAAC,OAAO,GAAG,+BAA+B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,OAAO,GAAG,+BAA+B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,OAAO,uCAAuC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,IAAI,CAClB,OAAe,EACf,iBAAuB,EACvB,eAAqB,EACrB,UAA6C,EAAE,cAAc,EAAE,EAAE,EAAE;IAEnE,OAAO,uBAAuB,CAC5B,OAAO,EACP,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,CAAC,EACrE,gBAAgB,EAChB,CAAC,KAAK,CAAC,EACP;QACE,QAAQ,EAAE,OAAO;QACjB,YAAY,EAAE,UAAU;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,oBAAoB;KACvD,CACF,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { UsageManagementContext as Client } from \"../index.js\";\nimport type { _UsageAggregationListResult, UsageAggregation } from \"../../models/models.js\";\nimport {\n _usageAggregationListResultDeserializer,\n errorObjectResponseDeserializer,\n} from \"../../models/models.js\";\nimport type { PagedAsyncIterableIterator } from \"../../static-helpers/pagingHelpers.js\";\nimport { buildPagedAsyncIterator } from \"../../static-helpers/pagingHelpers.js\";\nimport { expandUrlTemplate } from \"../../static-helpers/urlTemplate.js\";\nimport type { UsageAggregatesListOptionalParams } from \"./options.js\";\nimport type { StreamableMethod, PathUncheckedResponse } from \"@azure-rest/core-client\";\nimport { createRestError, operationOptionsToRequestParameters } from \"@azure-rest/core-client\";\n\nexport function _listSend(\n context: Client,\n reportedStartTime: Date,\n reportedEndTime: Date,\n options: UsageAggregatesListOptionalParams = { requestOptions: {} },\n): StreamableMethod {\n const path = expandUrlTemplate(\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/usageAggregates{?api%2Dversion,reportedStartTime,reportedEndTime,showDetails,aggregationGranularity,continuationToken}\",\n {\n subscriptionId: context.subscriptionId,\n \"api%2Dversion\": context.apiVersion ?? \"2015-06-01-preview\",\n reportedStartTime: reportedStartTime.toISOString(),\n reportedEndTime: reportedEndTime.toISOString(),\n showDetails: options?.showDetails,\n aggregationGranularity: options?.aggregationGranularity ?? \"Daily\",\n continuationToken: options?.continuationToken,\n },\n {\n allowReserved: options?.requestOptions?.skipUrlEncoding,\n },\n );\n return context.path(path).get({\n ...operationOptionsToRequestParameters(options),\n headers: { accept: \"application/json\", ...options.requestOptions?.headers },\n });\n}\n\nexport async function _listDeserialize(\n result: PathUncheckedResponse,\n): Promise<_UsageAggregationListResult> {\n const expectedStatuses = [\"200\"];\n if (!expectedStatuses.includes(result.status)) {\n const error = createRestError(result);\n const statusCode = Number.parseInt(result.status);\n if (statusCode === 202) {\n error.details = errorObjectResponseDeserializer(result.body);\n } else {\n error.details = errorObjectResponseDeserializer(result.body);\n }\n throw error;\n }\n\n return _usageAggregationListResultDeserializer(result.body);\n}\n\n/** Query aggregated Azure subscription consumption data for a date range. */\nexport function list(\n context: Client,\n reportedStartTime: Date,\n reportedEndTime: Date,\n options: UsageAggregatesListOptionalParams = { requestOptions: {} },\n): PagedAsyncIterableIterator<UsageAggregation> {\n return buildPagedAsyncIterator(\n context,\n () => _listSend(context, reportedStartTime, reportedEndTime, options),\n _listDeserialize,\n [\"200\"],\n {\n itemName: \"value\",\n nextLinkName: \"nextLink\",\n apiVersion: context.apiVersion ?? \"2015-06-01-preview\",\n },\n );\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AggregationGranularity } from "../../models/models.js";
|
|
2
|
+
import type { OperationOptions } from "@azure-rest/core-client";
|
|
3
|
+
/** Optional parameters. */
|
|
4
|
+
export interface UsageAggregatesListOptionalParams extends OperationOptions {
|
|
5
|
+
/** `True` returns usage data in instance-level detail, `false` causes server-side aggregation with fewer details. For example, if you have 3 website instances, by default you will get 3 line items for website consumption. If you specify showDetails = false, the data will be aggregated as a single line item for website consumption within the time period (for the given subscriptionId, meterId, usageStartTime and usageEndTime). */
|
|
6
|
+
showDetails?: boolean;
|
|
7
|
+
/** `Daily` (default) returns the data in daily granularity, `Hourly` returns the data in hourly granularity. */
|
|
8
|
+
aggregationGranularity?: AggregationGranularity;
|
|
9
|
+
/** Used when a continuation token string is provided in the response body of the previous call, enabling paging through a large result set. If not present, the data is retrieved from the beginning of the day/hour (based on the granularity) passed in. */
|
|
10
|
+
continuationToken?: string;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../src/api/usageAggregates/options.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AggregationGranularity } from \"../../models/models.js\";\nimport type { OperationOptions } from \"@azure-rest/core-client\";\n\n/** Optional parameters. */\nexport interface UsageAggregatesListOptionalParams extends OperationOptions {\n /** `True` returns usage data in instance-level detail, `false` causes server-side aggregation with fewer details. For example, if you have 3 website instances, by default you will get 3 line items for website consumption. If you specify showDetails = false, the data will be aggregated as a single line item for website consumption within the time period (for the given subscriptionId, meterId, usageStartTime and usageEndTime). */\n showDetails?: boolean;\n /** `Daily` (default) returns the data in daily granularity, `Hourly` returns the data in hourly granularity. */\n aggregationGranularity?: AggregationGranularity;\n /** Used when a continuation token string is provided in the response body of the previous call, enabling paging through a large result set. If not present, the data is retrieved from the beginning of the day/hour (based on the granularity) passed in. */\n continuationToken?: string;\n}\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { AzureSupportedClouds } from "../static-helpers/cloudSettingHelpers.js";
|
|
2
|
+
import type { Client, ClientOptions } from "@azure-rest/core-client";
|
|
3
|
+
import type { TokenCredential } from "@azure/core-auth";
|
|
4
|
+
export interface UsageManagementContext extends Client {
|
|
5
|
+
/** The ID of the target subscription. The value must be an UUID. */
|
|
6
|
+
subscriptionId: string;
|
|
7
|
+
/** The API version to use for this operation. */
|
|
8
|
+
/** Known values of {@link KnownVersions} that the service accepts. */
|
|
9
|
+
apiVersion?: string;
|
|
10
|
+
}
|
|
11
|
+
/** Optional parameters for the client. */
|
|
12
|
+
export interface UsageManagementClientOptionalParams extends ClientOptions {
|
|
13
|
+
/** The API version to use for this operation. */
|
|
14
|
+
/** Known values of {@link KnownVersions} that the service accepts. */
|
|
15
|
+
apiVersion?: string;
|
|
16
|
+
/** Specifies the Azure cloud environment for the client. */
|
|
17
|
+
cloudSetting?: AzureSupportedClouds;
|
|
18
|
+
}
|
|
19
|
+
export declare function createUsageManagement(credential: TokenCredential, subscriptionId: string, options?: UsageManagementClientOptionalParams): UsageManagementContext;
|
|
20
|
+
//# sourceMappingURL=usageManagementContext.d.ts.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { logger } from "../logger.js";
|
|
4
|
+
import { getArmEndpoint } from "../static-helpers/cloudSettingHelpers.js";
|
|
5
|
+
import { getClient } from "@azure-rest/core-client";
|
|
6
|
+
export function createUsageManagement(credential, subscriptionId, options = {}) {
|
|
7
|
+
const endpointUrl = options.endpoint ?? getArmEndpoint(options.cloudSetting) ?? "https://management.azure.com";
|
|
8
|
+
const prefixFromOptions = options?.userAgentOptions?.userAgentPrefix;
|
|
9
|
+
const userAgentInfo = `azsdk-js-arm-commerce/4.0.0-beta.4`;
|
|
10
|
+
const userAgentPrefix = prefixFromOptions
|
|
11
|
+
? `${prefixFromOptions} azsdk-js-api ${userAgentInfo}`
|
|
12
|
+
: `azsdk-js-api ${userAgentInfo}`;
|
|
13
|
+
const { apiVersion: _, ...updatedOptions } = {
|
|
14
|
+
...options,
|
|
15
|
+
userAgentOptions: { userAgentPrefix },
|
|
16
|
+
loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info },
|
|
17
|
+
credentials: { scopes: options.credentials?.scopes ?? [`${endpointUrl}/.default`] },
|
|
18
|
+
};
|
|
19
|
+
const clientContext = getClient(endpointUrl, credential, updatedOptions);
|
|
20
|
+
const apiVersion = options.apiVersion;
|
|
21
|
+
return { ...clientContext, apiVersion, subscriptionId };
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=usageManagementContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usageManagementContext.js","sourceRoot":"","sources":["../../../src/api/usageManagementContext.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAoBpD,MAAM,UAAU,qBAAqB,CACnC,UAA2B,EAC3B,cAAsB,EACtB,UAA+C,EAAE;IAEjD,MAAM,WAAW,GACf,OAAO,CAAC,QAAQ,IAAI,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,8BAA8B,CAAC;IAC7F,MAAM,iBAAiB,GAAG,OAAO,EAAE,gBAAgB,EAAE,eAAe,CAAC;IACrE,MAAM,aAAa,GAAG,oCAAoC,CAAC;IAC3D,MAAM,eAAe,GAAG,iBAAiB;QACvC,CAAC,CAAC,GAAG,iBAAiB,iBAAiB,aAAa,EAAE;QACtD,CAAC,CAAC,gBAAgB,aAAa,EAAE,CAAC;IACpC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,GAAG;QAC3C,GAAG,OAAO;QACV,gBAAgB,EAAE,EAAE,eAAe,EAAE;QACrC,cAAc,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,cAAc,EAAE,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;QACzE,WAAW,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,GAAG,WAAW,WAAW,CAAC,EAAE;KACpF,CAAC;IACF,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,OAAO,EAAE,GAAG,aAAa,EAAE,UAAU,EAAE,cAAc,EAA4B,CAAC;AACpF,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { logger } from \"../logger.js\";\nimport { KnownVersions } from \"../models/models.js\";\nimport type { AzureSupportedClouds } from \"../static-helpers/cloudSettingHelpers.js\";\nimport { getArmEndpoint } from \"../static-helpers/cloudSettingHelpers.js\";\nimport type { Client, ClientOptions } from \"@azure-rest/core-client\";\nimport { getClient } from \"@azure-rest/core-client\";\nimport type { TokenCredential } from \"@azure/core-auth\";\n\nexport interface UsageManagementContext extends Client {\n /** The ID of the target subscription. The value must be an UUID. */\n subscriptionId: string;\n /** The API version to use for this operation. */\n /** Known values of {@link KnownVersions} that the service accepts. */\n apiVersion?: string;\n}\n\n/** Optional parameters for the client. */\nexport interface UsageManagementClientOptionalParams extends ClientOptions {\n /** The API version to use for this operation. */\n /** Known values of {@link KnownVersions} that the service accepts. */\n apiVersion?: string;\n /** Specifies the Azure cloud environment for the client. */\n cloudSetting?: AzureSupportedClouds;\n}\n\nexport function createUsageManagement(\n credential: TokenCredential,\n subscriptionId: string,\n options: UsageManagementClientOptionalParams = {},\n): UsageManagementContext {\n const endpointUrl =\n options.endpoint ?? getArmEndpoint(options.cloudSetting) ?? \"https://management.azure.com\";\n const prefixFromOptions = options?.userAgentOptions?.userAgentPrefix;\n const userAgentInfo = `azsdk-js-arm-commerce/4.0.0-beta.4`;\n const userAgentPrefix = prefixFromOptions\n ? `${prefixFromOptions} azsdk-js-api ${userAgentInfo}`\n : `azsdk-js-api ${userAgentInfo}`;\n const { apiVersion: _, ...updatedOptions } = {\n ...options,\n userAgentOptions: { userAgentPrefix },\n loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info },\n credentials: { scopes: options.credentials?.scopes ?? [`${endpointUrl}/.default`] },\n };\n const clientContext = getClient(endpointUrl, credential, updatedOptions);\n const apiVersion = options.apiVersion;\n return { ...clientContext, apiVersion, subscriptionId } as UsageManagementContext;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/classic/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport type { RateCardOperations } from \"./rateCard/index.js\";\nexport type { UsageAggregatesOperations } from \"./usageAggregates/index.js\";\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { UsageManagementContext } from "../../api/usageManagementContext.js";
|
|
2
|
+
import type { RateCardGetOptionalParams } from "../../api/rateCard/options.js";
|
|
3
|
+
import type { ResourceRateCardInfo } from "../../models/models.js";
|
|
4
|
+
/** Interface representing a RateCard operations. */
|
|
5
|
+
export interface RateCardOperations {
|
|
6
|
+
/** Enables you to query for the resource/meter metadata and related prices used in a given subscription by Offer ID, Currency, Locale and Region. The metadata associated with the billing meters, including but not limited to service names, types, resources, units of measure, and regions, is subject to change at any time and without notice. If you intend to use this billing data in an automated fashion, please use the billing meter GUID to uniquely identify each billable item. If the billing meter GUID is scheduled to change due to a new billing model, you will be notified in advance of the change. */
|
|
7
|
+
get: (filter: string, options?: RateCardGetOptionalParams) => Promise<ResourceRateCardInfo>;
|
|
8
|
+
}
|
|
9
|
+
export declare function _getRateCardOperations(context: UsageManagementContext): RateCardOperations;
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { get } from "../../api/rateCard/operations.js";
|
|
4
|
+
function _getRateCard(context) {
|
|
5
|
+
return {
|
|
6
|
+
get: (filter, options) => get(context, filter, options),
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export function _getRateCardOperations(context) {
|
|
10
|
+
return {
|
|
11
|
+
..._getRateCard(context),
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=index.js.map
|