@azure-rest/defender-easm 1.0.0-beta.1 → 1.0.0-beta.3
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/CHANGELOG.md +20 -0
- package/LICENSE +21 -0
- package/README.md +5 -9
- package/dist/browser/clientDefinitions.d.ts +141 -0
- package/dist/browser/clientDefinitions.d.ts.map +1 -0
- package/dist/browser/clientDefinitions.js +4 -0
- package/dist/browser/clientDefinitions.js.map +1 -0
- package/dist/browser/easmClient.d.ts +16 -0
- package/dist/browser/easmClient.d.ts.map +1 -0
- package/dist/browser/easmClient.js +45 -0
- package/dist/browser/easmClient.js.map +1 -0
- package/dist/browser/index.d.ts +11 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +13 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/isUnexpected.d.ts +28 -0
- package/dist/browser/isUnexpected.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/isUnexpected.js +5 -6
- package/dist/browser/isUnexpected.js.map +1 -0
- package/dist/browser/logger.d.ts +2 -0
- package/dist/browser/logger.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/logger.js +1 -1
- package/{dist-esm/src → dist/browser}/logger.js.map +1 -1
- package/dist/browser/models.d.ts +144 -0
- package/dist/browser/models.d.ts.map +1 -0
- package/dist/browser/models.js +4 -0
- package/dist/browser/models.js.map +1 -0
- package/dist/browser/outputModels.d.ts +1046 -0
- package/dist/browser/outputModels.d.ts.map +1 -0
- package/dist/browser/outputModels.js +4 -0
- package/dist/browser/outputModels.js.map +1 -0
- package/dist/browser/package.json +3 -0
- package/dist/browser/paginateHelper.d.ts +68 -0
- package/dist/browser/paginateHelper.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/paginateHelper.js +70 -3
- package/dist/browser/paginateHelper.js.map +1 -0
- package/dist/browser/parameters.d.ts +141 -0
- package/dist/browser/parameters.d.ts.map +1 -0
- package/dist/browser/parameters.js +4 -0
- package/dist/browser/parameters.js.map +1 -0
- package/dist/browser/responses.d.ts +365 -0
- package/dist/browser/responses.d.ts.map +1 -0
- package/dist/browser/responses.js +4 -0
- package/dist/browser/responses.js.map +1 -0
- package/dist/commonjs/clientDefinitions.d.ts +141 -0
- package/dist/commonjs/clientDefinitions.d.ts.map +1 -0
- package/dist/commonjs/clientDefinitions.js +5 -0
- package/dist/commonjs/clientDefinitions.js.map +1 -0
- package/dist/commonjs/easmClient.d.ts +16 -0
- package/dist/commonjs/easmClient.d.ts.map +1 -0
- package/dist/commonjs/easmClient.js +48 -0
- package/dist/commonjs/easmClient.js.map +1 -0
- package/dist/commonjs/index.d.ts +11 -0
- package/dist/commonjs/index.d.ts.map +1 -0
- package/dist/commonjs/index.js +16 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/isUnexpected.d.ts +28 -0
- package/dist/commonjs/isUnexpected.d.ts.map +1 -0
- package/dist/commonjs/isUnexpected.js +97 -0
- package/dist/commonjs/isUnexpected.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/models.d.ts +144 -0
- package/dist/commonjs/models.d.ts.map +1 -0
- package/dist/commonjs/models.js +5 -0
- package/dist/commonjs/models.js.map +1 -0
- package/dist/commonjs/outputModels.d.ts +1046 -0
- package/dist/commonjs/outputModels.d.ts.map +1 -0
- package/dist/commonjs/outputModels.js +5 -0
- package/dist/commonjs/outputModels.js.map +1 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/commonjs/paginateHelper.d.ts +68 -0
- package/dist/commonjs/paginateHelper.d.ts.map +1 -0
- package/dist/commonjs/paginateHelper.js +140 -0
- package/dist/commonjs/paginateHelper.js.map +1 -0
- package/dist/commonjs/parameters.d.ts +141 -0
- package/dist/commonjs/parameters.d.ts.map +1 -0
- package/dist/commonjs/parameters.js +5 -0
- package/dist/commonjs/parameters.js.map +1 -0
- package/dist/commonjs/responses.d.ts +365 -0
- package/dist/commonjs/responses.d.ts.map +1 -0
- package/dist/commonjs/responses.js +5 -0
- package/dist/commonjs/responses.js.map +1 -0
- package/dist/commonjs/tsdoc-metadata.json +11 -0
- package/dist/esm/clientDefinitions.d.ts +141 -0
- package/dist/esm/clientDefinitions.d.ts.map +1 -0
- package/dist/esm/clientDefinitions.js +4 -0
- package/dist/esm/clientDefinitions.js.map +1 -0
- package/dist/esm/easmClient.d.ts +16 -0
- package/dist/esm/easmClient.d.ts.map +1 -0
- package/dist/esm/easmClient.js +45 -0
- package/dist/esm/easmClient.js.map +1 -0
- package/dist/esm/index.d.ts +11 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +13 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/isUnexpected.d.ts +28 -0
- package/dist/esm/isUnexpected.d.ts.map +1 -0
- package/dist/esm/isUnexpected.js +94 -0
- package/dist/esm/isUnexpected.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/models.d.ts +144 -0
- package/dist/esm/models.d.ts.map +1 -0
- package/dist/esm/models.js +4 -0
- package/dist/esm/models.js.map +1 -0
- package/dist/esm/outputModels.d.ts +1046 -0
- package/dist/esm/outputModels.d.ts.map +1 -0
- package/dist/esm/outputModels.js +4 -0
- package/dist/esm/outputModels.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/paginateHelper.d.ts +68 -0
- package/dist/esm/paginateHelper.d.ts.map +1 -0
- package/dist/esm/paginateHelper.js +137 -0
- package/dist/esm/paginateHelper.js.map +1 -0
- package/dist/esm/parameters.d.ts +141 -0
- package/dist/esm/parameters.d.ts.map +1 -0
- package/dist/esm/parameters.js +4 -0
- package/dist/esm/parameters.js.map +1 -0
- package/dist/esm/responses.d.ts +365 -0
- package/dist/esm/responses.d.ts.map +1 -0
- package/dist/esm/responses.js +4 -0
- package/dist/esm/responses.js.map +1 -0
- package/dist/react-native/clientDefinitions.d.ts +141 -0
- package/dist/react-native/clientDefinitions.d.ts.map +1 -0
- package/dist/react-native/clientDefinitions.js +4 -0
- package/dist/react-native/clientDefinitions.js.map +1 -0
- package/dist/react-native/easmClient.d.ts +16 -0
- package/dist/react-native/easmClient.d.ts.map +1 -0
- package/dist/react-native/easmClient.js +45 -0
- package/dist/react-native/easmClient.js.map +1 -0
- package/dist/react-native/index.d.ts +11 -0
- package/dist/react-native/index.d.ts.map +1 -0
- package/dist/react-native/index.js +13 -0
- package/dist/react-native/index.js.map +1 -0
- package/dist/react-native/isUnexpected.d.ts +28 -0
- package/dist/react-native/isUnexpected.d.ts.map +1 -0
- package/dist/react-native/isUnexpected.js +94 -0
- package/dist/react-native/isUnexpected.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/models.d.ts +144 -0
- package/dist/react-native/models.d.ts.map +1 -0
- package/dist/react-native/models.js +4 -0
- package/dist/react-native/models.js.map +1 -0
- package/dist/react-native/outputModels.d.ts +1046 -0
- package/dist/react-native/outputModels.d.ts.map +1 -0
- package/dist/react-native/outputModels.js +4 -0
- package/dist/react-native/outputModels.js.map +1 -0
- package/dist/react-native/package.json +3 -0
- package/dist/react-native/paginateHelper.d.ts +68 -0
- package/dist/react-native/paginateHelper.d.ts.map +1 -0
- package/dist/react-native/paginateHelper.js +137 -0
- package/dist/react-native/paginateHelper.js.map +1 -0
- package/dist/react-native/parameters.d.ts +141 -0
- package/dist/react-native/parameters.d.ts.map +1 -0
- package/dist/react-native/parameters.js +4 -0
- package/dist/react-native/parameters.js.map +1 -0
- package/dist/react-native/responses.d.ts +365 -0
- package/dist/react-native/responses.d.ts.map +1 -0
- package/dist/react-native/responses.js +4 -0
- package/dist/react-native/responses.js.map +1 -0
- package/package.json +100 -97
- package/review/{defender-easm.api.md → defender-easm-node.api.md} +151 -61
- package/dist/index.js +0 -213
- package/dist/index.js.map +0 -1
- package/dist-esm/src/clientDefinitions.js +0 -4
- package/dist-esm/src/clientDefinitions.js.map +0 -1
- package/dist-esm/src/easm.js +0 -33
- package/dist-esm/src/easm.js.map +0 -1
- package/dist-esm/src/index.js +0 -13
- package/dist-esm/src/index.js.map +0 -1
- package/dist-esm/src/isUnexpected.js.map +0 -1
- package/dist-esm/src/models.js +0 -4
- package/dist-esm/src/models.js.map +0 -1
- package/dist-esm/src/outputModels.js +0 -4
- package/dist-esm/src/outputModels.js.map +0 -1
- package/dist-esm/src/paginateHelper.js.map +0 -1
- package/dist-esm/src/parameters.js +0 -4
- package/dist-esm/src/parameters.js.map +0 -1
- package/dist-esm/src/responses.js +0 -4
- package/dist-esm/src/responses.js.map +0 -1
- package/types/defender-easm.d.ts +0 -2105
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.default = createClient;
|
|
6
|
+
const core_client_1 = require("@azure-rest/core-client");
|
|
7
|
+
const logger_js_1 = require("./logger.js");
|
|
8
|
+
/**
|
|
9
|
+
* Initialize a new instance of `EasmClient`
|
|
10
|
+
* @param endpointParam - The endpoint hosting the requested resource. For example, https://{region}.easm.defender.microsoft.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}
|
|
11
|
+
* @param credentials - uniquely identify client credential
|
|
12
|
+
* @param options - the parameter for all optional parameters
|
|
13
|
+
*/
|
|
14
|
+
function createClient(endpointParam, credentials, { apiVersion = "2023-03-01-preview", ...options } = {}) {
|
|
15
|
+
const endpointUrl = options.endpoint ?? options.baseUrl ?? `${endpointParam}`;
|
|
16
|
+
const userAgentInfo = `azsdk-js-defender-easm-rest/1.0.0-beta.3`;
|
|
17
|
+
const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
|
|
18
|
+
? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`
|
|
19
|
+
: `${userAgentInfo}`;
|
|
20
|
+
options = {
|
|
21
|
+
...options,
|
|
22
|
+
userAgentOptions: {
|
|
23
|
+
userAgentPrefix,
|
|
24
|
+
},
|
|
25
|
+
loggingOptions: {
|
|
26
|
+
logger: options.loggingOptions?.logger ?? logger_js_1.logger.info,
|
|
27
|
+
},
|
|
28
|
+
credentials: {
|
|
29
|
+
scopes: options.credentials?.scopes ?? ["https://easm.defender.microsoft.com/.default"],
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
const client = (0, core_client_1.getClient)(endpointUrl, credentials, options);
|
|
33
|
+
client.pipeline.removePolicy({ name: "ApiVersionPolicy" });
|
|
34
|
+
client.pipeline.addPolicy({
|
|
35
|
+
name: "ClientApiVersionPolicy",
|
|
36
|
+
sendRequest: (req, next) => {
|
|
37
|
+
// Use the apiVersion defined in request url directly
|
|
38
|
+
// Append one if there is no apiVersion and we have one at client options
|
|
39
|
+
const url = new URL(req.url);
|
|
40
|
+
if (!url.searchParams.get("api-version") && apiVersion) {
|
|
41
|
+
req.url = `${req.url}${Array.from(url.searchParams.keys()).length > 0 ? "&" : "?"}api-version=${apiVersion}`;
|
|
42
|
+
}
|
|
43
|
+
return next(req);
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
return client;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=easmClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"easmClient.js","sourceRoot":"","sources":["../../src/easmClient.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AAoBlC,+BA2CC;AA5DD,yDAAoD;AACpD,2CAAqC;AAUrC;;;;;GAKG;AACH,SAAwB,YAAY,CAClC,aAAqB,EACrB,WAA4B,EAC5B,EAAE,UAAU,GAAG,oBAAoB,EAAE,GAAG,OAAO,KAAwB,EAAE;IAEzE,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,IAAI,GAAG,aAAa,EAAE,CAAC;IAC9E,MAAM,aAAa,GAAG,0CAA0C,CAAC;IACjE,MAAM,eAAe,GACnB,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,eAAe;QAClE,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,IAAI,aAAa,EAAE;QAChE,CAAC,CAAC,GAAG,aAAa,EAAE,CAAC;IACzB,OAAO,GAAG;QACR,GAAG,OAAO;QACV,gBAAgB,EAAE;YAChB,eAAe;SAChB;QACD,cAAc,EAAE;YACd,MAAM,EAAE,OAAO,CAAC,cAAc,EAAE,MAAM,IAAI,kBAAM,CAAC,IAAI;SACtD;QACD,WAAW,EAAE;YACX,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,8CAA8C,CAAC;SACxF;KACF,CAAC;IACF,MAAM,MAAM,GAAG,IAAA,uBAAS,EAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAe,CAAC;IAE1E,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC3D,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxB,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACzB,qDAAqD;YACrD,yEAAyE;YACzE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,UAAU,EAAE,CAAC;gBACvD,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAClB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GACzD,eAAe,UAAU,EAAE,CAAC;YAC9B,CAAC;YAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { ClientOptions } from \"@azure-rest/core-client\";\nimport { getClient } from \"@azure-rest/core-client\";\nimport { logger } from \"./logger.js\";\nimport type { TokenCredential } from \"@azure/core-auth\";\nimport type { EasmClient } from \"./clientDefinitions.js\";\n\n/** The optional parameters for the client */\nexport interface EasmClientOptions extends ClientOptions {\n /** The api version option of the client */\n apiVersion?: string;\n}\n\n/**\n * Initialize a new instance of `EasmClient`\n * @param endpointParam - The endpoint hosting the requested resource. For example, https://{region}.easm.defender.microsoft.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}\n * @param credentials - uniquely identify client credential\n * @param options - the parameter for all optional parameters\n */\nexport default function createClient(\n endpointParam: string,\n credentials: TokenCredential,\n { apiVersion = \"2023-03-01-preview\", ...options }: EasmClientOptions = {},\n): EasmClient {\n const endpointUrl = options.endpoint ?? options.baseUrl ?? `${endpointParam}`;\n const userAgentInfo = `azsdk-js-defender-easm-rest/1.0.0-beta.3`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`\n : `${userAgentInfo}`;\n options = {\n ...options,\n userAgentOptions: {\n userAgentPrefix,\n },\n loggingOptions: {\n logger: options.loggingOptions?.logger ?? logger.info,\n },\n credentials: {\n scopes: options.credentials?.scopes ?? [\"https://easm.defender.microsoft.com/.default\"],\n },\n };\n const client = getClient(endpointUrl, credentials, options) as EasmClient;\n\n client.pipeline.removePolicy({ name: \"ApiVersionPolicy\" });\n client.pipeline.addPolicy({\n name: \"ClientApiVersionPolicy\",\n sendRequest: (req, next) => {\n // Use the apiVersion defined in request url directly\n // Append one if there is no apiVersion and we have one at client options\n const url = new URL(req.url);\n if (!url.searchParams.get(\"api-version\") && apiVersion) {\n req.url = `${req.url}${\n Array.from(url.searchParams.keys()).length > 0 ? \"&\" : \"?\"\n }api-version=${apiVersion}`;\n }\n\n return next(req);\n },\n });\n\n return client;\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import EasmClient from "./easmClient.js";
|
|
2
|
+
export * from "./easmClient.js";
|
|
3
|
+
export * from "./parameters.js";
|
|
4
|
+
export * from "./responses.js";
|
|
5
|
+
export * from "./clientDefinitions.js";
|
|
6
|
+
export * from "./isUnexpected.js";
|
|
7
|
+
export * from "./models.js";
|
|
8
|
+
export * from "./outputModels.js";
|
|
9
|
+
export * from "./paginateHelper.js";
|
|
10
|
+
export default EasmClient;
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const easmClient_js_1 = tslib_1.__importDefault(require("./easmClient.js"));
|
|
7
|
+
tslib_1.__exportStar(require("./easmClient.js"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./parameters.js"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./responses.js"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./clientDefinitions.js"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./isUnexpected.js"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./models.js"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./outputModels.js"), exports);
|
|
14
|
+
tslib_1.__exportStar(require("./paginateHelper.js"), exports);
|
|
15
|
+
exports.default = easmClient_js_1.default;
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,4EAAyC;AAEzC,0DAAgC;AAChC,0DAAgC;AAChC,yDAA+B;AAC/B,iEAAuC;AACvC,4DAAkC;AAClC,sDAA4B;AAC5B,4DAAkC;AAClC,8DAAoC;AAEpC,kBAAe,uBAAU,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport EasmClient from \"./easmClient.js\";\n\nexport * from \"./easmClient.js\";\nexport * from \"./parameters.js\";\nexport * from \"./responses.js\";\nexport * from \"./clientDefinitions.js\";\nexport * from \"./isUnexpected.js\";\nexport * from \"./models.js\";\nexport * from \"./outputModels.js\";\nexport * from \"./paginateHelper.js\";\n\nexport default EasmClient;\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ListAssetResource200Response, ListAssetResourceDefaultResponse, UpdateAssets200Response, UpdateAssetsDefaultResponse, GetAssetResource200Response, GetAssetResourceDefaultResponse, ListDataConnection200Response, ListDataConnectionDefaultResponse, ValidateDataConnection200Response, ValidateDataConnectionDefaultResponse, GetDataConnection200Response, GetDataConnectionDefaultResponse, CreateOrReplaceDataConnection200Response, CreateOrReplaceDataConnectionDefaultResponse, DeleteDataConnection204Response, DeleteDataConnectionDefaultResponse, ListDiscoGroup200Response, ListDiscoGroupDefaultResponse, ValidateDiscoGroup200Response, ValidateDiscoGroupDefaultResponse, GetDiscoGroup200Response, GetDiscoGroupDefaultResponse, CreateOrReplaceDiscoGroup200Response, CreateOrReplaceDiscoGroupDefaultResponse, RunDiscoGroup204Response, RunDiscoGroupDefaultResponse, ListRuns200Response, ListRunsDefaultResponse, ListDiscoTemplate200Response, ListDiscoTemplateDefaultResponse, GetDiscoTemplate200Response, GetDiscoTemplateDefaultResponse, GetBillable200Response, GetBillableDefaultResponse, GetSnapshot200Response, GetSnapshotDefaultResponse, GetSummary200Response, GetSummaryDefaultResponse, ListSavedFilter200Response, ListSavedFilterDefaultResponse, GetSavedFilter200Response, GetSavedFilterDefaultResponse, CreateOrReplaceSavedFilter200Response, CreateOrReplaceSavedFilterDefaultResponse, DeleteSavedFilter204Response, DeleteSavedFilterDefaultResponse, ListTask200Response, ListTaskDefaultResponse, GetTask200Response, GetTaskDefaultResponse, CancelTask200Response, CancelTaskDefaultResponse } from "./responses.js";
|
|
2
|
+
export declare function isUnexpected(response: ListAssetResource200Response | ListAssetResourceDefaultResponse): response is ListAssetResourceDefaultResponse;
|
|
3
|
+
export declare function isUnexpected(response: UpdateAssets200Response | UpdateAssetsDefaultResponse): response is UpdateAssetsDefaultResponse;
|
|
4
|
+
export declare function isUnexpected(response: GetAssetResource200Response | GetAssetResourceDefaultResponse): response is GetAssetResourceDefaultResponse;
|
|
5
|
+
export declare function isUnexpected(response: ListDataConnection200Response | ListDataConnectionDefaultResponse): response is ListDataConnectionDefaultResponse;
|
|
6
|
+
export declare function isUnexpected(response: ValidateDataConnection200Response | ValidateDataConnectionDefaultResponse): response is ValidateDataConnectionDefaultResponse;
|
|
7
|
+
export declare function isUnexpected(response: GetDataConnection200Response | GetDataConnectionDefaultResponse): response is GetDataConnectionDefaultResponse;
|
|
8
|
+
export declare function isUnexpected(response: CreateOrReplaceDataConnection200Response | CreateOrReplaceDataConnectionDefaultResponse): response is CreateOrReplaceDataConnectionDefaultResponse;
|
|
9
|
+
export declare function isUnexpected(response: DeleteDataConnection204Response | DeleteDataConnectionDefaultResponse): response is DeleteDataConnectionDefaultResponse;
|
|
10
|
+
export declare function isUnexpected(response: ListDiscoGroup200Response | ListDiscoGroupDefaultResponse): response is ListDiscoGroupDefaultResponse;
|
|
11
|
+
export declare function isUnexpected(response: ValidateDiscoGroup200Response | ValidateDiscoGroupDefaultResponse): response is ValidateDiscoGroupDefaultResponse;
|
|
12
|
+
export declare function isUnexpected(response: GetDiscoGroup200Response | GetDiscoGroupDefaultResponse): response is GetDiscoGroupDefaultResponse;
|
|
13
|
+
export declare function isUnexpected(response: CreateOrReplaceDiscoGroup200Response | CreateOrReplaceDiscoGroupDefaultResponse): response is CreateOrReplaceDiscoGroupDefaultResponse;
|
|
14
|
+
export declare function isUnexpected(response: RunDiscoGroup204Response | RunDiscoGroupDefaultResponse): response is RunDiscoGroupDefaultResponse;
|
|
15
|
+
export declare function isUnexpected(response: ListRuns200Response | ListRunsDefaultResponse): response is ListRunsDefaultResponse;
|
|
16
|
+
export declare function isUnexpected(response: ListDiscoTemplate200Response | ListDiscoTemplateDefaultResponse): response is ListDiscoTemplateDefaultResponse;
|
|
17
|
+
export declare function isUnexpected(response: GetDiscoTemplate200Response | GetDiscoTemplateDefaultResponse): response is GetDiscoTemplateDefaultResponse;
|
|
18
|
+
export declare function isUnexpected(response: GetBillable200Response | GetBillableDefaultResponse): response is GetBillableDefaultResponse;
|
|
19
|
+
export declare function isUnexpected(response: GetSnapshot200Response | GetSnapshotDefaultResponse): response is GetSnapshotDefaultResponse;
|
|
20
|
+
export declare function isUnexpected(response: GetSummary200Response | GetSummaryDefaultResponse): response is GetSummaryDefaultResponse;
|
|
21
|
+
export declare function isUnexpected(response: ListSavedFilter200Response | ListSavedFilterDefaultResponse): response is ListSavedFilterDefaultResponse;
|
|
22
|
+
export declare function isUnexpected(response: GetSavedFilter200Response | GetSavedFilterDefaultResponse): response is GetSavedFilterDefaultResponse;
|
|
23
|
+
export declare function isUnexpected(response: CreateOrReplaceSavedFilter200Response | CreateOrReplaceSavedFilterDefaultResponse): response is CreateOrReplaceSavedFilterDefaultResponse;
|
|
24
|
+
export declare function isUnexpected(response: DeleteSavedFilter204Response | DeleteSavedFilterDefaultResponse): response is DeleteSavedFilterDefaultResponse;
|
|
25
|
+
export declare function isUnexpected(response: ListTask200Response | ListTaskDefaultResponse): response is ListTaskDefaultResponse;
|
|
26
|
+
export declare function isUnexpected(response: GetTask200Response | GetTaskDefaultResponse): response is GetTaskDefaultResponse;
|
|
27
|
+
export declare function isUnexpected(response: CancelTask200Response | CancelTaskDefaultResponse): response is CancelTaskDefaultResponse;
|
|
28
|
+
//# sourceMappingURL=isUnexpected.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isUnexpected.d.ts","sourceRoot":"","sources":["../../src/isUnexpected.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.isUnexpected = isUnexpected;
|
|
6
|
+
const responseMap = {
|
|
7
|
+
"GET /assets": ["200"],
|
|
8
|
+
"POST /assets": ["200"],
|
|
9
|
+
"GET /assets/{assetId}": ["200"],
|
|
10
|
+
"GET /dataConnections": ["200"],
|
|
11
|
+
"POST /dataConnections:validate": ["200"],
|
|
12
|
+
"GET /dataConnections/{dataConnectionName}": ["200"],
|
|
13
|
+
"PUT /dataConnections/{dataConnectionName}": ["200"],
|
|
14
|
+
"DELETE /dataConnections/{dataConnectionName}": ["204"],
|
|
15
|
+
"GET /discoGroups": ["200"],
|
|
16
|
+
"POST /discoGroups:validate": ["200"],
|
|
17
|
+
"GET /discoGroups/{groupName}": ["200"],
|
|
18
|
+
"PUT /discoGroups/{groupName}": ["200"],
|
|
19
|
+
"POST /discoGroups/{groupName}:run": ["204"],
|
|
20
|
+
"GET /discoGroups/{groupName}/runs": ["200"],
|
|
21
|
+
"GET /discoTemplates": ["200"],
|
|
22
|
+
"GET /discoTemplates/{templateId}": ["200"],
|
|
23
|
+
"POST /reports/assets:getBillable": ["200"],
|
|
24
|
+
"POST /reports/assets:getSnapshot": ["200"],
|
|
25
|
+
"POST /reports/assets:getSummary": ["200"],
|
|
26
|
+
"GET /savedFilters": ["200"],
|
|
27
|
+
"GET /savedFilters/{filterName}": ["200"],
|
|
28
|
+
"PUT /savedFilters/{filterName}": ["200"],
|
|
29
|
+
"DELETE /savedFilters/{filterName}": ["204"],
|
|
30
|
+
"GET /tasks": ["200"],
|
|
31
|
+
"GET /tasks/{taskId}": ["200"],
|
|
32
|
+
"POST /tasks/{taskId}:cancel": ["200"],
|
|
33
|
+
};
|
|
34
|
+
function isUnexpected(response) {
|
|
35
|
+
const lroOriginal = response.headers["x-ms-original-url"];
|
|
36
|
+
const url = new URL(lroOriginal ?? response.request.url);
|
|
37
|
+
const method = response.request.method;
|
|
38
|
+
let pathDetails = responseMap[`${method} ${url.pathname}`];
|
|
39
|
+
if (!pathDetails) {
|
|
40
|
+
pathDetails = getParametrizedPathSuccess(method, url.pathname);
|
|
41
|
+
}
|
|
42
|
+
return !pathDetails.includes(response.status);
|
|
43
|
+
}
|
|
44
|
+
function getParametrizedPathSuccess(method, path) {
|
|
45
|
+
const pathParts = path.split("/");
|
|
46
|
+
// Traverse list to match the longest candidate
|
|
47
|
+
// matchedLen: the length of candidate path
|
|
48
|
+
// matchedValue: the matched status code array
|
|
49
|
+
let matchedLen = -1, matchedValue = [];
|
|
50
|
+
// Iterate the responseMap to find a match
|
|
51
|
+
for (const [key, value] of Object.entries(responseMap)) {
|
|
52
|
+
// Extracting the path from the map key which is in format
|
|
53
|
+
// GET /path/foo
|
|
54
|
+
if (!key.startsWith(method)) {
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
const candidatePath = getPathFromMapKey(key);
|
|
58
|
+
// Get each part of the url path
|
|
59
|
+
const candidateParts = candidatePath.split("/");
|
|
60
|
+
// track if we have found a match to return the values found.
|
|
61
|
+
let found = true;
|
|
62
|
+
for (let i = candidateParts.length - 1, j = pathParts.length - 1; i >= 1 && j >= 1; i--, j--) {
|
|
63
|
+
if (candidateParts[i]?.startsWith("{") && candidateParts[i]?.indexOf("}") !== -1) {
|
|
64
|
+
const start = candidateParts[i].indexOf("}") + 1, end = candidateParts[i]?.length;
|
|
65
|
+
// If the current part of the candidate is a "template" part
|
|
66
|
+
// Try to use the suffix of pattern to match the path
|
|
67
|
+
// {guid} ==> $
|
|
68
|
+
// {guid}:export ==> :export$
|
|
69
|
+
const isMatched = new RegExp(`${candidateParts[i]?.slice(start, end)}`).test(pathParts[j] || "");
|
|
70
|
+
if (!isMatched) {
|
|
71
|
+
found = false;
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
// If the candidate part is not a template and
|
|
77
|
+
// the parts don't match mark the candidate as not found
|
|
78
|
+
// to move on with the next candidate path.
|
|
79
|
+
if (candidateParts[i] !== pathParts[j]) {
|
|
80
|
+
found = false;
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// We finished evaluating the current candidate parts
|
|
85
|
+
// Update the matched value if and only if we found the longer pattern
|
|
86
|
+
if (found && candidatePath.length > matchedLen) {
|
|
87
|
+
matchedLen = candidatePath.length;
|
|
88
|
+
matchedValue = value;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return matchedValue;
|
|
92
|
+
}
|
|
93
|
+
function getPathFromMapKey(mapKey) {
|
|
94
|
+
const pathStart = mapKey.indexOf("/");
|
|
95
|
+
return mapKey.slice(pathStart);
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=isUnexpected.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isUnexpected.js","sourceRoot":"","sources":["../../src/isUnexpected.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AAoKlC,oCAyFC;AApMD,MAAM,WAAW,GAA6B;IAC5C,aAAa,EAAE,CAAC,KAAK,CAAC;IACtB,cAAc,EAAE,CAAC,KAAK,CAAC;IACvB,uBAAuB,EAAE,CAAC,KAAK,CAAC;IAChC,sBAAsB,EAAE,CAAC,KAAK,CAAC;IAC/B,gCAAgC,EAAE,CAAC,KAAK,CAAC;IACzC,2CAA2C,EAAE,CAAC,KAAK,CAAC;IACpD,2CAA2C,EAAE,CAAC,KAAK,CAAC;IACpD,8CAA8C,EAAE,CAAC,KAAK,CAAC;IACvD,kBAAkB,EAAE,CAAC,KAAK,CAAC;IAC3B,4BAA4B,EAAE,CAAC,KAAK,CAAC;IACrC,8BAA8B,EAAE,CAAC,KAAK,CAAC;IACvC,8BAA8B,EAAE,CAAC,KAAK,CAAC;IACvC,mCAAmC,EAAE,CAAC,KAAK,CAAC;IAC5C,mCAAmC,EAAE,CAAC,KAAK,CAAC;IAC5C,qBAAqB,EAAE,CAAC,KAAK,CAAC;IAC9B,kCAAkC,EAAE,CAAC,KAAK,CAAC;IAC3C,kCAAkC,EAAE,CAAC,KAAK,CAAC;IAC3C,kCAAkC,EAAE,CAAC,KAAK,CAAC;IAC3C,iCAAiC,EAAE,CAAC,KAAK,CAAC;IAC1C,mBAAmB,EAAE,CAAC,KAAK,CAAC;IAC5B,gCAAgC,EAAE,CAAC,KAAK,CAAC;IACzC,gCAAgC,EAAE,CAAC,KAAK,CAAC;IACzC,mCAAmC,EAAE,CAAC,KAAK,CAAC;IAC5C,YAAY,EAAE,CAAC,KAAK,CAAC;IACrB,qBAAqB,EAAE,CAAC,KAAK,CAAC;IAC9B,6BAA6B,EAAE,CAAC,KAAK,CAAC;CACvC,CAAC;AAgFF,SAAgB,YAAY,CAC1B,QAoD6B;IA4B7B,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;IACvC,IAAI,WAAW,GAAG,WAAW,CAAC,GAAG,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,WAAW,GAAG,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,0BAA0B,CAAC,MAAc,EAAE,IAAY;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAElC,+CAA+C;IAC/C,2CAA2C;IAC3C,8CAA8C;IAC9C,IAAI,UAAU,GAAG,CAAC,CAAC,EACjB,YAAY,GAAa,EAAE,CAAC;IAE9B,0CAA0C;IAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,0DAA0D;QAC1D,gBAAgB;QAChB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC7C,gCAAgC;QAChC,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEhD,6DAA6D;QAC7D,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7F,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjF,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAC/C,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;gBAClC,4DAA4D;gBAC5D,qDAAqD;gBACrD,eAAe;gBACf,6BAA6B;gBAC7B,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAC1E,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CACnB,CAAC;gBAEF,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,KAAK,GAAG,KAAK,CAAC;oBACd,MAAM;gBACR,CAAC;gBACD,SAAS;YACX,CAAC;YAED,8CAA8C;YAC9C,wDAAwD;YACxD,2CAA2C;YAC3C,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvC,KAAK,GAAG,KAAK,CAAC;gBACd,MAAM;YACR,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,sEAAsE;QACtE,IAAI,KAAK,IAAI,aAAa,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YAC/C,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;YAClC,YAAY,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc;IACvC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n ListAssetResource200Response,\n ListAssetResourceDefaultResponse,\n UpdateAssets200Response,\n UpdateAssetsDefaultResponse,\n GetAssetResource200Response,\n GetAssetResourceDefaultResponse,\n ListDataConnection200Response,\n ListDataConnectionDefaultResponse,\n ValidateDataConnection200Response,\n ValidateDataConnectionDefaultResponse,\n GetDataConnection200Response,\n GetDataConnectionDefaultResponse,\n CreateOrReplaceDataConnection200Response,\n CreateOrReplaceDataConnectionDefaultResponse,\n DeleteDataConnection204Response,\n DeleteDataConnectionDefaultResponse,\n ListDiscoGroup200Response,\n ListDiscoGroupDefaultResponse,\n ValidateDiscoGroup200Response,\n ValidateDiscoGroupDefaultResponse,\n GetDiscoGroup200Response,\n GetDiscoGroupDefaultResponse,\n CreateOrReplaceDiscoGroup200Response,\n CreateOrReplaceDiscoGroupDefaultResponse,\n RunDiscoGroup204Response,\n RunDiscoGroupDefaultResponse,\n ListRuns200Response,\n ListRunsDefaultResponse,\n ListDiscoTemplate200Response,\n ListDiscoTemplateDefaultResponse,\n GetDiscoTemplate200Response,\n GetDiscoTemplateDefaultResponse,\n GetBillable200Response,\n GetBillableDefaultResponse,\n GetSnapshot200Response,\n GetSnapshotDefaultResponse,\n GetSummary200Response,\n GetSummaryDefaultResponse,\n ListSavedFilter200Response,\n ListSavedFilterDefaultResponse,\n GetSavedFilter200Response,\n GetSavedFilterDefaultResponse,\n CreateOrReplaceSavedFilter200Response,\n CreateOrReplaceSavedFilterDefaultResponse,\n DeleteSavedFilter204Response,\n DeleteSavedFilterDefaultResponse,\n ListTask200Response,\n ListTaskDefaultResponse,\n GetTask200Response,\n GetTaskDefaultResponse,\n CancelTask200Response,\n CancelTaskDefaultResponse,\n} from \"./responses.js\";\n\nconst responseMap: Record<string, string[]> = {\n \"GET /assets\": [\"200\"],\n \"POST /assets\": [\"200\"],\n \"GET /assets/{assetId}\": [\"200\"],\n \"GET /dataConnections\": [\"200\"],\n \"POST /dataConnections:validate\": [\"200\"],\n \"GET /dataConnections/{dataConnectionName}\": [\"200\"],\n \"PUT /dataConnections/{dataConnectionName}\": [\"200\"],\n \"DELETE /dataConnections/{dataConnectionName}\": [\"204\"],\n \"GET /discoGroups\": [\"200\"],\n \"POST /discoGroups:validate\": [\"200\"],\n \"GET /discoGroups/{groupName}\": [\"200\"],\n \"PUT /discoGroups/{groupName}\": [\"200\"],\n \"POST /discoGroups/{groupName}:run\": [\"204\"],\n \"GET /discoGroups/{groupName}/runs\": [\"200\"],\n \"GET /discoTemplates\": [\"200\"],\n \"GET /discoTemplates/{templateId}\": [\"200\"],\n \"POST /reports/assets:getBillable\": [\"200\"],\n \"POST /reports/assets:getSnapshot\": [\"200\"],\n \"POST /reports/assets:getSummary\": [\"200\"],\n \"GET /savedFilters\": [\"200\"],\n \"GET /savedFilters/{filterName}\": [\"200\"],\n \"PUT /savedFilters/{filterName}\": [\"200\"],\n \"DELETE /savedFilters/{filterName}\": [\"204\"],\n \"GET /tasks\": [\"200\"],\n \"GET /tasks/{taskId}\": [\"200\"],\n \"POST /tasks/{taskId}:cancel\": [\"200\"],\n};\n\nexport function isUnexpected(\n response: ListAssetResource200Response | ListAssetResourceDefaultResponse,\n): response is ListAssetResourceDefaultResponse;\nexport function isUnexpected(\n response: UpdateAssets200Response | UpdateAssetsDefaultResponse,\n): response is UpdateAssetsDefaultResponse;\nexport function isUnexpected(\n response: GetAssetResource200Response | GetAssetResourceDefaultResponse,\n): response is GetAssetResourceDefaultResponse;\nexport function isUnexpected(\n response: ListDataConnection200Response | ListDataConnectionDefaultResponse,\n): response is ListDataConnectionDefaultResponse;\nexport function isUnexpected(\n response: ValidateDataConnection200Response | ValidateDataConnectionDefaultResponse,\n): response is ValidateDataConnectionDefaultResponse;\nexport function isUnexpected(\n response: GetDataConnection200Response | GetDataConnectionDefaultResponse,\n): response is GetDataConnectionDefaultResponse;\nexport function isUnexpected(\n response: CreateOrReplaceDataConnection200Response | CreateOrReplaceDataConnectionDefaultResponse,\n): response is CreateOrReplaceDataConnectionDefaultResponse;\nexport function isUnexpected(\n response: DeleteDataConnection204Response | DeleteDataConnectionDefaultResponse,\n): response is DeleteDataConnectionDefaultResponse;\nexport function isUnexpected(\n response: ListDiscoGroup200Response | ListDiscoGroupDefaultResponse,\n): response is ListDiscoGroupDefaultResponse;\nexport function isUnexpected(\n response: ValidateDiscoGroup200Response | ValidateDiscoGroupDefaultResponse,\n): response is ValidateDiscoGroupDefaultResponse;\nexport function isUnexpected(\n response: GetDiscoGroup200Response | GetDiscoGroupDefaultResponse,\n): response is GetDiscoGroupDefaultResponse;\nexport function isUnexpected(\n response: CreateOrReplaceDiscoGroup200Response | CreateOrReplaceDiscoGroupDefaultResponse,\n): response is CreateOrReplaceDiscoGroupDefaultResponse;\nexport function isUnexpected(\n response: RunDiscoGroup204Response | RunDiscoGroupDefaultResponse,\n): response is RunDiscoGroupDefaultResponse;\nexport function isUnexpected(\n response: ListRuns200Response | ListRunsDefaultResponse,\n): response is ListRunsDefaultResponse;\nexport function isUnexpected(\n response: ListDiscoTemplate200Response | ListDiscoTemplateDefaultResponse,\n): response is ListDiscoTemplateDefaultResponse;\nexport function isUnexpected(\n response: GetDiscoTemplate200Response | GetDiscoTemplateDefaultResponse,\n): response is GetDiscoTemplateDefaultResponse;\nexport function isUnexpected(\n response: GetBillable200Response | GetBillableDefaultResponse,\n): response is GetBillableDefaultResponse;\nexport function isUnexpected(\n response: GetSnapshot200Response | GetSnapshotDefaultResponse,\n): response is GetSnapshotDefaultResponse;\nexport function isUnexpected(\n response: GetSummary200Response | GetSummaryDefaultResponse,\n): response is GetSummaryDefaultResponse;\nexport function isUnexpected(\n response: ListSavedFilter200Response | ListSavedFilterDefaultResponse,\n): response is ListSavedFilterDefaultResponse;\nexport function isUnexpected(\n response: GetSavedFilter200Response | GetSavedFilterDefaultResponse,\n): response is GetSavedFilterDefaultResponse;\nexport function isUnexpected(\n response: CreateOrReplaceSavedFilter200Response | CreateOrReplaceSavedFilterDefaultResponse,\n): response is CreateOrReplaceSavedFilterDefaultResponse;\nexport function isUnexpected(\n response: DeleteSavedFilter204Response | DeleteSavedFilterDefaultResponse,\n): response is DeleteSavedFilterDefaultResponse;\nexport function isUnexpected(\n response: ListTask200Response | ListTaskDefaultResponse,\n): response is ListTaskDefaultResponse;\nexport function isUnexpected(\n response: GetTask200Response | GetTaskDefaultResponse,\n): response is GetTaskDefaultResponse;\nexport function isUnexpected(\n response: CancelTask200Response | CancelTaskDefaultResponse,\n): response is CancelTaskDefaultResponse;\nexport function isUnexpected(\n response:\n | ListAssetResource200Response\n | ListAssetResourceDefaultResponse\n | UpdateAssets200Response\n | UpdateAssetsDefaultResponse\n | GetAssetResource200Response\n | GetAssetResourceDefaultResponse\n | ListDataConnection200Response\n | ListDataConnectionDefaultResponse\n | ValidateDataConnection200Response\n | ValidateDataConnectionDefaultResponse\n | GetDataConnection200Response\n | GetDataConnectionDefaultResponse\n | CreateOrReplaceDataConnection200Response\n | CreateOrReplaceDataConnectionDefaultResponse\n | DeleteDataConnection204Response\n | DeleteDataConnectionDefaultResponse\n | ListDiscoGroup200Response\n | ListDiscoGroupDefaultResponse\n | ValidateDiscoGroup200Response\n | ValidateDiscoGroupDefaultResponse\n | GetDiscoGroup200Response\n | GetDiscoGroupDefaultResponse\n | CreateOrReplaceDiscoGroup200Response\n | CreateOrReplaceDiscoGroupDefaultResponse\n | RunDiscoGroup204Response\n | RunDiscoGroupDefaultResponse\n | ListRuns200Response\n | ListRunsDefaultResponse\n | ListDiscoTemplate200Response\n | ListDiscoTemplateDefaultResponse\n | GetDiscoTemplate200Response\n | GetDiscoTemplateDefaultResponse\n | GetBillable200Response\n | GetBillableDefaultResponse\n | GetSnapshot200Response\n | GetSnapshotDefaultResponse\n | GetSummary200Response\n | GetSummaryDefaultResponse\n | ListSavedFilter200Response\n | ListSavedFilterDefaultResponse\n | GetSavedFilter200Response\n | GetSavedFilterDefaultResponse\n | CreateOrReplaceSavedFilter200Response\n | CreateOrReplaceSavedFilterDefaultResponse\n | DeleteSavedFilter204Response\n | DeleteSavedFilterDefaultResponse\n | ListTask200Response\n | ListTaskDefaultResponse\n | GetTask200Response\n | GetTaskDefaultResponse\n | CancelTask200Response\n | CancelTaskDefaultResponse,\n): response is\n | ListAssetResourceDefaultResponse\n | UpdateAssetsDefaultResponse\n | GetAssetResourceDefaultResponse\n | ListDataConnectionDefaultResponse\n | ValidateDataConnectionDefaultResponse\n | GetDataConnectionDefaultResponse\n | CreateOrReplaceDataConnectionDefaultResponse\n | DeleteDataConnectionDefaultResponse\n | ListDiscoGroupDefaultResponse\n | ValidateDiscoGroupDefaultResponse\n | GetDiscoGroupDefaultResponse\n | CreateOrReplaceDiscoGroupDefaultResponse\n | RunDiscoGroupDefaultResponse\n | ListRunsDefaultResponse\n | ListDiscoTemplateDefaultResponse\n | GetDiscoTemplateDefaultResponse\n | GetBillableDefaultResponse\n | GetSnapshotDefaultResponse\n | GetSummaryDefaultResponse\n | ListSavedFilterDefaultResponse\n | GetSavedFilterDefaultResponse\n | CreateOrReplaceSavedFilterDefaultResponse\n | DeleteSavedFilterDefaultResponse\n | ListTaskDefaultResponse\n | GetTaskDefaultResponse\n | CancelTaskDefaultResponse {\n const lroOriginal = response.headers[\"x-ms-original-url\"];\n const url = new URL(lroOriginal ?? response.request.url);\n const method = response.request.method;\n let pathDetails = responseMap[`${method} ${url.pathname}`];\n if (!pathDetails) {\n pathDetails = getParametrizedPathSuccess(method, url.pathname);\n }\n return !pathDetails.includes(response.status);\n}\n\nfunction getParametrizedPathSuccess(method: string, path: string): string[] {\n const pathParts = path.split(\"/\");\n\n // Traverse list to match the longest candidate\n // matchedLen: the length of candidate path\n // matchedValue: the matched status code array\n let matchedLen = -1,\n matchedValue: string[] = [];\n\n // Iterate the responseMap to find a match\n for (const [key, value] of Object.entries(responseMap)) {\n // Extracting the path from the map key which is in format\n // GET /path/foo\n if (!key.startsWith(method)) {\n continue;\n }\n const candidatePath = getPathFromMapKey(key);\n // Get each part of the url path\n const candidateParts = candidatePath.split(\"/\");\n\n // track if we have found a match to return the values found.\n let found = true;\n for (let i = candidateParts.length - 1, j = pathParts.length - 1; i >= 1 && j >= 1; i--, j--) {\n if (candidateParts[i]?.startsWith(\"{\") && candidateParts[i]?.indexOf(\"}\") !== -1) {\n const start = candidateParts[i]!.indexOf(\"}\") + 1,\n end = candidateParts[i]?.length;\n // If the current part of the candidate is a \"template\" part\n // Try to use the suffix of pattern to match the path\n // {guid} ==> $\n // {guid}:export ==> :export$\n const isMatched = new RegExp(`${candidateParts[i]?.slice(start, end)}`).test(\n pathParts[j] || \"\",\n );\n\n if (!isMatched) {\n found = false;\n break;\n }\n continue;\n }\n\n // If the candidate part is not a template and\n // the parts don't match mark the candidate as not found\n // to move on with the next candidate path.\n if (candidateParts[i] !== pathParts[j]) {\n found = false;\n break;\n }\n }\n\n // We finished evaluating the current candidate parts\n // Update the matched value if and only if we found the longer pattern\n if (found && candidatePath.length > matchedLen) {\n matchedLen = candidatePath.length;\n matchedValue = value;\n }\n }\n\n return matchedValue;\n}\n\nfunction getPathFromMapKey(mapKey: string): string {\n const pathStart = mapKey.indexOf(\"/\");\n return mapKey.slice(pathStart);\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM,qCAAsC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.logger = void 0;
|
|
6
|
+
const logger_1 = require("@azure/logger");
|
|
7
|
+
exports.logger = (0, logger_1.createClientLogger)("defender-easm");
|
|
8
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,0CAAmD;AACtC,QAAA,MAAM,GAAG,IAAA,2BAAkB,EAAC,eAAe,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { createClientLogger } from \"@azure/logger\";\nexport const logger = createClientLogger(\"defender-easm\");\n"]}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/** A request body used to update an asset. */
|
|
2
|
+
export interface AssetUpdateData {
|
|
3
|
+
/**
|
|
4
|
+
* The state to update the asset to.
|
|
5
|
+
*
|
|
6
|
+
* Possible values: "candidate", "confirmed", "dismissed", "candidateInvestigate", "associatedPartner", "associatedThirdparty"
|
|
7
|
+
*/
|
|
8
|
+
state?: AssetUpdateState;
|
|
9
|
+
/** A string which can be used to identify the asset in external systems. */
|
|
10
|
+
externalId?: string;
|
|
11
|
+
/** Any Labels to update the asset with. */
|
|
12
|
+
labels?: Record<string, boolean>;
|
|
13
|
+
/**
|
|
14
|
+
* A list of asset types to cascade the updates to.
|
|
15
|
+
*
|
|
16
|
+
* Possible values: "as", "contact", "domain", "host", "ipAddress", "ipBlock", "page", "sslCert"
|
|
17
|
+
*/
|
|
18
|
+
transfers?: AssetUpdateTransfers;
|
|
19
|
+
}
|
|
20
|
+
export interface LogAnalyticsDataConnectionData extends DataConnectionDataParent {
|
|
21
|
+
/** The kind of DataConnectionData */
|
|
22
|
+
kind: "logAnalytics";
|
|
23
|
+
/** properties */
|
|
24
|
+
properties: LogAnalyticsDataConnectionProperties;
|
|
25
|
+
}
|
|
26
|
+
export interface AzureDataExplorerDataConnectionData extends DataConnectionDataParent {
|
|
27
|
+
/** The kind of DataConnectionData */
|
|
28
|
+
kind: "azureDataExplorer";
|
|
29
|
+
/** properties */
|
|
30
|
+
properties: AzureDataExplorerDataConnectionProperties;
|
|
31
|
+
}
|
|
32
|
+
/** LogAnalyticsDataConnectionProperties */
|
|
33
|
+
export interface LogAnalyticsDataConnectionProperties extends DataConnectionProperties {
|
|
34
|
+
/** log analytics api key */
|
|
35
|
+
apiKey?: string;
|
|
36
|
+
/** log analytics workspace id */
|
|
37
|
+
workspaceId?: string;
|
|
38
|
+
}
|
|
39
|
+
/** DataConnectionProperties */
|
|
40
|
+
export interface DataConnectionProperties {
|
|
41
|
+
}
|
|
42
|
+
/** AzureDataExplorerDataConnectionProperties */
|
|
43
|
+
export interface AzureDataExplorerDataConnectionProperties extends DataConnectionProperties {
|
|
44
|
+
/** The azure data explorer cluster name */
|
|
45
|
+
clusterName?: string;
|
|
46
|
+
/** The azure data explorer region */
|
|
47
|
+
region?: string;
|
|
48
|
+
/** The azure data explorer database name */
|
|
49
|
+
databaseName?: string;
|
|
50
|
+
}
|
|
51
|
+
export interface DataConnectionDataParent {
|
|
52
|
+
/** The name of data connection */
|
|
53
|
+
name?: string;
|
|
54
|
+
/**
|
|
55
|
+
* The type of data the data connection will transfer.
|
|
56
|
+
*
|
|
57
|
+
* Possible values: "assets", "attackSurfaceInsights"
|
|
58
|
+
*/
|
|
59
|
+
content?: DataConnectionContent;
|
|
60
|
+
/**
|
|
61
|
+
* The rate at which the data connection will receive updates.
|
|
62
|
+
*
|
|
63
|
+
* Possible values: "daily", "weekly", "monthly"
|
|
64
|
+
*/
|
|
65
|
+
frequency?: DataConnectionFrequency;
|
|
66
|
+
/** The day to update the data connection on. (1-7 for weekly, 1-31 for monthly) */
|
|
67
|
+
frequencyOffset?: number;
|
|
68
|
+
kind: string;
|
|
69
|
+
}
|
|
70
|
+
/** Source entity used to drive discovery. */
|
|
71
|
+
export interface DiscoSource {
|
|
72
|
+
/**
|
|
73
|
+
* The kind of disco source.
|
|
74
|
+
*
|
|
75
|
+
* Possible values: "as", "attribute", "contact", "domain", "host", "ipBlock"
|
|
76
|
+
*/
|
|
77
|
+
kind?: DiscoSourceKind;
|
|
78
|
+
/** The name for the disco source. */
|
|
79
|
+
name?: string;
|
|
80
|
+
}
|
|
81
|
+
/** A request body used to create a discovery group. */
|
|
82
|
+
export interface DiscoGroupData {
|
|
83
|
+
/** The name for a disco group. */
|
|
84
|
+
name?: string;
|
|
85
|
+
/** The description for a disco group. */
|
|
86
|
+
description?: string;
|
|
87
|
+
/** The tier for the disco group which will affect the algorithm used for the disco runs in this group. */
|
|
88
|
+
tier?: string;
|
|
89
|
+
/** The frequency at which the disco group is supposed to be rerun in milliseconds. */
|
|
90
|
+
frequencyMilliseconds?: number;
|
|
91
|
+
/** The list of seeds used for the disco group runs. */
|
|
92
|
+
seeds?: Array<DiscoSource>;
|
|
93
|
+
/** The list of names used for the disco group runs. */
|
|
94
|
+
names?: string[];
|
|
95
|
+
/** The list of excludes used for the disco group runs, aka assets to exclude from the discovery algorithm. */
|
|
96
|
+
excludes?: Array<DiscoSource>;
|
|
97
|
+
/** The unique identifier for the disco template used for the disco group creation. */
|
|
98
|
+
templateId?: string;
|
|
99
|
+
}
|
|
100
|
+
/** A request body used to retrieve an asset report snapshot. */
|
|
101
|
+
export interface ReportAssetSnapshotRequest {
|
|
102
|
+
/** The metric to retrieve a snapshot for. */
|
|
103
|
+
metric?: string;
|
|
104
|
+
/** The name of the label to retrieve a snapshot for. */
|
|
105
|
+
labelName?: string;
|
|
106
|
+
/** The number of assets per page. */
|
|
107
|
+
size?: number;
|
|
108
|
+
/** The page to retrieve. */
|
|
109
|
+
page?: number;
|
|
110
|
+
}
|
|
111
|
+
/** A request body used to retrieve summary asset information. One and only one collection of summary identifiers must be provided: filters, metrics, or metricCategories. */
|
|
112
|
+
export interface ReportAssetSummaryRequest {
|
|
113
|
+
/** Categories to retrieve risk reporting data for. */
|
|
114
|
+
metricCategories?: string[];
|
|
115
|
+
/** Metrics to retrieve risk reporting data for. */
|
|
116
|
+
metrics?: string[];
|
|
117
|
+
/** Query filters to apply to the asset summary. */
|
|
118
|
+
filters?: string[];
|
|
119
|
+
/** A parameter to group the assets by (first level facet field), only used when the chosen summary identifier is filters. */
|
|
120
|
+
groupBy?: string;
|
|
121
|
+
/** A parameter to segment the assets by (second level facet field), only used when the chosen summary identifier is filters. */
|
|
122
|
+
segmentBy?: string;
|
|
123
|
+
/** Currently unused. */
|
|
124
|
+
labelName?: string;
|
|
125
|
+
}
|
|
126
|
+
/** A request body used to create a saved filter. */
|
|
127
|
+
export interface SavedFilterData {
|
|
128
|
+
/** An expression on the resource type that selects the resources to be returned. */
|
|
129
|
+
filter: string;
|
|
130
|
+
/** A human readable description of the saved filter. */
|
|
131
|
+
description: string;
|
|
132
|
+
}
|
|
133
|
+
export type DataConnectionData = DataConnectionDataParent | LogAnalyticsDataConnectionData | AzureDataExplorerDataConnectionData;
|
|
134
|
+
/** Alias for AssetUpdateState */
|
|
135
|
+
export type AssetUpdateState = string;
|
|
136
|
+
/** Alias for AssetUpdateTransfers */
|
|
137
|
+
export type AssetUpdateTransfers = string;
|
|
138
|
+
/** Alias for DataConnectionContent */
|
|
139
|
+
export type DataConnectionContent = string;
|
|
140
|
+
/** Alias for DataConnectionFrequency */
|
|
141
|
+
export type DataConnectionFrequency = string;
|
|
142
|
+
/** Alias for DiscoSourceKind */
|
|
143
|
+
export type DiscoSourceKind = string;
|
|
144
|
+
//# sourceMappingURL=models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/** A request body used to update an asset. */\nexport interface AssetUpdateData {\n /**\n * The state to update the asset to.\n *\n * Possible values: \"candidate\", \"confirmed\", \"dismissed\", \"candidateInvestigate\", \"associatedPartner\", \"associatedThirdparty\"\n */\n state?: AssetUpdateState;\n /** A string which can be used to identify the asset in external systems. */\n externalId?: string;\n /** Any Labels to update the asset with. */\n labels?: Record<string, boolean>;\n /**\n * A list of asset types to cascade the updates to.\n *\n * Possible values: \"as\", \"contact\", \"domain\", \"host\", \"ipAddress\", \"ipBlock\", \"page\", \"sslCert\"\n */\n transfers?: AssetUpdateTransfers;\n}\n\nexport interface LogAnalyticsDataConnectionData extends DataConnectionDataParent {\n /** The kind of DataConnectionData */\n kind: \"logAnalytics\";\n /** properties */\n properties: LogAnalyticsDataConnectionProperties;\n}\n\nexport interface AzureDataExplorerDataConnectionData extends DataConnectionDataParent {\n /** The kind of DataConnectionData */\n kind: \"azureDataExplorer\";\n /** properties */\n properties: AzureDataExplorerDataConnectionProperties;\n}\n\n/** LogAnalyticsDataConnectionProperties */\nexport interface LogAnalyticsDataConnectionProperties extends DataConnectionProperties {\n /** log analytics api key */\n apiKey?: string;\n /** log analytics workspace id */\n workspaceId?: string;\n}\n\n/** DataConnectionProperties */\nexport interface DataConnectionProperties {}\n\n/** AzureDataExplorerDataConnectionProperties */\nexport interface AzureDataExplorerDataConnectionProperties extends DataConnectionProperties {\n /** The azure data explorer cluster name */\n clusterName?: string;\n /** The azure data explorer region */\n region?: string;\n /** The azure data explorer database name */\n databaseName?: string;\n}\n\nexport interface DataConnectionDataParent {\n /** The name of data connection */\n name?: string;\n /**\n * The type of data the data connection will transfer.\n *\n * Possible values: \"assets\", \"attackSurfaceInsights\"\n */\n content?: DataConnectionContent;\n /**\n * The rate at which the data connection will receive updates.\n *\n * Possible values: \"daily\", \"weekly\", \"monthly\"\n */\n frequency?: DataConnectionFrequency;\n /** The day to update the data connection on. (1-7 for weekly, 1-31 for monthly) */\n frequencyOffset?: number;\n kind: string;\n}\n\n/** Source entity used to drive discovery. */\nexport interface DiscoSource {\n /**\n * The kind of disco source.\n *\n * Possible values: \"as\", \"attribute\", \"contact\", \"domain\", \"host\", \"ipBlock\"\n */\n kind?: DiscoSourceKind;\n /** The name for the disco source. */\n name?: string;\n}\n\n/** A request body used to create a discovery group. */\nexport interface DiscoGroupData {\n /** The name for a disco group. */\n name?: string;\n /** The description for a disco group. */\n description?: string;\n /** The tier for the disco group which will affect the algorithm used for the disco runs in this group. */\n tier?: string;\n /** The frequency at which the disco group is supposed to be rerun in milliseconds. */\n frequencyMilliseconds?: number;\n /** The list of seeds used for the disco group runs. */\n seeds?: Array<DiscoSource>;\n /** The list of names used for the disco group runs. */\n names?: string[];\n /** The list of excludes used for the disco group runs, aka assets to exclude from the discovery algorithm. */\n excludes?: Array<DiscoSource>;\n /** The unique identifier for the disco template used for the disco group creation. */\n templateId?: string;\n}\n\n/** A request body used to retrieve an asset report snapshot. */\nexport interface ReportAssetSnapshotRequest {\n /** The metric to retrieve a snapshot for. */\n metric?: string;\n /** The name of the label to retrieve a snapshot for. */\n labelName?: string;\n /** The number of assets per page. */\n size?: number;\n /** The page to retrieve. */\n page?: number;\n}\n\n/** A request body used to retrieve summary asset information. One and only one collection of summary identifiers must be provided: filters, metrics, or metricCategories. */\nexport interface ReportAssetSummaryRequest {\n /** Categories to retrieve risk reporting data for. */\n metricCategories?: string[];\n /** Metrics to retrieve risk reporting data for. */\n metrics?: string[];\n /** Query filters to apply to the asset summary. */\n filters?: string[];\n /** A parameter to group the assets by (first level facet field), only used when the chosen summary identifier is filters. */\n groupBy?: string;\n /** A parameter to segment the assets by (second level facet field), only used when the chosen summary identifier is filters. */\n segmentBy?: string;\n /** Currently unused. */\n labelName?: string;\n}\n\n/** A request body used to create a saved filter. */\nexport interface SavedFilterData {\n /** An expression on the resource type that selects the resources to be returned. */\n filter: string;\n /** A human readable description of the saved filter. */\n description: string;\n}\n\nexport type DataConnectionData =\n | DataConnectionDataParent\n | LogAnalyticsDataConnectionData\n | AzureDataExplorerDataConnectionData;\n/** Alias for AssetUpdateState */\nexport type AssetUpdateState = string;\n/** Alias for AssetUpdateTransfers */\nexport type AssetUpdateTransfers = string;\n/** Alias for DataConnectionContent */\nexport type DataConnectionContent = string;\n/** Alias for DataConnectionFrequency */\nexport type DataConnectionFrequency = string;\n/** Alias for DiscoSourceKind */\nexport type DiscoSourceKind = string;\n"]}
|