From 1eb76a30ba15980cdf48c74c823b8e37e664992a Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Thu, 7 Apr 2022 02:03:44 +0000 Subject: [PATCH] CodeGen from PR 18540 in Azure/azure-rest-api-specs Merge 94fa4f1d44c7276397b4732d1f1d9c6b04367334 into d521635d9d9543c0dab932d9d4b7911dcee1de3b --- common/config/rush/pnpm-lock.yaml | 73 ++-- .../arm-securityinsight/CHANGELOG.md | 40 ++ .../arm-securityinsight/README.md | 11 - .../arm-securityinsight/_meta.json | 8 +- .../arm-securityinsight/package.json | 34 +- .../review/arm-securityinsight.api.md | 172 +++++++- .../arm-securityinsight/rollup.config.js | 78 +++- .../arm-securityinsight/src/lroImpl.ts | 34 ++ .../arm-securityinsight/src/models/index.ts | 307 +++++++++++++- .../arm-securityinsight/src/models/mappers.ts | 214 +++++++++- .../src/models/parameters.ts | 19 +- .../src/operations/fileImports.ts | 393 ++++++++++++++++++ .../src/operations/index.ts | 1 + .../src/operationsInterfaces/fileImports.ts | 89 ++++ .../src/operationsInterfaces/index.ts | 1 + .../src/securityInsights.ts | 8 +- .../arm-securityinsight/tsconfig.json | 10 +- 17 files changed, 1376 insertions(+), 116 deletions(-) create mode 100644 sdk/securityinsight/arm-securityinsight/src/lroImpl.ts create mode 100644 sdk/securityinsight/arm-securityinsight/src/operations/fileImports.ts create mode 100644 sdk/securityinsight/arm-securityinsight/src/operationsInterfaces/fileImports.ts diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index d726c63b064d..d02037b73307 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -965,7 +965,7 @@ packages: resolution: {integrity: sha512-Q71Buur3RMcg6lCnisLL8Im562DBw+ybzgm+YQj/FbAaI8ZNu/zl/5z1fE4k3Q9LSIzYrz6HLRzlhdSBXpydlQ==} engines: {node: '>=8.0.0'} dependencies: - '@azure/core-http': 1.2.3 + '@azure/core-http': 1.2.6 '@azure/core-tracing': 1.0.0-preview.9 '@azure/logger': 1.0.3 '@azure/msal-node': 1.0.0-beta.6_debug@4.3.4 @@ -2227,7 +2227,7 @@ packages: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: '@types/connect': 3.4.35 - '@types/node': 12.20.47 + '@types/node': 17.0.23 dev: false /@types/chai-as-promised/7.1.5: @@ -2253,14 +2253,14 @@ packages: /@types/concurrently/6.4.0: resolution: {integrity: sha512-CYU1eyFHsIa2IZIsb8gfUOdiewfnZcyM2Hg1Zaq95xnmB0Ix/bTRM8SttqZ2Cjy6JGPZLttHjZewVsDg1yvnJg==} dependencies: - '@types/node': 12.20.47 + '@types/node': 17.0.23 chalk: 4.1.2 dev: false /@types/connect/3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 12.20.47 + '@types/node': 17.0.23 dev: false /@types/cookie/0.4.1: @@ -2295,7 +2295,7 @@ packages: /@types/express-serve-static-core/4.17.28: resolution: {integrity: sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==} dependencies: - '@types/node': 12.20.47 + '@types/node': 17.0.23 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 dev: false @@ -2312,26 +2312,26 @@ packages: /@types/fs-extra/8.1.2: resolution: {integrity: sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==} dependencies: - '@types/node': 12.20.47 + '@types/node': 17.0.23 dev: false /@types/fs-extra/9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: - '@types/node': 12.20.47 + '@types/node': 17.0.23 dev: false /@types/glob/7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 3.0.5 - '@types/node': 12.20.47 + '@types/node': 17.0.23 dev: false /@types/is-buffer/2.0.0: resolution: {integrity: sha512-0f7N/e3BAz32qDYvgB4d2cqv1DqUwvGxHkXsrucICn8la1Vb6Yl6Eg8mPScGwUiqHJeE7diXlzaK+QMA9m4Gxw==} dependencies: - '@types/node': 12.20.47 + '@types/node': 17.0.23 dev: false /@types/json-schema/7.0.11: @@ -2345,13 +2345,13 @@ packages: /@types/jsonwebtoken/8.5.8: resolution: {integrity: sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==} dependencies: - '@types/node': 12.20.47 + '@types/node': 17.0.23 dev: false /@types/jws/3.2.4: resolution: {integrity: sha512-aqtH4dPw1wUjFZaeMD1ak/pf8iXlu/odFe+trJrvw0g1sTh93i+SCykg0Ek8C6B7rVK3oBORbfZAsKO7P10etg==} dependencies: - '@types/node': 12.20.47 + '@types/node': 17.0.23 dev: false /@types/long/4.0.1: @@ -2395,13 +2395,13 @@ packages: /@types/mock-fs/4.13.1: resolution: {integrity: sha512-m6nFAJ3lBSnqbvDZioawRvpLXSaPyn52Srf7OfzjubYbYX8MTUdIgDxQl0wEapm4m/pNYSd9TXocpQ0TvZFlYA==} dependencies: - '@types/node': 12.20.47 + '@types/node': 17.0.23 dev: false /@types/mock-require/2.0.1: resolution: {integrity: sha512-O7U5DVGboY/Crueb5/huUCIRjKtRVRaLmRDbZJBlDQgJn966z3aiFDN+6AtYviu2ExwMkl34LjT/IiC0OPtKuQ==} dependencies: - '@types/node': 12.20.47 + '@types/node': 17.0.23 dev: false /@types/ms/0.7.31: @@ -2415,7 +2415,7 @@ packages: /@types/node-fetch/2.6.1: resolution: {integrity: sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA==} dependencies: - '@types/node': 12.20.47 + '@types/node': 17.0.23 form-data: 3.0.1 dev: false @@ -2465,7 +2465,7 @@ packages: resolution: {integrity: sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==} dependencies: '@types/mime': 1.3.2 - '@types/node': 12.20.47 + '@types/node': 17.0.23 dev: false /@types/sinon/10.0.11: @@ -2487,7 +2487,7 @@ packages: /@types/stoppable/1.1.1: resolution: {integrity: sha512-b8N+fCADRIYYrGZOcmOR8ZNBOqhktWTB/bMUl5LvGtT201QKJZOOH5UsFyI3qtteM6ZAJbJqZoBcLqqxKIwjhw==} dependencies: - '@types/node': 12.20.47 + '@types/node': 17.0.23 dev: false /@types/tough-cookie/4.0.1: @@ -2497,13 +2497,13 @@ packages: /@types/tunnel/0.0.1: resolution: {integrity: sha512-AOqu6bQu5MSWwYvehMXLukFHnupHrpZ8nvgae5Ggie9UwzDR1CCwoXgSSWNZJuyOlCdfdsWMA5F2LlmvyoTv8A==} dependencies: - '@types/node': 12.20.47 + '@types/node': 17.0.23 dev: false /@types/tunnel/0.0.3: resolution: {integrity: sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==} dependencies: - '@types/node': 12.20.47 + '@types/node': 17.0.23 dev: false /@types/underscore/1.11.4: @@ -2521,26 +2521,26 @@ packages: /@types/ws/7.4.7: resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} dependencies: - '@types/node': 12.20.47 + '@types/node': 17.0.23 dev: false /@types/ws/8.5.3: resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} dependencies: - '@types/node': 12.20.47 + '@types/node': 17.0.23 dev: false /@types/xml2js/0.4.9: resolution: {integrity: sha512-CHiCKIihl1pychwR2RNX5mAYmJDACgFVCMT5OArMaO3erzwXVcBqPcusr+Vl8yeeXukxZqtF8mZioqX+mpjjdw==} dependencies: - '@types/node': 12.20.47 + '@types/node': 17.0.23 dev: false /@types/yauzl/2.9.2: resolution: {integrity: sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==} requiresBuild: true dependencies: - '@types/node': 12.20.47 + '@types/node': 17.0.23 dev: false optional: true @@ -3527,7 +3527,7 @@ packages: resolution: {integrity: sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==} deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) dependencies: - ms: 2.1.1 + ms: 2.1.3 dev: false /debug/3.2.7: @@ -3730,7 +3730,7 @@ packages: dependencies: semver: 7.3.6 shelljs: 0.8.5 - typescript: 4.2.4 + typescript: 4.5.5 dev: false /ecdsa-sig-formatter/1.0.11: @@ -3783,7 +3783,7 @@ packages: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.12 - '@types/node': 12.20.47 + '@types/node': 17.0.23 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 @@ -4624,7 +4624,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.0.4 + minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 dev: false @@ -8469,7 +8469,7 @@ packages: /wide-align/1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: - string-width: 1.0.2 + string-width: 4.2.3 dev: false /word-wrap/1.2.3: @@ -9827,7 +9827,7 @@ packages: dev: false file:projects/arm-compute.tgz: - resolution: {integrity: sha512-okUIINibMfByOcF/XtlGLbDsZYz05n1qBM0dA/a+Eo5/KabGmUsCDe+/Ycn2GigMHSPojpuMLGsAnhRaCqe1Rw==, tarball: file:projects/arm-compute.tgz} + resolution: {integrity: sha512-SXG1OOPxmuDjfmHhCOcG31GII1K7GgOEgaWBJ1ljPTcUIHkI9dVHelhX9hgUh5GOlGLpQlC6UYp6PKlJE4JVXA==, tarball: file:projects/arm-compute.tgz} name: '@rush-temp/arm-compute' version: 0.0.0 dependencies: @@ -12747,28 +12747,27 @@ packages: dev: false file:projects/arm-securityinsight.tgz: - resolution: {integrity: sha512-J2OXsqFExX+YmAcyFU4UKx8cuVOpPzfa5q0f2UoJGKCuxvwCSTJrLsviS42L04e4x1BX9UsbU+MnQB0lLFsFZg==, tarball: file:projects/arm-securityinsight.tgz} + resolution: {integrity: sha512-nDI3ux7Q4n7Jx3WADKu6QIoe0kmyUyFNCNFYQfZMLQNrreWSlTHNY43vzy3/w/q3Hnc49ronYl/MyMcniQMMjg==, tarball: file:projects/arm-securityinsight.tgz} name: '@rush-temp/arm-securityinsight' version: 0.0.0 dependencies: '@azure-tools/test-recorder': 1.0.2 '@azure/identity': 2.0.4 '@microsoft/api-extractor': 7.20.0 - '@rollup/plugin-commonjs': 21.0.3_rollup@2.70.1 - '@rollup/plugin-json': 4.1.0_rollup@2.70.1 - '@rollup/plugin-multi-entry': 4.1.0_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 + '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 + '@rollup/plugin-json': 4.1.0_rollup@1.32.1 + '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 + '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 cross-env: 7.0.3 mkdirp: 1.0.4 mocha: 7.2.0 rimraf: 3.0.2 - rollup: 2.70.1 - rollup-plugin-sourcemaps: 0.6.3_rollup@2.70.1 + rollup: 1.32.1 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 tslib: 2.3.1 typescript: 4.2.4 uglify-js: 3.15.3 transitivePeerDependencies: - - '@types/node' - debug - encoding - supports-color @@ -16519,7 +16518,7 @@ packages: dev: false file:projects/schema-registry.tgz: - resolution: {integrity: sha512-aCzHzXCe1KSsts+Lrsm8CFbEVlGVvq/B4+x1pJWvMLbXEMwIZ0ANnITfSiyBjqowZRt6HxazAk3pVR6QovIv+g==, tarball: file:projects/schema-registry.tgz} + resolution: {integrity: sha512-YR7NND+QgROSxRzMGYKwVSzsdVe9kL0wC/KH8Aq2xXnLAA5YhuhHZsPvGR4wLXC7Q9fL4X7hGAF3m1bjRNVdsQ==, tarball: file:projects/schema-registry.tgz} name: '@rush-temp/schema-registry' version: 0.0.0 dependencies: diff --git a/sdk/securityinsight/arm-securityinsight/CHANGELOG.md b/sdk/securityinsight/arm-securityinsight/CHANGELOG.md index c311a6799bab..4948b4ebd503 100644 --- a/sdk/securityinsight/arm-securityinsight/CHANGELOG.md +++ b/sdk/securityinsight/arm-securityinsight/CHANGELOG.md @@ -1,5 +1,45 @@ # Release History +## 1.0.0-beta.3 (2022-04-07) + +**Features** + + - Added operation group FileImports + - Added Interface FileImportList + - Added Interface FileImportsCreateOptionalParams + - Added Interface FileImportsDeleteOptionalParams + - Added Interface FileImportsGetOptionalParams + - Added Interface FileImportsListNextOptionalParams + - Added Interface FileImportsListOptionalParams + - Added Interface FileMetadata + - Added Interface ValidationError + - Added Type Alias DeleteStatus + - Added Type Alias EntityProviders + - Added Type Alias FileFormat + - Added Type Alias FileImport + - Added Type Alias FileImportContentType + - Added Type Alias FileImportsCreateResponse + - Added Type Alias FileImportsGetResponse + - Added Type Alias FileImportsListNextResponse + - Added Type Alias FileImportsListResponse + - Added Type Alias FileImportState + - Added Type Alias IngestionMode + - Class SecurityInsights has a new parameter fileImports + - Type Alias EntityAnalytics has a new parameter entityProviders + - Added Enum KnownDeleteStatus + - Added Enum KnownEntityProviders + - Added Enum KnownFileFormat + - Added Enum KnownFileImportContentType + - Added Enum KnownFileImportState + - Added Enum KnownIngestionMode + +**Breaking Changes** + + - Type Alias EntityAnalytics no longer has parameter isEnabled + - Type Alias WatchlistItem no longer has parameter itemsKeyValue + - Type Alias WatchlistItem no longer has parameter entityMapping + + ## 1.0.0-beta.2 (2022-03-17) **Features** diff --git a/sdk/securityinsight/arm-securityinsight/README.md b/sdk/securityinsight/arm-securityinsight/README.md index 1035849b20ee..6d7ac3813890 100644 --- a/sdk/securityinsight/arm-securityinsight/README.md +++ b/sdk/securityinsight/arm-securityinsight/README.md @@ -16,8 +16,6 @@ API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provi - [LTS versions of Node.js](https://nodejs.org/about/releases/) - Latest versions of Safari, Chrome, Edge and Firefox. -See our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. - ### Prerequisites - An [Azure subscription][azure_sub]. @@ -51,17 +49,8 @@ For more information about how to create an Azure AD Application check out [this ```javascript const { SecurityInsights } = require("@azure/arm-securityinsight"); const { DefaultAzureCredential } = require("@azure/identity"); -// For client-side applications running in the browser, use InteractiveBrowserCredential instead of DefaultAzureCredential. See https://aka.ms/azsdk/js/identity/examples for more details. - const subscriptionId = "00000000-0000-0000-0000-000000000000"; const client = new SecurityInsights(new DefaultAzureCredential(), subscriptionId); - -// For client-side applications running in the browser, use this code instead: -// const credential = new InteractiveBrowserCredential({ -// tenantId: "", -// clientId: "" -// }); -// const client = new SecurityInsights(credential, subscriptionId); ``` diff --git a/sdk/securityinsight/arm-securityinsight/_meta.json b/sdk/securityinsight/arm-securityinsight/_meta.json index a43d787a3825..e5577c7ed2f1 100644 --- a/sdk/securityinsight/arm-securityinsight/_meta.json +++ b/sdk/securityinsight/arm-securityinsight/_meta.json @@ -1,8 +1,8 @@ { - "commit": "3124311bc9791b64a8fa8fe8dc6372fb19559a1a", + "commit": "3898549d3b323f215490e915c4f9008dc141a311", "readme": "specification/securityinsights/resource-manager/readme.md", - "autorest_command": "autorest --version=3.7.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\work\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\securityinsights\\resource-manager\\readme.md --use=@autorest/typescript@6.0.0-beta.16 --generate-sample=true", + "autorest_command": "autorest --version=3.7.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/securityinsights/resource-manager/readme.md --use=@autorest/typescript@6.0.0-alpha.16.20220105.1", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.1.2", - "use": "@autorest/typescript@6.0.0-beta.16" + "release_tool": "@azure-tools/js-sdk-release-tools@2.2.6", + "use": "@autorest/typescript@6.0.0-alpha.16.20220105.1" } \ No newline at end of file diff --git a/sdk/securityinsight/arm-securityinsight/package.json b/sdk/securityinsight/arm-securityinsight/package.json index d9eac01b28ff..4c612d4b30da 100644 --- a/sdk/securityinsight/arm-securityinsight/package.json +++ b/sdk/securityinsight/arm-securityinsight/package.json @@ -3,11 +3,13 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for SecurityInsights.", - "version": "1.0.0-beta.2", + "version": "1.0.0-beta.3", "engines": { "node": ">=12.0.0" }, "dependencies": { + "@azure/core-lro": "^2.2.0", + "@azure/abort-controller": "^1.0.0", "@azure/core-paging": "^1.2.0", "@azure/core-client": "^1.0.0", "@azure/core-auth": "^1.3.0", @@ -27,13 +29,13 @@ "types": "./types/arm-securityinsight.d.ts", "devDependencies": { "@microsoft/api-extractor": "^7.18.11", - "@rollup/plugin-commonjs": "^21.0.1", - "@rollup/plugin-json": "^4.1.0", - "@rollup/plugin-multi-entry": "^4.1.0", - "@rollup/plugin-node-resolve": "^13.1.3", + "@rollup/plugin-commonjs": "11.0.2", + "@rollup/plugin-json": "^4.0.0", + "@rollup/plugin-multi-entry": "^3.0.0", + "@rollup/plugin-node-resolve": "^8.0.0", "mkdirp": "^1.0.4", - "rollup": "^2.66.1", - "rollup-plugin-sourcemaps": "^0.6.3", + "rollup": "^1.16.3", + "rollup-plugin-sourcemaps": "^0.4.2", "typescript": "~4.2.0", "uglify-js": "^3.4.9", "rimraf": "^3.0.0", @@ -96,21 +98,5 @@ "docs": "echo skipped" }, "sideEffects": false, - "//metadata": { - "constantPaths": [ - { - "path": "src/securityInsights.ts", - "prefix": "packageDetails" - } - ] - }, - "autoPublish": true, - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-securityinsight?view=azure-node-preview" - } + "autoPublish": true } \ No newline at end of file diff --git a/sdk/securityinsight/arm-securityinsight/review/arm-securityinsight.api.md b/sdk/securityinsight/arm-securityinsight/review/arm-securityinsight.api.md index c6bbf79c79f2..230b66e61d92 100644 --- a/sdk/securityinsight/arm-securityinsight/review/arm-securityinsight.api.md +++ b/sdk/securityinsight/arm-securityinsight/review/arm-securityinsight.api.md @@ -7,6 +7,8 @@ import * as coreAuth from '@azure/core-auth'; import * as coreClient from '@azure/core-client'; import { PagedAsyncIterableIterator } from '@azure/core-paging'; +import { PollerLike } from '@azure/core-lro'; +import { PollOperationState } from '@azure/core-lro'; // @public export type AADCheckRequirements = DataConnectorsCheckRequirements & { @@ -521,7 +523,7 @@ export interface AutomationRuleTriggeringLogic { // @public export interface Availability { isPreview?: boolean; - status?: 1; + status?: "1"; } // @public @@ -1092,6 +1094,9 @@ export interface DataTypeDefinitions { // @public export type DataTypeState = string; +// @public +export type DeleteStatus = string; + // @public export type DeliveryAction = "Unknown" | "DeliveredAsSpam" | "Delivered" | "Blocked" | "Replaced"; @@ -1354,7 +1359,7 @@ export type Entity = Resource & { // @public export type EntityAnalytics = Settings & { - readonly isEnabled?: boolean; + entityProviders?: EntityProviders[]; }; // @public @@ -1447,6 +1452,9 @@ export interface EntityMapping { // @public export type EntityMappingType = string; +// @public +export type EntityProviders = string; + // @public export interface EntityQueries { createOrUpdate(resourceGroupName: string, workspaceName: string, entityQueryId: string, entityQuery: CustomEntityQueryUnion, options?: EntityQueriesCreateOrUpdateOptionalParams): Promise; @@ -1682,6 +1690,9 @@ export type FileEntityProperties = EntityCommonProperties & { readonly hostEntityId?: string; }; +// @public +export type FileFormat = string; + // @public export type FileHashAlgorithm = string; @@ -1701,6 +1712,95 @@ export type FileHashEntityProperties = EntityCommonProperties & { readonly hashValue?: string; }; +// @public +export type FileImport = Resource & { + ingestionMode?: IngestionMode; + contentType?: FileImportContentType; + readonly createdTimeUTC?: Date; + readonly errorFile?: FileMetadata; + readonly errorsPreview?: ValidationError[]; + importFile?: FileMetadata; + readonly ingestedRecordCount?: number; + source?: string; + readonly state?: FileImportState; + readonly totalRecordCount?: number; + readonly validRecordCount?: number; + readonly filesValidUntilTimeUTC?: Date; + readonly importValidUntilTimeUTC?: Date; +}; + +// @public +export type FileImportContentType = string; + +// @public +export interface FileImportList { + readonly nextLink?: string; + value: FileImport[]; +} + +// @public +export interface FileImports { + beginDelete(resourceGroupName: string, workspaceName: string, fileImportId: string, options?: FileImportsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, workspaceName: string, fileImportId: string, options?: FileImportsDeleteOptionalParams): Promise; + create(resourceGroupName: string, workspaceName: string, fileImportId: string, fileImport: FileImport, options?: FileImportsCreateOptionalParams): Promise; + get(resourceGroupName: string, workspaceName: string, fileImportId: string, options?: FileImportsGetOptionalParams): Promise; + list(resourceGroupName: string, workspaceName: string, options?: FileImportsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface FileImportsCreateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type FileImportsCreateResponse = FileImport; + +// @public +export interface FileImportsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface FileImportsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type FileImportsGetResponse = FileImport; + +// @public +export interface FileImportsListNextOptionalParams extends coreClient.OperationOptions { + filter?: string; + orderby?: string; + skipToken?: string; + top?: number; +} + +// @public +export type FileImportsListNextResponse = FileImportList; + +// @public +export interface FileImportsListOptionalParams extends coreClient.OperationOptions { + filter?: string; + orderby?: string; + skipToken?: string; + top?: number; +} + +// @public +export type FileImportsListResponse = FileImportList; + +// @public +export type FileImportState = string; + +// @public +export interface FileMetadata { + readonly deleteStatus?: DeleteStatus; + readonly fileContentUri?: string; + fileFormat?: FileFormat; + fileName?: string; + fileSize?: number; +} + // @public export type FusionAlertRule = AlertRule & { alertRuleTemplateName?: string; @@ -2057,7 +2157,7 @@ export interface IncidentOwnerInfo { assignedTo?: string; email?: string; objectId?: string; - readonly ownerType?: OwnerType; + ownerType?: OwnerType; userPrincipalName?: string; } @@ -2216,6 +2316,9 @@ export type IncidentsRunPlaybookResponse = Record; // @public export type IncidentStatus = string; +// @public +export type IngestionMode = string; + // @public export type InsightQueryItem = EntityQueryItem & { kind: "Insight"; @@ -2692,6 +2795,13 @@ export enum KnownDataTypeState { Enabled = "Enabled" } +// @public +export enum KnownDeleteStatus { + Deleted = "Deleted", + NotDeleted = "NotDeleted", + Unspecified = "Unspecified" +} + // @public export enum KnownDeploymentFetchStatus { // (undocumented) @@ -2776,6 +2886,14 @@ export enum KnownEntityMappingType { URL = "URL" } +// @public +export enum KnownEntityProviders { + // (undocumented) + ActiveDirectory = "ActiveDirectory", + // (undocumented) + AzureActiveDirectory = "AzureActiveDirectory" +} + // @public export enum KnownEntityQueryKind { // (undocumented) @@ -2840,6 +2958,13 @@ export enum KnownEventGroupingAggregationKind { SingleAlert = "SingleAlert" } +// @public +export enum KnownFileFormat { + CSV = "CSV", + Json = "JSON", + Unspecified = "Unspecified" +} + // @public export enum KnownFileHashAlgorithm { MD5 = "MD5", @@ -2849,6 +2974,24 @@ export enum KnownFileHashAlgorithm { Unknown = "Unknown" } +// @public +export enum KnownFileImportContentType { + BasicIndicator = "BasicIndicator", + StixIndicator = "StixIndicator", + Unspecified = "Unspecified" +} + +// @public +export enum KnownFileImportState { + FatalError = "FatalError", + Ingested = "Ingested", + IngestedWithErrors = "IngestedWithErrors", + InProgress = "InProgress", + Invalid = "Invalid", + Unspecified = "Unspecified", + WaitingForUpload = "WaitingForUpload" +} + // @public export enum KnownIncidentClassification { BenignPositive = "BenignPositive", @@ -2886,6 +3029,13 @@ export enum KnownIncidentStatus { New = "New" } +// @public +export enum KnownIngestionMode { + IngestAnyValidRecords = "IngestAnyValidRecords", + IngestOnlyIfAllAreValid = "IngestOnlyIfAllAreValid", + Unspecified = "Unspecified" +} + // @public export enum KnownKillChainIntent { Collection = "Collection", @@ -4393,6 +4543,8 @@ export class SecurityInsights extends coreClient.ServiceClient { // (undocumented) entityRelations: EntityRelations; // (undocumented) + fileImports: FileImports; + // (undocumented) incidentComments: IncidentComments; // (undocumented) incidentRelations: IncidentRelations; @@ -5109,6 +5261,12 @@ export interface UserInfo { objectId?: string; } +// @public +export interface ValidationError { + readonly errorMessages?: string[]; + recordIndex?: number; +} + // @public export type Version = string; @@ -5147,8 +5305,12 @@ export type WatchlistItem = ResourceWithEtag & { updated?: Date; createdBy?: UserInfo; updatedBy?: UserInfo; - itemsKeyValue?: Record; - entityMapping?: Record; + itemsKeyValue?: { + [propertyName: string]: any; + }; + entityMapping?: { + [propertyName: string]: any; + }; }; // @public diff --git a/sdk/securityinsight/arm-securityinsight/rollup.config.js b/sdk/securityinsight/arm-securityinsight/rollup.config.js index 3f89d7309da5..9be1955eb7f1 100644 --- a/sdk/securityinsight/arm-securityinsight/rollup.config.js +++ b/sdk/securityinsight/arm-securityinsight/rollup.config.js @@ -14,14 +14,62 @@ import json from "@rollup/plugin-json"; import nodeBuiltins from "builtin-modules"; +/** + * Gets the proper configuration needed for rollup's commonJS plugin for @opentelemetry/api. + * + * NOTE: this manual configuration is only needed because OpenTelemetry uses an + * __exportStar downleveled helper function to declare its exports which confuses + * rollup's automatic discovery mechanism. + * + * @returns an object reference that can be `...`'d into your cjs() configuration. + */ +export function openTelemetryCommonJs() { + const namedExports = {}; + + for (const key of [ + "@opentelemetry/api", + "@azure/core-tracing/node_modules/@opentelemetry/api" + ]) { + namedExports[key] = [ + "SpanKind", + "TraceFlags", + "getSpan", + "setSpan", + "SpanStatusCode", + "getSpanContext", + "setSpanContext" + ]; + } + + const releasedOpenTelemetryVersions = ["0.10.2", "1.0.0-rc.0"]; + + for (const version of releasedOpenTelemetryVersions) { + namedExports[ + // working around a limitation in the rollup common.js plugin - it's not able to resolve these modules so the named exports listed above will not get applied. We have to drill down to the actual path. + `../../../common/temp/node_modules/.pnpm/@opentelemetry/api@${version}/node_modules/@opentelemetry/api/build/src/index.js` + ] = [ + "SpanKind", + "TraceFlags", + "getSpan", + "setSpan", + "StatusCode", + "CanonicalCode", + "getSpanContext", + "setSpanContext" + ]; + } + + return namedExports; +} + // #region Warning Handler /** - * A function that can determine whether a rollup warning should be ignored. If + * A function that can determine whether a rollupwarning should be ignored. If * the function returns `true`, then the warning will not be displayed. */ -function ignoreNiseSinonEval(warning) { +function ignoreNiseSinonEvalWarnings(warning) { return ( warning.code === "EVAL" && warning.id && @@ -30,14 +78,17 @@ function ignoreNiseSinonEval(warning) { ); } -function ignoreChaiCircularDependency(warning) { +function ignoreChaiCircularDependencyWarnings(warning) { return ( warning.code === "CIRCULAR_DEPENDENCY" && warning.importer && warning.importer.includes("node_modules/chai") === true ); } -const warningInhibitors = [ignoreChaiCircularDependency, ignoreNiseSinonEval]; +const warningInhibitors = [ + ignoreChaiCircularDependencyWarnings, + ignoreNiseSinonEvalWarnings +]; /** * Construct a warning handler for the shared rollup configuration @@ -71,7 +122,22 @@ function makeBrowserTestConfig() { nodeResolve({ mainFields: ["module", "browser"] }), - cjs(), + cjs({ + namedExports: { + // Chai's strange internal architecture makes it impossible to statically + // analyze its exports. + chai: [ + "version", + "use", + "util", + "config", + "expect", + "should", + "assert" + ], + ...openTelemetryCommonJs() + } + }), json(), sourcemaps() //viz({ filename: "dist-test/browser-stats.html", sourcemap: true }) @@ -107,7 +173,7 @@ export function makeConfig(pkg, options) { ], output: { file: "dist/index.js", format: "cjs", sourcemap: true }, preserveSymlinks: false, - plugins: [sourcemaps(), nodeResolve()] + plugins: [sourcemaps(), nodeResolve(), cjs()] }; const config = [baseConfig]; diff --git a/sdk/securityinsight/arm-securityinsight/src/lroImpl.ts b/sdk/securityinsight/arm-securityinsight/src/lroImpl.ts new file mode 100644 index 000000000000..518d5f053b4e --- /dev/null +++ b/sdk/securityinsight/arm-securityinsight/src/lroImpl.ts @@ -0,0 +1,34 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { LongRunningOperation, LroResponse } from "@azure/core-lro"; + +export class LroImpl implements LongRunningOperation { + constructor( + private sendOperationFn: (args: any, spec: any) => Promise>, + private args: Record, + private spec: { + readonly requestBody?: unknown; + readonly path?: string; + readonly httpMethod: string; + } & Record, + public requestPath: string = spec.path!, + public requestMethod: string = spec.httpMethod + ) {} + public async sendInitialRequest(): Promise> { + return this.sendOperationFn(this.args, this.spec); + } + public async sendPollRequest(path: string): Promise> { + const { requestBody, ...restSpec } = this.spec; + return this.sendOperationFn(this.args, { + ...restSpec, + path, + httpMethod: "GET" + }); + } +} diff --git a/sdk/securityinsight/arm-securityinsight/src/models/index.ts b/sdk/securityinsight/arm-securityinsight/src/models/index.ts index e0b7838a1dde..ce563614fb97 100644 --- a/sdk/securityinsight/arm-securityinsight/src/models/index.ts +++ b/sdk/securityinsight/arm-securityinsight/src/models/index.ts @@ -718,6 +718,48 @@ export interface EntityQueryTemplateList { value: EntityQueryTemplateUnion[]; } +/** List all the file imports. */ +export interface FileImportList { + /** + * URL to fetch the next set of file imports. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; + /** Array of file imports. */ + value: FileImport[]; +} + +/** Represents a file. */ +export interface FileMetadata { + /** The format of the file */ + fileFormat?: FileFormat; + /** The name of the file. */ + fileName?: string; + /** The size of the file. */ + fileSize?: number; + /** + * A URI with a valid SAS token to allow uploading / downloading the file. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly fileContentUri?: string; + /** + * Indicates whether the file was deleted from the storage account. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly deleteStatus?: DeleteStatus; +} + +/** Describes an error encountered in the file during validation. */ +export interface ValidationError { + /** The number of the record that has the error. */ + recordIndex?: number; + /** + * A list of descriptions of the error. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly errorMessages?: string[]; +} + /** List all the incidents. */ export interface IncidentList { /** @@ -789,11 +831,8 @@ export interface IncidentOwnerInfo { objectId?: string; /** The user principal name of the user the incident is assigned to. */ userPrincipalName?: string; - /** - * The type of the owner the incident is assigned to. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly ownerType?: OwnerType; + /** The type of the owner the incident is assigned to. */ + ownerType?: OwnerType; } /** Describes team information */ @@ -1874,7 +1913,7 @@ export interface ConnectivityCriteria { /** Connector Availability Status */ export interface Availability { /** The connector Availability Status */ - status?: 1; + status?: "1"; /** Set connector as preview */ isPreview?: boolean; } @@ -2142,6 +2181,63 @@ export type EntityQueryTemplate = Resource & { kind: EntityQueryTemplateKind; }; +/** Represents a file import in Azure Security Insights. */ +export type FileImport = Resource & { + /** Describes how to ingest the records in the file. */ + ingestionMode?: IngestionMode; + /** The content type of this file. */ + contentType?: FileImportContentType; + /** + * The time the file was imported. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdTimeUTC?: Date; + /** + * Represents the error file (if the import was ingested with errors or failed the validation). + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly errorFile?: FileMetadata; + /** + * An ordered list of some of the errors that were encountered during validation. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly errorsPreview?: ValidationError[]; + /** Represents the imported file. */ + importFile?: FileMetadata; + /** + * The number of records that have been successfully ingested. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly ingestedRecordCount?: number; + /** The source for the data in the file. */ + source?: string; + /** + * The state of the file import. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly state?: FileImportState; + /** + * The number of records in the file. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly totalRecordCount?: number; + /** + * The number of records that have passed validation. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly validRecordCount?: number; + /** + * The time the files associated with this import are deleted from the storage account. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly filesValidUntilTimeUTC?: Date; + /** + * The time the file import record is soft deleted from the database and history. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly importValidUntilTimeUTC?: Date; +}; + /** Consent for Office365 tenant that already made. */ export type OfficeConsent = Resource & { /** The tenantId of the Office365 with the consent. */ @@ -4007,9 +4103,9 @@ export type WatchlistItem = ResourceWithEtag & { /** Describes a user that updated the watchlist item */ updatedBy?: UserInfo; /** key-value pairs for a watchlist item */ - itemsKeyValue?: Record; + itemsKeyValue?: { [propertyName: string]: any }; /** key-value pairs for a watchlist item entity mapping */ - entityMapping?: Record; + entityMapping?: { [propertyName: string]: any }; }; /** Data connector */ @@ -5670,11 +5766,8 @@ export type EyesOn = Settings & { /** Settings with single toggle. */ export type EntityAnalytics = Settings & { - /** - * Determines whether the setting is enable or disabled. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly isEnabled?: boolean; + /** The relevant entity providers that are synced */ + entityProviders?: EntityProviders[]; }; /** Settings with single toggle. */ @@ -6295,6 +6388,123 @@ export enum KnownEntityQueryTemplateKind { */ export type EntityQueryTemplateKind = string; +/** Known values of {@link IngestionMode} that the service accepts. */ +export enum KnownIngestionMode { + /** No records should be ingested when invalid records are detected. */ + IngestOnlyIfAllAreValid = "IngestOnlyIfAllAreValid", + /** Valid records should still be ingested when invalid records are detected. */ + IngestAnyValidRecords = "IngestAnyValidRecords", + /** Unspecified */ + Unspecified = "Unspecified" +} + +/** + * Defines values for IngestionMode. \ + * {@link KnownIngestionMode} can be used interchangeably with IngestionMode, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **IngestOnlyIfAllAreValid**: No records should be ingested when invalid records are detected. \ + * **IngestAnyValidRecords**: Valid records should still be ingested when invalid records are detected. \ + * **Unspecified**: Unspecified + */ +export type IngestionMode = string; + +/** Known values of {@link FileImportContentType} that the service accepts. */ +export enum KnownFileImportContentType { + /** File containing records with the core fields of an indicator, plus the observables to construct the STIX pattern. */ + BasicIndicator = "BasicIndicator", + /** File containing STIX indicators. */ + StixIndicator = "StixIndicator", + /** File containing other records. */ + Unspecified = "Unspecified" +} + +/** + * Defines values for FileImportContentType. \ + * {@link KnownFileImportContentType} can be used interchangeably with FileImportContentType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **BasicIndicator**: File containing records with the core fields of an indicator, plus the observables to construct the STIX pattern. \ + * **StixIndicator**: File containing STIX indicators. \ + * **Unspecified**: File containing other records. + */ +export type FileImportContentType = string; + +/** Known values of {@link FileFormat} that the service accepts. */ +export enum KnownFileFormat { + /** A CSV file. */ + CSV = "CSV", + /** A JSON file. */ + Json = "JSON", + /** A file of other format. */ + Unspecified = "Unspecified" +} + +/** + * Defines values for FileFormat. \ + * {@link KnownFileFormat} can be used interchangeably with FileFormat, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **CSV**: A CSV file. \ + * **JSON**: A JSON file. \ + * **Unspecified**: A file of other format. + */ +export type FileFormat = string; + +/** Known values of {@link DeleteStatus} that the service accepts. */ +export enum KnownDeleteStatus { + /** The file was deleted. */ + Deleted = "Deleted", + /** The file was not deleted. */ + NotDeleted = "NotDeleted", + /** Unspecified */ + Unspecified = "Unspecified" +} + +/** + * Defines values for DeleteStatus. \ + * {@link KnownDeleteStatus} can be used interchangeably with DeleteStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Deleted**: The file was deleted. \ + * **NotDeleted**: The file was not deleted. \ + * **Unspecified**: Unspecified + */ +export type DeleteStatus = string; + +/** Known values of {@link FileImportState} that the service accepts. */ +export enum KnownFileImportState { + /** A fatal error has occurred while ingesting the file. */ + FatalError = "FatalError", + /** The file has been ingested. */ + Ingested = "Ingested", + /** The file has been ingested with errors. */ + IngestedWithErrors = "IngestedWithErrors", + /** The file ingestion is in progress. */ + InProgress = "InProgress", + /** The file is invalid. */ + Invalid = "Invalid", + /** Waiting for the file to be uploaded. */ + WaitingForUpload = "WaitingForUpload", + /** Unspecified state. */ + Unspecified = "Unspecified" +} + +/** + * Defines values for FileImportState. \ + * {@link KnownFileImportState} can be used interchangeably with FileImportState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **FatalError**: A fatal error has occurred while ingesting the file. \ + * **Ingested**: The file has been ingested. \ + * **IngestedWithErrors**: The file has been ingested with errors. \ + * **InProgress**: The file ingestion is in progress. \ + * **Invalid**: The file is invalid. \ + * **WaitingForUpload**: Waiting for the file to be uploaded. \ + * **Unspecified**: Unspecified state. + */ +export type FileImportState = string; + /** Known values of {@link IncidentClassification} that the service accepts. */ export enum KnownIncidentClassification { /** Incident classification was undetermined */ @@ -7403,6 +7613,22 @@ export enum KnownOutputType { */ export type OutputType = string; +/** Known values of {@link EntityProviders} that the service accepts. */ +export enum KnownEntityProviders { + ActiveDirectory = "ActiveDirectory", + AzureActiveDirectory = "AzureActiveDirectory" +} + +/** + * Defines values for EntityProviders. \ + * {@link KnownEntityProviders} can be used interchangeably with EntityProviders, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **ActiveDirectory** \ + * **AzureActiveDirectory** + */ +export type EntityProviders = string; + /** Known values of {@link UebaDataSources} that the service accepts. */ export enum KnownUebaDataSources { AuditLogs = "AuditLogs", @@ -8162,6 +8388,61 @@ export interface EntityQueryTemplatesListNextOptionalParams /** Contains response data for the listNext operation. */ export type EntityQueryTemplatesListNextResponse = EntityQueryTemplateList; +/** Optional parameters. */ +export interface FileImportsListOptionalParams + extends coreClient.OperationOptions { + /** Filters the results, based on a Boolean condition. Optional. */ + filter?: string; + /** Sorts the results. Optional. */ + orderby?: string; + /** Returns only the first n results. Optional. */ + top?: number; + /** Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional. */ + skipToken?: string; +} + +/** Contains response data for the list operation. */ +export type FileImportsListResponse = FileImportList; + +/** Optional parameters. */ +export interface FileImportsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type FileImportsGetResponse = FileImport; + +/** Optional parameters. */ +export interface FileImportsCreateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the create operation. */ +export type FileImportsCreateResponse = FileImport; + +/** Optional parameters. */ +export interface FileImportsDeleteOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Optional parameters. */ +export interface FileImportsListNextOptionalParams + extends coreClient.OperationOptions { + /** Filters the results, based on a Boolean condition. Optional. */ + filter?: string; + /** Sorts the results. Optional. */ + orderby?: string; + /** Returns only the first n results. Optional. */ + top?: number; + /** Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional. */ + skipToken?: string; +} + +/** Contains response data for the listNext operation. */ +export type FileImportsListNextResponse = FileImportList; + /** Optional parameters. */ export interface IncidentCommentsListOptionalParams extends coreClient.OperationOptions { diff --git a/sdk/securityinsight/arm-securityinsight/src/models/mappers.ts b/sdk/securityinsight/arm-securityinsight/src/models/mappers.ts index ddb5b5718ffa..3e31fda855c4 100644 --- a/sdk/securityinsight/arm-securityinsight/src/models/mappers.ts +++ b/sdk/securityinsight/arm-securityinsight/src/models/mappers.ts @@ -1784,6 +1784,103 @@ export const EntityQueryTemplateList: coreClient.CompositeMapper = { } }; +export const FileImportList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "FileImportList", + modelProperties: { + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + }, + value: { + serializedName: "value", + required: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "FileImport" + } + } + } + } + } + } +}; + +export const FileMetadata: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "FileMetadata", + modelProperties: { + fileFormat: { + serializedName: "fileFormat", + type: { + name: "String" + } + }, + fileName: { + serializedName: "fileName", + type: { + name: "String" + } + }, + fileSize: { + serializedName: "fileSize", + type: { + name: "Number" + } + }, + fileContentUri: { + serializedName: "fileContentUri", + readOnly: true, + type: { + name: "String" + } + }, + deleteStatus: { + serializedName: "deleteStatus", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ValidationError: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ValidationError", + modelProperties: { + recordIndex: { + serializedName: "recordIndex", + type: { + name: "Number" + } + }, + errorMessages: { + serializedName: "errorMessages", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + export const IncidentList: coreClient.CompositeMapper = { type: { name: "Composite", @@ -1940,7 +2037,6 @@ export const IncidentOwnerInfo: coreClient.CompositeMapper = { }, ownerType: { serializedName: "ownerType", - readOnly: true, type: { name: "String" } @@ -5840,6 +5936,110 @@ export const EntityQueryTemplate: coreClient.CompositeMapper = { } }; +export const FileImport: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "FileImport", + modelProperties: { + ...Resource.type.modelProperties, + ingestionMode: { + serializedName: "properties.ingestionMode", + type: { + name: "String" + } + }, + contentType: { + serializedName: "properties.contentType", + type: { + name: "String" + } + }, + createdTimeUTC: { + serializedName: "properties.createdTimeUTC", + readOnly: true, + type: { + name: "DateTime" + } + }, + errorFile: { + serializedName: "properties.errorFile", + type: { + name: "Composite", + className: "FileMetadata" + } + }, + errorsPreview: { + serializedName: "properties.errorsPreview", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ValidationError" + } + } + } + }, + importFile: { + serializedName: "properties.importFile", + type: { + name: "Composite", + className: "FileMetadata" + } + }, + ingestedRecordCount: { + serializedName: "properties.ingestedRecordCount", + readOnly: true, + type: { + name: "Number" + } + }, + source: { + serializedName: "properties.source", + type: { + name: "String" + } + }, + state: { + serializedName: "properties.state", + readOnly: true, + type: { + name: "String" + } + }, + totalRecordCount: { + serializedName: "properties.totalRecordCount", + readOnly: true, + type: { + name: "Number" + } + }, + validRecordCount: { + serializedName: "properties.validRecordCount", + readOnly: true, + type: { + name: "Number" + } + }, + filesValidUntilTimeUTC: { + serializedName: "properties.filesValidUntilTimeUTC", + readOnly: true, + type: { + name: "DateTime" + } + }, + importValidUntilTimeUTC: { + serializedName: "properties.importValidUntilTimeUTC", + readOnly: true, + type: { + name: "DateTime" + } + } + } + } +}; + export const OfficeConsent: coreClient.CompositeMapper = { type: { name: "Composite", @@ -14065,11 +14265,15 @@ export const EntityAnalytics: coreClient.CompositeMapper = { polymorphicDiscriminator: Resource.type.polymorphicDiscriminator, modelProperties: { ...Settings.type.modelProperties, - isEnabled: { - serializedName: "properties.isEnabled", - readOnly: true, + entityProviders: { + serializedName: "properties.entityProviders", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } diff --git a/sdk/securityinsight/arm-securityinsight/src/models/parameters.ts b/sdk/securityinsight/arm-securityinsight/src/models/parameters.ts index 7808530d8fb0..d173dc0ac838 100644 --- a/sdk/securityinsight/arm-securityinsight/src/models/parameters.ts +++ b/sdk/securityinsight/arm-securityinsight/src/models/parameters.ts @@ -25,6 +25,7 @@ import { EntityGetInsightsParameters as EntityGetInsightsParametersMapper, EntityTimelineParameters as EntityTimelineParametersMapper, CustomEntityQuery as CustomEntityQueryMapper, + FileImport as FileImportMapper, IncidentComment as IncidentCommentMapper, MetadataModel as MetadataModelMapper, MetadataPatch as MetadataPatchMapper, @@ -68,7 +69,7 @@ export const $host: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2022-01-01-preview", + defaultValue: "2022-05-01-preview", isConstant: true, serializedName: "api-version", type: { @@ -426,6 +427,22 @@ export const entityQueryTemplateId: OperationURLParameter = { } }; +export const fileImportId: OperationURLParameter = { + parameterPath: "fileImportId", + mapper: { + serializedName: "fileImportId", + required: true, + type: { + name: "String" + } + } +}; + +export const fileImport: OperationParameter = { + parameterPath: "fileImport", + mapper: FileImportMapper +}; + export const incidentCommentId: OperationURLParameter = { parameterPath: "incidentCommentId", mapper: { diff --git a/sdk/securityinsight/arm-securityinsight/src/operations/fileImports.ts b/sdk/securityinsight/arm-securityinsight/src/operations/fileImports.ts new file mode 100644 index 000000000000..88dc1dbed787 --- /dev/null +++ b/sdk/securityinsight/arm-securityinsight/src/operations/fileImports.ts @@ -0,0 +1,393 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { FileImports } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SecurityInsights } from "../securityInsights"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + FileImport, + FileImportsListNextOptionalParams, + FileImportsListOptionalParams, + FileImportsListResponse, + FileImportsGetOptionalParams, + FileImportsGetResponse, + FileImportsCreateOptionalParams, + FileImportsCreateResponse, + FileImportsDeleteOptionalParams, + FileImportsListNextResponse +} from "../models"; + +/// +/** Class containing FileImports operations. */ +export class FileImportsImpl implements FileImports { + private readonly client: SecurityInsights; + + /** + * Initialize a new instance of the class FileImports class. + * @param client Reference to the service client + */ + constructor(client: SecurityInsights) { + this.client = client; + } + + /** + * Gets all file imports. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + workspaceName: string, + options?: FileImportsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(resourceGroupName, workspaceName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(resourceGroupName, workspaceName, options); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + workspaceName: string, + options?: FileImportsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(resourceGroupName, workspaceName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + workspaceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + workspaceName: string, + options?: FileImportsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + workspaceName, + options + )) { + yield* page; + } + } + + /** + * Gets all file imports. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + workspaceName: string, + options?: FileImportsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, workspaceName, options }, + listOperationSpec + ); + } + + /** + * Gets a file import. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace. + * @param fileImportId File import ID + * @param options The options parameters. + */ + get( + resourceGroupName: string, + workspaceName: string, + fileImportId: string, + options?: FileImportsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, workspaceName, fileImportId, options }, + getOperationSpec + ); + } + + /** + * Creates the file import. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace. + * @param fileImportId File import ID + * @param fileImport The file import + * @param options The options parameters. + */ + create( + resourceGroupName: string, + workspaceName: string, + fileImportId: string, + fileImport: FileImport, + options?: FileImportsCreateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, workspaceName, fileImportId, fileImport, options }, + createOperationSpec + ); + } + + /** + * Delete the file import. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace. + * @param fileImportId File import ID + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + workspaceName: string, + fileImportId: string, + options?: FileImportsDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, workspaceName, fileImportId, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Delete the file import. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace. + * @param fileImportId File import ID + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + workspaceName: string, + fileImportId: string, + options?: FileImportsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + workspaceName, + fileImportId, + options + ); + return poller.pollUntilDone(); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + workspaceName: string, + nextLink: string, + options?: FileImportsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, workspaceName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/fileImports", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.FileImportList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.orderby, + Parameters.top, + Parameters.skipToken + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.workspaceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/fileImports/{fileImportId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.FileImport + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.workspaceName, + Parameters.fileImportId + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/fileImports/{fileImportId}", + httpMethod: "PUT", + responses: { + 201: { + bodyMapper: Mappers.FileImport + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.fileImport, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.workspaceName, + Parameters.fileImportId + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/fileImports/{fileImportId}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.workspaceName, + Parameters.fileImportId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.FileImportList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.orderby, + Parameters.top, + Parameters.skipToken + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.workspaceName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/securityinsight/arm-securityinsight/src/operations/index.ts b/sdk/securityinsight/arm-securityinsight/src/operations/index.ts index 2fb99b67a9bb..2df8f722fd75 100644 --- a/sdk/securityinsight/arm-securityinsight/src/operations/index.ts +++ b/sdk/securityinsight/arm-securityinsight/src/operations/index.ts @@ -22,6 +22,7 @@ export * from "./entitiesRelations"; export * from "./entityRelations"; export * from "./entityQueries"; export * from "./entityQueryTemplates"; +export * from "./fileImports"; export * from "./incidentComments"; export * from "./incidentRelations"; export * from "./metadata"; diff --git a/sdk/securityinsight/arm-securityinsight/src/operationsInterfaces/fileImports.ts b/sdk/securityinsight/arm-securityinsight/src/operationsInterfaces/fileImports.ts new file mode 100644 index 000000000000..669192bb69e8 --- /dev/null +++ b/sdk/securityinsight/arm-securityinsight/src/operationsInterfaces/fileImports.ts @@ -0,0 +1,89 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + FileImport, + FileImportsListOptionalParams, + FileImportsGetOptionalParams, + FileImportsGetResponse, + FileImportsCreateOptionalParams, + FileImportsCreateResponse, + FileImportsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a FileImports. */ +export interface FileImports { + /** + * Gets all file imports. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + workspaceName: string, + options?: FileImportsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a file import. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace. + * @param fileImportId File import ID + * @param options The options parameters. + */ + get( + resourceGroupName: string, + workspaceName: string, + fileImportId: string, + options?: FileImportsGetOptionalParams + ): Promise; + /** + * Creates the file import. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace. + * @param fileImportId File import ID + * @param fileImport The file import + * @param options The options parameters. + */ + create( + resourceGroupName: string, + workspaceName: string, + fileImportId: string, + fileImport: FileImport, + options?: FileImportsCreateOptionalParams + ): Promise; + /** + * Delete the file import. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace. + * @param fileImportId File import ID + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + workspaceName: string, + fileImportId: string, + options?: FileImportsDeleteOptionalParams + ): Promise, void>>; + /** + * Delete the file import. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace. + * @param fileImportId File import ID + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + workspaceName: string, + fileImportId: string, + options?: FileImportsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/securityinsight/arm-securityinsight/src/operationsInterfaces/index.ts b/sdk/securityinsight/arm-securityinsight/src/operationsInterfaces/index.ts index 2fb99b67a9bb..2df8f722fd75 100644 --- a/sdk/securityinsight/arm-securityinsight/src/operationsInterfaces/index.ts +++ b/sdk/securityinsight/arm-securityinsight/src/operationsInterfaces/index.ts @@ -22,6 +22,7 @@ export * from "./entitiesRelations"; export * from "./entityRelations"; export * from "./entityQueries"; export * from "./entityQueryTemplates"; +export * from "./fileImports"; export * from "./incidentComments"; export * from "./incidentRelations"; export * from "./metadata"; diff --git a/sdk/securityinsight/arm-securityinsight/src/securityInsights.ts b/sdk/securityinsight/arm-securityinsight/src/securityInsights.ts index c3cdec37318a..fd092d3fb0ba 100644 --- a/sdk/securityinsight/arm-securityinsight/src/securityInsights.ts +++ b/sdk/securityinsight/arm-securityinsight/src/securityInsights.ts @@ -25,6 +25,7 @@ import { EntityRelationsImpl, EntityQueriesImpl, EntityQueryTemplatesImpl, + FileImportsImpl, IncidentCommentsImpl, IncidentRelationsImpl, MetadataImpl, @@ -59,6 +60,7 @@ import { EntityRelations, EntityQueries, EntityQueryTemplates, + FileImports, IncidentComments, IncidentRelations, Metadata, @@ -110,7 +112,7 @@ export class SecurityInsights extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-securityinsight/1.0.0-beta.2`; + const packageDetails = `azsdk-js-arm-securityinsight/1.0.0-beta.3`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -133,7 +135,7 @@ export class SecurityInsights extends coreClient.ServiceClient { // Assigning values to Constant parameters this.$host = options.$host || "https://management.azure.com"; - this.apiVersion = options.apiVersion || "2022-01-01-preview"; + this.apiVersion = options.apiVersion || "2022-05-01-preview"; this.alertRules = new AlertRulesImpl(this); this.actions = new ActionsImpl(this); this.alertRuleTemplates = new AlertRuleTemplatesImpl(this); @@ -150,6 +152,7 @@ export class SecurityInsights extends coreClient.ServiceClient { this.entityRelations = new EntityRelationsImpl(this); this.entityQueries = new EntityQueriesImpl(this); this.entityQueryTemplates = new EntityQueryTemplatesImpl(this); + this.fileImports = new FileImportsImpl(this); this.incidentComments = new IncidentCommentsImpl(this); this.incidentRelations = new IncidentRelationsImpl(this); this.metadata = new MetadataImpl(this); @@ -192,6 +195,7 @@ export class SecurityInsights extends coreClient.ServiceClient { entityRelations: EntityRelations; entityQueries: EntityQueries; entityQueryTemplates: EntityQueryTemplates; + fileImports: FileImports; incidentComments: IncidentComments; incidentRelations: IncidentRelations; metadata: Metadata; diff --git a/sdk/securityinsight/arm-securityinsight/tsconfig.json b/sdk/securityinsight/arm-securityinsight/tsconfig.json index 6c7875caddba..3e6ae96443f3 100644 --- a/sdk/securityinsight/arm-securityinsight/tsconfig.json +++ b/sdk/securityinsight/arm-securityinsight/tsconfig.json @@ -15,17 +15,11 @@ ], "declaration": true, "outDir": "./dist-esm", - "importHelpers": true, - "paths": { - "@azure/arm-securityinsight": [ - "./src/index" - ] - } + "importHelpers": true }, "include": [ "./src/**/*.ts", - "./test/**/*.ts", - "samples-dev/**/*.ts" + "./test/**/*.ts" ], "exclude": [ "node_modules"