diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 79c55fd0da51..5248dd047699 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -2325,7 +2325,7 @@ packages: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: '@types/connect': 3.4.35 - '@types/node': 14.18.42 + '@types/node': 18.15.11 dev: false /@types/chai-as-promised/7.1.5: @@ -2347,7 +2347,7 @@ packages: /@types/connect/3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 14.18.42 + '@types/node': 18.15.11 dev: false /@types/cookie/0.4.1: @@ -2357,7 +2357,7 @@ packages: /@types/cors/2.8.13: resolution: {integrity: sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==} dependencies: - '@types/node': 14.18.42 + '@types/node': 18.15.11 dev: false /@types/debug/4.1.7: @@ -2369,7 +2369,7 @@ packages: /@types/decompress/4.2.4: resolution: {integrity: sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==} dependencies: - '@types/node': 14.18.42 + '@types/node': 18.15.11 dev: false /@types/eslint/8.4.10: @@ -2390,7 +2390,7 @@ packages: /@types/express-serve-static-core/4.17.33: resolution: {integrity: sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==} dependencies: - '@types/node': 14.18.42 + '@types/node': 18.15.11 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 dev: false @@ -2407,13 +2407,13 @@ packages: /@types/fs-extra/8.1.2: resolution: {integrity: sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==} dependencies: - '@types/node': 14.18.42 + '@types/node': 18.15.11 dev: false /@types/fs-extra/9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: - '@types/node': 14.18.42 + '@types/node': 18.15.11 dev: false /@types/inquirer/8.2.6: @@ -2426,7 +2426,7 @@ packages: /@types/is-buffer/2.0.0: resolution: {integrity: sha512-0f7N/e3BAz32qDYvgB4d2cqv1DqUwvGxHkXsrucICn8la1Vb6Yl6Eg8mPScGwUiqHJeE7diXlzaK+QMA9m4Gxw==} dependencies: - '@types/node': 14.18.42 + '@types/node': 18.15.11 dev: false /@types/json-schema/7.0.11: @@ -2440,13 +2440,13 @@ packages: /@types/jsonwebtoken/9.0.1: resolution: {integrity: sha512-c5ltxazpWabia/4UzhIoaDcIza4KViOQhdbjRlfcIGVnsE3c3brkz9Z+F/EeJIECOQP7W7US2hNE930cWWkPiw==} dependencies: - '@types/node': 14.18.42 + '@types/node': 18.15.11 dev: false /@types/jws/3.2.5: resolution: {integrity: sha512-xGTxZH34xOryaTN8CMsvhh9lfNqFuHiMoRvsLYWQdBJHqiECyfInXVl2eK8Jz2emxZWMIn5RBlmr3oDVPeWujw==} dependencies: - '@types/node': 14.18.42 + '@types/node': 18.15.11 dev: false /@types/linkify-it/3.0.2: @@ -2493,7 +2493,7 @@ packages: /@types/node-fetch/2.6.3: resolution: {integrity: sha512-ETTL1mOEdq/sxUtgtOhKjyB2Irra4cjxksvcMUR5Zr4n+PxVhsCD9WS46oPbHL3et9Zde7CNRr+WUNlcHvsX+w==} dependencies: - '@types/node': 14.18.42 + '@types/node': 18.15.11 form-data: 3.0.1 dev: false @@ -2540,7 +2540,7 @@ packages: /@types/resolve/1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 14.18.42 + '@types/node': 18.15.11 dev: false /@types/semaphore/1.1.1: @@ -2555,7 +2555,7 @@ packages: resolution: {integrity: sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==} dependencies: '@types/mime': 3.0.1 - '@types/node': 14.18.42 + '@types/node': 18.15.11 dev: false /@types/sinon/10.0.13: @@ -2577,13 +2577,13 @@ packages: /@types/stoppable/1.1.1: resolution: {integrity: sha512-b8N+fCADRIYYrGZOcmOR8ZNBOqhktWTB/bMUl5LvGtT201QKJZOOH5UsFyI3qtteM6ZAJbJqZoBcLqqxKIwjhw==} dependencies: - '@types/node': 14.18.42 + '@types/node': 18.15.11 dev: false /@types/through/0.0.30: resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==} dependencies: - '@types/node': 14.18.42 + '@types/node': 18.15.11 dev: false /@types/tough-cookie/4.0.2: @@ -2597,13 +2597,13 @@ packages: /@types/tunnel/0.0.1: resolution: {integrity: sha512-AOqu6bQu5MSWwYvehMXLukFHnupHrpZ8nvgae5Ggie9UwzDR1CCwoXgSSWNZJuyOlCdfdsWMA5F2LlmvyoTv8A==} dependencies: - '@types/node': 14.18.42 + '@types/node': 18.15.11 dev: false /@types/tunnel/0.0.3: resolution: {integrity: sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==} dependencies: - '@types/node': 14.18.42 + '@types/node': 18.15.11 dev: false /@types/underscore/1.11.4: @@ -2621,19 +2621,19 @@ packages: /@types/ws/7.4.7: resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} dependencies: - '@types/node': 14.18.42 + '@types/node': 18.15.11 dev: false /@types/ws/8.5.4: resolution: {integrity: sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==} dependencies: - '@types/node': 14.18.42 + '@types/node': 18.15.11 dev: false /@types/xml2js/0.4.11: resolution: {integrity: sha512-JdigeAKmCyoJUiQljjr7tQG3if9NkqGUgwEUqBvV0N7LM4HyQk7UXCnusRa1lnvXAEYJ8mw8GtZWioagNztOwA==} dependencies: - '@types/node': 14.18.42 + '@types/node': 18.15.11 dev: false /@types/yargs-parser/21.0.0: @@ -2650,7 +2650,7 @@ packages: resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} requiresBuild: true dependencies: - '@types/node': 14.18.42 + '@types/node': 18.15.11 dev: false optional: true @@ -3721,7 +3721,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: @@ -4010,7 +4010,7 @@ packages: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.13 - '@types/node': 14.18.42 + '@types/node': 18.15.11 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 @@ -5024,7 +5024,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 @@ -7432,7 +7432,7 @@ packages: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 14.18.42 + '@types/node': 18.15.11 long: 5.2.1 dev: false @@ -11253,7 +11253,7 @@ packages: dev: false file:projects/arm-dashboard.tgz: - resolution: {integrity: sha512-TR5BWf/IhJRtP5yzDKlI6hs9GXvmM9IzQpvX3e1S84uoMJgQ2AOKQJ5i9TclibV4JJFCl8tscGC3lt0O0AUrXg==, tarball: file:projects/arm-dashboard.tgz} + resolution: {integrity: sha512-qa+7Z2qvlpItMjqpov5K74KU5os7FpyFKhvIkByBKrqykoeO5CqbPTuyEHWhSEKNQOH4LApI33JNMGoi98fEYA==, tarball: file:projects/arm-dashboard.tgz} name: '@rush-temp/arm-dashboard' version: 0.0.0 dependencies: @@ -11268,7 +11268,7 @@ packages: chai: 4.3.7 cross-env: 7.0.3 dotenv: 16.0.3 - mkdirp: 1.0.4 + mkdirp: 2.1.6 mocha: 7.2.0 rimraf: 3.0.2 rollup: 2.79.1 @@ -18164,7 +18164,7 @@ packages: dev: false file:projects/monitor-query.tgz: - resolution: {integrity: sha512-OzChz0hKda8WBEPF0NXbsU/3GWtXLel+wI3n149VxoU/ywy5fT1U2w5pnxr++fFQAE3yDUqAarnmkx0wc4074Q==, tarball: file:projects/monitor-query.tgz} + resolution: {integrity: sha512-56agQ8+QajDRZ82yz9/qAjUIv0csk8/1mh2vZdogUl+OOJwz73r8MdFaHIH8xd+ipL5taAojq6SSxpGaYN+snQ==, tarball: file:projects/monitor-query.tgz} name: '@rush-temp/monitor-query' version: 0.0.0 dependencies: diff --git a/sdk/dashboard/arm-dashboard/CHANGELOG.md b/sdk/dashboard/arm-dashboard/CHANGELOG.md index 6d1e1958bd62..e4db26f02f2d 100644 --- a/sdk/dashboard/arm-dashboard/CHANGELOG.md +++ b/sdk/dashboard/arm-dashboard/CHANGELOG.md @@ -1,15 +1,17 @@ # Release History + +## 1.1.0 (2023-04-03) + +**Features** -## 1.0.2 (Unreleased) - -### Features Added - -### Breaking Changes - -### Bugs Fixed - -### Other Changes - + - Added Interface GrafanaCreateHeaders + - Added Interface GrafanaDeleteHeaders + - Added Interface GrafanaUpdateHeaders + - Added Interface PrivateEndpointConnectionsApproveHeaders + - Added Interface PrivateEndpointConnectionsDeleteHeaders + - Added Type Alias PrivateEndpointConnectionsDeleteResponse + - Add parameters of PrivateEndpointConnectionsApproveHeaders to TypeAlias PrivateEndpointConnectionsApproveResponse + ## 1.0.1 (2023-01-03) **Features** diff --git a/sdk/dashboard/arm-dashboard/_meta.json b/sdk/dashboard/arm-dashboard/_meta.json index 89f0dc8ebf7f..86c83f2e3dfe 100644 --- a/sdk/dashboard/arm-dashboard/_meta.json +++ b/sdk/dashboard/arm-dashboard/_meta.json @@ -1,8 +1,8 @@ { - "commit": "c1eacd86904b1720511b3f4e683f54d8999c125a", + "commit": "6f9d1c62c9f8a779bfe087905cbdc92127f09ec8", "readme": "specification/dashboard/resource-manager/readme.md", - "autorest_command": "autorest --version=3.9.3 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=F:\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\dashboard\\resource-manager\\readme.md --use=@autorest/typescript@6.0.0-rc.5.20221215.1 --generate-sample=true", + "autorest_command": "autorest --version=3.9.3 --typescript --modelerfour.lenient-model-deduplication --azure-arm --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/dashboard/resource-manager/readme.md --use=@autorest/typescript@6.0.0-rc.10", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.5.4", - "use": "@autorest/typescript@6.0.0-rc.5.20221215.1" + "release_tool": "@azure-tools/js-sdk-release-tools@2.7.0", + "use": "@autorest/typescript@6.0.0-rc.10" } \ No newline at end of file diff --git a/sdk/dashboard/arm-dashboard/package.json b/sdk/dashboard/arm-dashboard/package.json index ac3d0ba238e7..72c48ecb53a9 100644 --- a/sdk/dashboard/arm-dashboard/package.json +++ b/sdk/dashboard/arm-dashboard/package.json @@ -3,15 +3,15 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for DashboardManagementClient.", - "version": "1.0.2", + "version": "1.1.0", "engines": { "node": ">=14.0.0" }, "dependencies": { - "@azure/core-lro": "^2.2.0", + "@azure/core-lro": "^2.5.0", "@azure/abort-controller": "^1.0.0", "@azure/core-paging": "^1.2.0", - "@azure/core-client": "^1.6.1", + "@azure/core-client": "^1.7.0", "@azure/core-auth": "^1.3.0", "@azure/core-rest-pipeline": "^1.8.0", "tslib": "^2.2.0" @@ -33,7 +33,7 @@ "@rollup/plugin-json": "^6.0.0", "@rollup/plugin-multi-entry": "^6.0.0", "@rollup/plugin-node-resolve": "^13.1.3", - "mkdirp": "^1.0.4", + "mkdirp": "^2.1.2", "rollup": "^2.66.1", "rollup-plugin-sourcemaps": "^0.6.3", "typescript": "~4.8.0", @@ -111,13 +111,5 @@ ] }, "autoPublish": true, - "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/dashboard/arm-dashboard", - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-dashboard?view=azure-node-preview" - } -} + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/dashboard/arm-dashboard" +} \ No newline at end of file diff --git a/sdk/dashboard/arm-dashboard/review/arm-dashboard.api.md b/sdk/dashboard/arm-dashboard/review/arm-dashboard.api.md index 6d1e03af9502..600bcc1902e3 100644 --- a/sdk/dashboard/arm-dashboard/review/arm-dashboard.api.md +++ b/sdk/dashboard/arm-dashboard/review/arm-dashboard.api.md @@ -6,9 +6,9 @@ import * as coreAuth from '@azure/core-auth'; import * as coreClient from '@azure/core-client'; +import { OperationState } from '@azure/core-lro'; import { PagedAsyncIterableIterator } from '@azure/core-paging'; -import { PollerLike } from '@azure/core-lro'; -import { PollOperationState } from '@azure/core-lro'; +import { SimplePollerLike } from '@azure/core-lro'; // @public export type ActionType = string; @@ -81,9 +81,9 @@ export function getContinuationToken(page: unknown): string | undefined; // @public export interface Grafana { - beginCreate(resourceGroupName: string, workspaceName: string, requestBodyParameters: ManagedGrafana, options?: GrafanaCreateOptionalParams): Promise, GrafanaCreateResponse>>; + beginCreate(resourceGroupName: string, workspaceName: string, requestBodyParameters: ManagedGrafana, options?: GrafanaCreateOptionalParams): Promise, GrafanaCreateResponse>>; beginCreateAndWait(resourceGroupName: string, workspaceName: string, requestBodyParameters: ManagedGrafana, options?: GrafanaCreateOptionalParams): Promise; - beginDelete(resourceGroupName: string, workspaceName: string, options?: GrafanaDeleteOptionalParams): Promise, void>>; + beginDelete(resourceGroupName: string, workspaceName: string, options?: GrafanaDeleteOptionalParams): Promise, void>>; beginDeleteAndWait(resourceGroupName: string, workspaceName: string, options?: GrafanaDeleteOptionalParams): Promise; get(resourceGroupName: string, workspaceName: string, options?: GrafanaGetOptionalParams): Promise; list(options?: GrafanaListOptionalParams): PagedAsyncIterableIterator; @@ -91,6 +91,11 @@ export interface Grafana { update(resourceGroupName: string, workspaceName: string, requestBodyParameters: ManagedGrafanaUpdateParameters, options?: GrafanaUpdateOptionalParams): Promise; } +// @public +export interface GrafanaCreateHeaders { + azureAsyncOperation?: string; +} + // @public export interface GrafanaCreateOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -100,6 +105,11 @@ export interface GrafanaCreateOptionalParams extends coreClient.OperationOptions // @public export type GrafanaCreateResponse = ManagedGrafana; +// @public +export interface GrafanaDeleteHeaders { + azureAsyncOperation?: string; +} + // @public export interface GrafanaDeleteOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -147,6 +157,11 @@ export interface GrafanaListOptionalParams extends coreClient.OperationOptions { // @public export type GrafanaListResponse = ManagedGrafanaListResponse; +// @public +export interface GrafanaUpdateHeaders { + azureAsyncOperation?: string; +} + // @public export interface GrafanaUpdateOptionalParams extends coreClient.OperationOptions { } @@ -377,14 +392,19 @@ export type PrivateEndpointConnectionProvisioningState = string; // @public export interface PrivateEndpointConnections { - beginApprove(resourceGroupName: string, workspaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsApproveOptionalParams): Promise, PrivateEndpointConnectionsApproveResponse>>; + beginApprove(resourceGroupName: string, workspaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsApproveOptionalParams): Promise, PrivateEndpointConnectionsApproveResponse>>; beginApproveAndWait(resourceGroupName: string, workspaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsApproveOptionalParams): Promise; - beginDelete(resourceGroupName: string, workspaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams): Promise, void>>; - beginDeleteAndWait(resourceGroupName: string, workspaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams): Promise; + beginDelete(resourceGroupName: string, workspaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams): Promise, PrivateEndpointConnectionsDeleteResponse>>; + beginDeleteAndWait(resourceGroupName: string, workspaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams): Promise; get(resourceGroupName: string, workspaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsGetOptionalParams): Promise; list(resourceGroupName: string, workspaceName: string, options?: PrivateEndpointConnectionsListOptionalParams): PagedAsyncIterableIterator; } +// @public +export interface PrivateEndpointConnectionsApproveHeaders { + azureAsyncOperation?: string; +} + // @public export interface PrivateEndpointConnectionsApproveOptionalParams extends coreClient.OperationOptions { body?: PrivateEndpointConnection; @@ -393,7 +413,12 @@ export interface PrivateEndpointConnectionsApproveOptionalParams extends coreCli } // @public -export type PrivateEndpointConnectionsApproveResponse = PrivateEndpointConnection; +export type PrivateEndpointConnectionsApproveResponse = PrivateEndpointConnectionsApproveHeaders & PrivateEndpointConnection; + +// @public +export interface PrivateEndpointConnectionsDeleteHeaders { + azureAsyncOperation?: string; +} // @public export interface PrivateEndpointConnectionsDeleteOptionalParams extends coreClient.OperationOptions { @@ -401,6 +426,9 @@ export interface PrivateEndpointConnectionsDeleteOptionalParams extends coreClie updateIntervalInMs?: number; } +// @public +export type PrivateEndpointConnectionsDeleteResponse = PrivateEndpointConnectionsDeleteHeaders; + // @public export interface PrivateEndpointConnectionsGetOptionalParams extends coreClient.OperationOptions { } diff --git a/sdk/dashboard/arm-dashboard/src/dashboardManagementClient.ts b/sdk/dashboard/arm-dashboard/src/dashboardManagementClient.ts index 4ebb93208649..0297dde9797e 100644 --- a/sdk/dashboard/arm-dashboard/src/dashboardManagementClient.ts +++ b/sdk/dashboard/arm-dashboard/src/dashboardManagementClient.ts @@ -60,7 +60,7 @@ export class DashboardManagementClient extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-dashboard/1.0.2`; + const packageDetails = `azsdk-js-arm-dashboard/1.1.0`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/dashboard/arm-dashboard/src/lroImpl.ts b/sdk/dashboard/arm-dashboard/src/lroImpl.ts index 518d5f053b4e..dd803cd5e28c 100644 --- a/sdk/dashboard/arm-dashboard/src/lroImpl.ts +++ b/sdk/dashboard/arm-dashboard/src/lroImpl.ts @@ -6,29 +6,37 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { AbortSignalLike } from "@azure/abort-controller"; 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" - }); - } +export function createLroSpec(inputs: { + sendOperationFn: (args: any, spec: any) => Promise>; + args: Record; + spec: { + readonly requestBody?: unknown; + readonly path?: string; + readonly httpMethod: string; + } & Record; +}): LongRunningOperation { + const { args, spec, sendOperationFn } = inputs; + return { + requestMethod: spec.httpMethod, + requestPath: spec.path!, + sendInitialRequest: () => sendOperationFn(args, spec), + sendPollRequest: ( + path: string, + options?: { abortSignal?: AbortSignalLike } + ) => { + const { requestBody, ...restSpec } = spec; + return sendOperationFn(args, { + ...restSpec, + httpMethod: "GET", + path, + abortSignal: options?.abortSignal + }); + } + }; } diff --git a/sdk/dashboard/arm-dashboard/src/models/index.ts b/sdk/dashboard/arm-dashboard/src/models/index.ts index ccbd797e51ee..c8138544382e 100644 --- a/sdk/dashboard/arm-dashboard/src/models/index.ts +++ b/sdk/dashboard/arm-dashboard/src/models/index.ts @@ -389,6 +389,36 @@ export interface PrivateLinkResource extends Resource { requiredZoneNames?: string[]; } +/** Defines headers for Grafana_create operation. */ +export interface GrafanaCreateHeaders { + /** Operation URI for long running operation. */ + azureAsyncOperation?: string; +} + +/** Defines headers for Grafana_update operation. */ +export interface GrafanaUpdateHeaders { + /** Operation URI for long running operation. */ + azureAsyncOperation?: string; +} + +/** Defines headers for Grafana_delete operation. */ +export interface GrafanaDeleteHeaders { + /** Operation URI for long running operation. */ + azureAsyncOperation?: string; +} + +/** Defines headers for PrivateEndpointConnections_approve operation. */ +export interface PrivateEndpointConnectionsApproveHeaders { + /** Operation URI for long running operation. */ + azureAsyncOperation?: string; +} + +/** Defines headers for PrivateEndpointConnections_delete operation. */ +export interface PrivateEndpointConnectionsDeleteHeaders { + /** Operation URI for long running operation. */ + azureAsyncOperation?: string; +} + /** Known values of {@link Origin} that the service accepts. */ export enum KnownOrigin { /** User */ @@ -739,7 +769,8 @@ export interface PrivateEndpointConnectionsApproveOptionalParams } /** Contains response data for the approve operation. */ -export type PrivateEndpointConnectionsApproveResponse = PrivateEndpointConnection; +export type PrivateEndpointConnectionsApproveResponse = PrivateEndpointConnectionsApproveHeaders & + PrivateEndpointConnection; /** Optional parameters. */ export interface PrivateEndpointConnectionsDeleteOptionalParams @@ -750,6 +781,9 @@ export interface PrivateEndpointConnectionsDeleteOptionalParams resumeFrom?: string; } +/** Contains response data for the delete operation. */ +export type PrivateEndpointConnectionsDeleteResponse = PrivateEndpointConnectionsDeleteHeaders; + /** Optional parameters. */ export interface PrivateEndpointConnectionsListOptionalParams extends coreClient.OperationOptions {} diff --git a/sdk/dashboard/arm-dashboard/src/models/mappers.ts b/sdk/dashboard/arm-dashboard/src/models/mappers.ts index 0c9895827d3b..6d10d10c4afe 100644 --- a/sdk/dashboard/arm-dashboard/src/models/mappers.ts +++ b/sdk/dashboard/arm-dashboard/src/models/mappers.ts @@ -865,3 +865,78 @@ export const PrivateLinkResource: coreClient.CompositeMapper = { } } }; + +export const GrafanaCreateHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GrafanaCreateHeaders", + modelProperties: { + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } + } + } + } +}; + +export const GrafanaUpdateHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GrafanaUpdateHeaders", + modelProperties: { + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } + } + } + } +}; + +export const GrafanaDeleteHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GrafanaDeleteHeaders", + modelProperties: { + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } + } + } + } +}; + +export const PrivateEndpointConnectionsApproveHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointConnectionsApproveHeaders", + modelProperties: { + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } + } + } + } +}; + +export const PrivateEndpointConnectionsDeleteHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointConnectionsDeleteHeaders", + modelProperties: { + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } + } + } + } +}; diff --git a/sdk/dashboard/arm-dashboard/src/operations/grafana.ts b/sdk/dashboard/arm-dashboard/src/operations/grafana.ts index d73df6abdf66..eb086a10cf95 100644 --- a/sdk/dashboard/arm-dashboard/src/operations/grafana.ts +++ b/sdk/dashboard/arm-dashboard/src/operations/grafana.ts @@ -13,8 +13,12 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { DashboardManagementClient } from "../dashboardManagementClient"; -import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; -import { LroImpl } from "../lroImpl"; +import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; import { ManagedGrafana, GrafanaListNextOptionalParams, @@ -227,7 +231,10 @@ export class GrafanaImpl implements Grafana { requestBodyParameters: ManagedGrafana, options?: GrafanaCreateOptionalParams ): Promise< - PollerLike, GrafanaCreateResponse> + SimplePollerLike< + OperationState, + GrafanaCreateResponse + > > { const directSendOperation = async ( args: coreClient.OperationArguments, @@ -235,7 +242,7 @@ export class GrafanaImpl implements Grafana { ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -268,15 +275,23 @@ export class GrafanaImpl implements Grafana { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, workspaceName, requestBodyParameters, options }, - createOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, + const lro = createLroSpec({ + sendOperationFn, + args: { + resourceGroupName, + workspaceName, + requestBodyParameters, + options + }, + spec: createOperationSpec + }); + const poller = await createHttpPoller< + GrafanaCreateResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs, - lroResourceLocationConfig: "azure-async-operation" + resourceLocationConfig: "azure-async-operation" }); await poller.poll(); return poller; @@ -334,14 +349,14 @@ export class GrafanaImpl implements Grafana { resourceGroupName: string, workspaceName: string, options?: GrafanaDeleteOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -374,15 +389,15 @@ export class GrafanaImpl implements Grafana { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, workspaceName, options }, - deleteOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, workspaceName, options }, + spec: deleteOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs, - lroResourceLocationConfig: "azure-async-operation" + resourceLocationConfig: "azure-async-operation" }); await poller.poll(); return poller; @@ -543,7 +558,8 @@ const updateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ManagedGrafana }, 202: { - bodyMapper: Mappers.ManagedGrafana + bodyMapper: Mappers.ManagedGrafana, + headersMapper: Mappers.GrafanaUpdateHeaders }, default: { bodyMapper: Mappers.ErrorResponse diff --git a/sdk/dashboard/arm-dashboard/src/operations/privateEndpointConnections.ts b/sdk/dashboard/arm-dashboard/src/operations/privateEndpointConnections.ts index 5e6408f4fd9f..76200fe9178c 100644 --- a/sdk/dashboard/arm-dashboard/src/operations/privateEndpointConnections.ts +++ b/sdk/dashboard/arm-dashboard/src/operations/privateEndpointConnections.ts @@ -13,8 +13,12 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { DashboardManagementClient } from "../dashboardManagementClient"; -import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; -import { LroImpl } from "../lroImpl"; +import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; import { PrivateEndpointConnection, PrivateEndpointConnectionsListNextOptionalParams, @@ -25,6 +29,7 @@ import { PrivateEndpointConnectionsApproveOptionalParams, PrivateEndpointConnectionsApproveResponse, PrivateEndpointConnectionsDeleteOptionalParams, + PrivateEndpointConnectionsDeleteResponse, PrivateEndpointConnectionsListNextResponse } from "../models"; @@ -155,8 +160,8 @@ export class PrivateEndpointConnectionsImpl privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsApproveOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, PrivateEndpointConnectionsApproveResponse > > { @@ -166,7 +171,7 @@ export class PrivateEndpointConnectionsImpl ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -199,20 +204,23 @@ export class PrivateEndpointConnectionsImpl }; }; - const lro = new LroImpl( - sendOperation, - { + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, workspaceName, privateEndpointConnectionName, options }, - approveOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, + spec: approveOperationSpec + }); + const poller = await createHttpPoller< + PrivateEndpointConnectionsApproveResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs, - lroResourceLocationConfig: "azure-async-operation" + resourceLocationConfig: "azure-async-operation" }); await poller.poll(); return poller; @@ -252,14 +260,19 @@ export class PrivateEndpointConnectionsImpl workspaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams - ): Promise, void>> { + ): Promise< + SimplePollerLike< + OperationState, + PrivateEndpointConnectionsDeleteResponse + > + > { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec - ): Promise => { + ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -292,20 +305,23 @@ export class PrivateEndpointConnectionsImpl }; }; - const lro = new LroImpl( - sendOperation, - { + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, workspaceName, privateEndpointConnectionName, options }, - deleteOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, + spec: deleteOperationSpec + }); + const poller = await createHttpPoller< + PrivateEndpointConnectionsDeleteResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs, - lroResourceLocationConfig: "azure-async-operation" + resourceLocationConfig: "azure-async-operation" }); await poller.poll(); return poller; @@ -323,7 +339,7 @@ export class PrivateEndpointConnectionsImpl workspaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams - ): Promise { + ): Promise { const poller = await this.beginDelete( resourceGroupName, workspaceName, @@ -401,16 +417,20 @@ const approveOperationSpec: coreClient.OperationSpec = { httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.PrivateEndpointConnection + bodyMapper: Mappers.PrivateEndpointConnection, + headersMapper: Mappers.PrivateEndpointConnectionsApproveHeaders }, 201: { - bodyMapper: Mappers.PrivateEndpointConnection + bodyMapper: Mappers.PrivateEndpointConnection, + headersMapper: Mappers.PrivateEndpointConnectionsApproveHeaders }, 202: { - bodyMapper: Mappers.PrivateEndpointConnection + bodyMapper: Mappers.PrivateEndpointConnection, + headersMapper: Mappers.PrivateEndpointConnectionsApproveHeaders }, 204: { - bodyMapper: Mappers.PrivateEndpointConnection + bodyMapper: Mappers.PrivateEndpointConnection, + headersMapper: Mappers.PrivateEndpointConnectionsApproveHeaders }, default: { bodyMapper: Mappers.ErrorResponse @@ -434,10 +454,18 @@ const deleteOperationSpec: coreClient.OperationSpec = { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Dashboard/grafana/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}", httpMethod: "DELETE", responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, + 200: { + headersMapper: Mappers.PrivateEndpointConnectionsDeleteHeaders + }, + 201: { + headersMapper: Mappers.PrivateEndpointConnectionsDeleteHeaders + }, + 202: { + headersMapper: Mappers.PrivateEndpointConnectionsDeleteHeaders + }, + 204: { + headersMapper: Mappers.PrivateEndpointConnectionsDeleteHeaders + }, default: { bodyMapper: Mappers.ErrorResponse } diff --git a/sdk/dashboard/arm-dashboard/src/operationsInterfaces/grafana.ts b/sdk/dashboard/arm-dashboard/src/operationsInterfaces/grafana.ts index 51f8e7ff81e9..2bd60eaaccb1 100644 --- a/sdk/dashboard/arm-dashboard/src/operationsInterfaces/grafana.ts +++ b/sdk/dashboard/arm-dashboard/src/operationsInterfaces/grafana.ts @@ -7,7 +7,7 @@ */ import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; import { ManagedGrafana, GrafanaListOptionalParams, @@ -66,7 +66,10 @@ export interface Grafana { requestBodyParameters: ManagedGrafana, options?: GrafanaCreateOptionalParams ): Promise< - PollerLike, GrafanaCreateResponse> + SimplePollerLike< + OperationState, + GrafanaCreateResponse + > >; /** * Create or update a workspace for Grafana resource. This API is idempotent, so user can either create @@ -105,7 +108,7 @@ export interface Grafana { resourceGroupName: string, workspaceName: string, options?: GrafanaDeleteOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Delete a workspace for Grafana resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. diff --git a/sdk/dashboard/arm-dashboard/src/operationsInterfaces/privateEndpointConnections.ts b/sdk/dashboard/arm-dashboard/src/operationsInterfaces/privateEndpointConnections.ts index 64231d766cca..e28ef9b34592 100644 --- a/sdk/dashboard/arm-dashboard/src/operationsInterfaces/privateEndpointConnections.ts +++ b/sdk/dashboard/arm-dashboard/src/operationsInterfaces/privateEndpointConnections.ts @@ -7,7 +7,7 @@ */ import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; import { PrivateEndpointConnection, PrivateEndpointConnectionsListOptionalParams, @@ -15,7 +15,8 @@ import { PrivateEndpointConnectionsGetResponse, PrivateEndpointConnectionsApproveOptionalParams, PrivateEndpointConnectionsApproveResponse, - PrivateEndpointConnectionsDeleteOptionalParams + PrivateEndpointConnectionsDeleteOptionalParams, + PrivateEndpointConnectionsDeleteResponse } from "../models"; /// @@ -58,8 +59,8 @@ export interface PrivateEndpointConnections { privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsApproveOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, PrivateEndpointConnectionsApproveResponse > >; @@ -88,7 +89,12 @@ export interface PrivateEndpointConnections { workspaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams - ): Promise, void>>; + ): Promise< + SimplePollerLike< + OperationState, + PrivateEndpointConnectionsDeleteResponse + > + >; /** * Delete private endpoint connection * @param resourceGroupName The name of the resource group. The name is case insensitive. @@ -101,5 +107,5 @@ export interface PrivateEndpointConnections { workspaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams - ): Promise; + ): Promise; } diff --git a/sdk/dashboard/arm-dashboard/tsconfig.json b/sdk/dashboard/arm-dashboard/tsconfig.json index d6251f79964f..3e6ae96443f3 100644 --- a/sdk/dashboard/arm-dashboard/tsconfig.json +++ b/sdk/dashboard/arm-dashboard/tsconfig.json @@ -15,17 +15,11 @@ ], "declaration": true, "outDir": "./dist-esm", - "importHelpers": true, - "paths": { - "@azure/arm-dashboard": [ - "./src/index" - ] - } + "importHelpers": true }, "include": [ "./src/**/*.ts", - "./test/**/*.ts", - "samples-dev/**/*.ts" + "./test/**/*.ts" ], "exclude": [ "node_modules"