From f693f9c3503ba56f23a39d1b1bc13b78f1cd2009 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Sat, 18 Mar 2023 00:59:34 +0000 Subject: [PATCH] CodeGen from PR 23159 in Azure/azure-rest-api-specs Merge dd68c545b43b91166baa3345006f29c301e8984b into 72664c83300dfaf6782e22822a5aae0b0df92735 --- common/config/rush/pnpm-lock.yaml | 47 +++++--- .../arm-reservations/CHANGELOG.md | 19 ++-- sdk/reservations/arm-reservations/_meta.json | 8 +- .../arm-reservations/package.json | 24 ++-- .../review/arm-reservations.api.md | 28 ++--- .../src/azureReservationAPI.ts | 2 +- .../arm-reservations/src/lroImpl.ts | 54 +++++---- .../arm-reservations/src/models/index.ts | 10 +- .../arm-reservations/src/models/mappers.ts | 14 +++ .../src/operations/calculateExchange.ts | 33 +++--- .../src/operations/exchange.ts | 31 +++-- .../arm-reservations/src/operations/quota.ts | 56 +++++---- .../src/operations/reservation.ts | 106 ++++++++++-------- .../src/operations/reservationOrder.ts | 33 +++--- .../arm-reservations/src/operations/return.ts | 43 +++---- .../operationsInterfaces/calculateExchange.ts | 6 +- .../src/operationsInterfaces/exchange.ts | 4 +- .../src/operationsInterfaces/quota.ts | 8 +- .../src/operationsInterfaces/reservation.ts | 18 +-- .../operationsInterfaces/reservationOrder.ts | 6 +- .../src/operationsInterfaces/return.ts | 4 +- .../arm-reservations/test/sampleTest.ts | 43 +++++++ .../arm-reservations/tsconfig.json | 10 +- 23 files changed, 365 insertions(+), 242 deletions(-) create mode 100644 sdk/reservations/arm-reservations/test/sampleTest.ts diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index c9cc16feff49..f243edfc219f 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -706,6 +706,19 @@ packages: - supports-color dev: false + /@azure-tools/test-recorder/2.0.0: + resolution: {integrity: sha512-OTic1OwOk25B8ecdMQ4wgyDaUNMMw0qzO4/0sy9ScPXWLmUFGMlkS0+BOQ2K9t8WCksM/wU+NjUZo/5T4zaG6A==} + engines: {node: '>=12.0.0'} + dependencies: + '@azure/core-auth': 1.4.0 + '@azure/core-http': 2.3.1 + '@azure/core-rest-pipeline': 1.10.2 + '@azure/core-util': 1.2.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + /@azure/abort-controller/1.1.0: resolution: {integrity: sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==} engines: {node: '>=12.0.0'} @@ -3873,7 +3886,7 @@ packages: dependencies: semver: 7.3.8 shelljs: 0.8.5 - typescript: 5.1.0-dev.20230313 + typescript: 5.1.0-dev.20230317 dev: false /ecdsa-sig-formatter/1.0.11: @@ -8723,14 +8736,14 @@ packages: hasBin: true dev: false - /typescript/4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} + /typescript/5.0.2: + resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==} + engines: {node: '>=12.20'} hasBin: true dev: false - /typescript/5.1.0-dev.20230313: - resolution: {integrity: sha512-vveGdy/uNUyKJ/JbXsJTSP8Z8gfCRsiXdHBMbvJ2XzuzHsDQC3mR+ZPvIGrXoTWMn5XNbyJ8ufYuqGiCGTi6tg==} + /typescript/5.1.0-dev.20230317: + resolution: {integrity: sha512-lR/iU0NE0ddDmcntdkm4Ta/yJ80pxxUh/srjKRy77TUGlSB6AhhuGzBF2Xn6G6odXqwvh7hy5EuqqsoMdNC5XA==} engines: {node: '>=12.20'} hasBin: true dev: false @@ -13311,7 +13324,7 @@ packages: dev: false file:projects/arm-network-1.tgz: - resolution: {integrity: sha512-h69TQy3Jv3Sq4nOUUoQ1PqUMQ5vPWhMxTAhPG2D0ci1lXMpmDgg0eLov6oGX5/Q1uzaa4yXyc4OToGLF7p3BBA==, tarball: file:projects/arm-network-1.tgz} + resolution: {integrity: sha512-HP4VbHNAjhBlsVcszfjybzzFd7MlgIBwbEnYhkPOk+uNySUPuU1whPAIPsgcbAkwf90ulTjitwCRSmBdf91Zhg==, tarball: file:projects/arm-network-1.tgz} name: '@rush-temp/arm-network-1' version: 0.0.0 dependencies: @@ -13336,7 +13349,6 @@ packages: typescript: 4.8.4 uglify-js: 3.17.4 transitivePeerDependencies: - - encoding - supports-color dev: false @@ -14098,10 +14110,11 @@ packages: dev: false file:projects/arm-reservations.tgz: - resolution: {integrity: sha512-bH0kWF/WMJ3fK2rW+Zv1s73gm0iKcuDVUTu/H8ESgwsCN6d/TiZTN+wo40eKfniNj3nEbUAZr9atvoKKxu7INg==, tarball: file:projects/arm-reservations.tgz} + resolution: {integrity: sha512-PmakSrMhRMJuKM6IhPj3oXfwftIM0bGUMelePj1r6vthtvT4WIBg/G6Qq0dmUHCpw38BDqHeAsMH/FvVrKLnCQ==, tarball: file:projects/arm-reservations.tgz} name: '@rush-temp/arm-reservations' version: 0.0.0 dependencies: + '@azure-tools/test-recorder': 2.0.0 '@azure/identity': 2.1.0 '@microsoft/api-extractor': 7.34.4_@types+node@14.18.37 '@rollup/plugin-commonjs': 24.0.1_rollup@2.79.1 @@ -14112,8 +14125,8 @@ packages: '@types/node': 14.18.37 chai: 4.3.7 cross-env: 7.0.3 - dotenv: 8.6.0 - mkdirp: 1.0.4 + dotenv: 16.0.3 + mkdirp: 2.1.5 mocha: 7.2.0 rimraf: 3.0.2 rollup: 2.79.1 @@ -14122,6 +14135,7 @@ packages: typescript: 4.8.4 uglify-js: 3.17.4 transitivePeerDependencies: + - encoding - supports-color dev: false @@ -15298,7 +15312,7 @@ packages: dev: false file:projects/arm-webpubsub.tgz: - resolution: {integrity: sha512-EjFMfROIleuK8B/I2xiUMpXg9aBaxGkT+2uR4P51hS5oe+lmBVqnCJ8dlkGKbauBdwBqjt6jxeouvPWmCHBbjA==, tarball: file:projects/arm-webpubsub.tgz} + resolution: {integrity: sha512-p2yKPQQABjap5rsdwWPO/pDmLhwsEZfsd5KjA7TU/rb+kwJu3OG6ZCfBsJj6OIT5+0ZuVabpLVOQgZCJzTVxRw==, tarball: file:projects/arm-webpubsub.tgz} name: '@rush-temp/arm-webpubsub' version: 0.0.0 dependencies: @@ -15323,7 +15337,6 @@ packages: typescript: 4.8.4 uglify-js: 3.17.4 transitivePeerDependencies: - - encoding - supports-color dev: false @@ -15517,7 +15530,7 @@ packages: chai: 4.3.7 cross-env: 7.0.3 dotenv: 16.0.3 - eslint: 8.35.0 + eslint: 8.36.0 events: 3.3.0 inherits: 2.0.4 karma: 6.4.1 @@ -16736,7 +16749,7 @@ packages: name: '@rush-temp/dev-tool' version: 0.0.0 dependencies: - '@_ts/max': /typescript/4.9.5 + '@_ts/max': /typescript/5.0.2 '@_ts/min': /typescript/4.2.4 '@microsoft/api-extractor': 7.34.4_@types+node@14.18.37 '@rollup/plugin-commonjs': 24.0.1_rollup@2.79.1 @@ -16912,7 +16925,7 @@ packages: dev: false file:projects/event-hubs.tgz: - resolution: {integrity: sha512-19yBgs9YYynzl6fcHlrWVHrqz+5BQlzWhXk8R3s70JGbf7ZvQRCznNpM6n7MHUZU/n1OnqPB4Bw0tt+ADqxtQg==, tarball: file:projects/event-hubs.tgz} + resolution: {integrity: sha512-5TzCX3EbyrKQTJlA9IvX6pwajWdeU/5wOtqYoq6r/1DGoI87ffCek+ws57UkSExMwKw0gg6E1wDG0uFUMpzcPQ==, tarball: file:projects/event-hubs.tgz} name: '@rush-temp/event-hubs' version: 0.0.0 dependencies: @@ -19057,7 +19070,7 @@ packages: dev: false file:projects/service-bus.tgz: - resolution: {integrity: sha512-capTfQmTOxtimRb9xqcMuZE6wAVbDx1EK+GllnqYjLm3+sMfyB71R9JLbhN0ncmTeweJVv5/RnKxTbAsJUNSEw==, tarball: file:projects/service-bus.tgz} + resolution: {integrity: sha512-WsequaezjWAVEEDEhVWOq+MwN7tcmgtiCPZS4o7B4HuT2u9JW90z0k2uJTkQzhwozGU/G1GFai8EJw5xIAoxZA==, tarball: file:projects/service-bus.tgz} name: '@rush-temp/service-bus' version: 0.0.0 dependencies: diff --git a/sdk/reservations/arm-reservations/CHANGELOG.md b/sdk/reservations/arm-reservations/CHANGELOG.md index f00fe2b74bdd..892d087f2502 100644 --- a/sdk/reservations/arm-reservations/CHANGELOG.md +++ b/sdk/reservations/arm-reservations/CHANGELOG.md @@ -1,15 +1,18 @@ # Release History + +## 9.0.0 (2023-03-18) + +**Features** -## 8.0.1 (Unreleased) - -### Features Added - -### Breaking Changes - -### Bugs Fixed + - Interface CatalogMsrp has a new optional parameter p3Y + - Interface CatalogMsrp has a new optional parameter p5Y -### Other Changes +**Breaking Changes** + - Delete parameters of ReturnPostHeaders in TypeAlias ReturnPostResponse + - Delete parameters of RefundResponse in TypeAlias ReturnPostResponse + + ## 8.0.0 (2023-02-01) **Features** diff --git a/sdk/reservations/arm-reservations/_meta.json b/sdk/reservations/arm-reservations/_meta.json index fe909099c746..fbc939e9e2b9 100644 --- a/sdk/reservations/arm-reservations/_meta.json +++ b/sdk/reservations/arm-reservations/_meta.json @@ -1,8 +1,8 @@ { - "commit": "64fe6ca10ff6a40a8c0c5bc82eb34486c202fee7", + "commit": "9c6f3a97747a20b3a10766ba52e8a16584bf343d", "readme": "specification/reservations/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\\reservations\\resource-manager\\readme.md --use=@autorest/typescript@6.0.0-rc.7 --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/reservations/resource-manager/readme.md --use=@autorest/typescript@6.0.0-rc.9", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.6.0", - "use": "@autorest/typescript@6.0.0-rc.7" + "release_tool": "@azure-tools/js-sdk-release-tools@2.6.2", + "use": "@autorest/typescript@6.0.0-rc.9" } \ No newline at end of file diff --git a/sdk/reservations/arm-reservations/package.json b/sdk/reservations/arm-reservations/package.json index 762ec1007974..e2856aabc6c4 100644 --- a/sdk/reservations/arm-reservations/package.json +++ b/sdk/reservations/arm-reservations/package.json @@ -3,15 +3,15 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for AzureReservationAPI.", - "version": "8.0.1", + "version": "9.0.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,15 +33,15 @@ "@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", "uglify-js": "^3.4.9", "rimraf": "^3.0.0", - "dotenv": "^8.2.0", + "dotenv": "^16.0.0", "@azure/identity": "^2.0.1", - "@azure-tools/test-recorder": "^3.0.0", + "@azure-tools/test-recorder": "^2.0.0", "@azure-tools/test-credential": "^1.0.0", "mocha": "^7.1.1", "@types/chai": "^4.2.8", @@ -111,13 +111,5 @@ ] }, "autoPublish": true, - "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/reservations/arm-reservations", - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-reservations?view=azure-node-preview" - } -} + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/reservations/arm-reservations" +} \ No newline at end of file diff --git a/sdk/reservations/arm-reservations/review/arm-reservations.api.md b/sdk/reservations/arm-reservations/review/arm-reservations.api.md index 6de384948dda..1771383932c6 100644 --- a/sdk/reservations/arm-reservations/review/arm-reservations.api.md +++ b/sdk/reservations/arm-reservations/review/arm-reservations.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 interface AppliedReservationList { @@ -98,7 +98,7 @@ export type BillingPlan = string; // @public export interface CalculateExchange { - beginPost(body: CalculateExchangeRequest, options?: CalculateExchangePostOptionalParams): Promise, CalculateExchangePostResponse>>; + beginPost(body: CalculateExchangeRequest, options?: CalculateExchangePostOptionalParams): Promise, CalculateExchangePostResponse>>; beginPostAndWait(body: CalculateExchangeRequest, options?: CalculateExchangePostOptionalParams): Promise; } @@ -238,6 +238,8 @@ export interface Catalog { // @public export interface CatalogMsrp { p1Y?: Price; + p3Y?: Price; + p5Y?: Price; } // @public @@ -331,7 +333,7 @@ export interface ExceptionResponse { // @public export interface Exchange { - beginPost(body: ExchangeRequest, options?: ExchangePostOptionalParams): Promise, ExchangePostResponse>>; + beginPost(body: ExchangeRequest, options?: ExchangePostOptionalParams): Promise, ExchangePostResponse>>; beginPostAndWait(body: ExchangeRequest, options?: ExchangePostOptionalParams): Promise; } @@ -867,9 +869,9 @@ export interface PurchaseRequestPropertiesReservedResourceProperties { // @public export interface Quota { - beginCreateOrUpdate(subscriptionId: string, providerId: string, location: string, resourceName: string, createQuotaRequest: CurrentQuotaLimitBase, options?: QuotaCreateOrUpdateOptionalParams): Promise, QuotaCreateOrUpdateResponse>>; + beginCreateOrUpdate(subscriptionId: string, providerId: string, location: string, resourceName: string, createQuotaRequest: CurrentQuotaLimitBase, options?: QuotaCreateOrUpdateOptionalParams): Promise, QuotaCreateOrUpdateResponse>>; beginCreateOrUpdateAndWait(subscriptionId: string, providerId: string, location: string, resourceName: string, createQuotaRequest: CurrentQuotaLimitBase, options?: QuotaCreateOrUpdateOptionalParams): Promise; - beginUpdate(subscriptionId: string, providerId: string, location: string, resourceName: string, createQuotaRequest: CurrentQuotaLimitBase, options?: QuotaUpdateOptionalParams): Promise, QuotaUpdateResponse>>; + beginUpdate(subscriptionId: string, providerId: string, location: string, resourceName: string, createQuotaRequest: CurrentQuotaLimitBase, options?: QuotaUpdateOptionalParams): Promise, QuotaUpdateResponse>>; beginUpdateAndWait(subscriptionId: string, providerId: string, location: string, resourceName: string, createQuotaRequest: CurrentQuotaLimitBase, options?: QuotaUpdateOptionalParams): Promise; get(subscriptionId: string, providerId: string, location: string, resourceName: string, options?: QuotaGetOptionalParams): Promise; list(subscriptionId: string, providerId: string, location: string, options?: QuotaListOptionalParams): PagedAsyncIterableIterator; @@ -1123,13 +1125,13 @@ export interface RenewPropertiesResponsePricingCurrencyTotal { // @public export interface Reservation { archive(reservationOrderId: string, reservationId: string, options?: ReservationArchiveOptionalParams): Promise; - beginAvailableScopes(reservationOrderId: string, reservationId: string, body: AvailableScopeRequest, options?: ReservationAvailableScopesOptionalParams): Promise, ReservationAvailableScopesResponse>>; + beginAvailableScopes(reservationOrderId: string, reservationId: string, body: AvailableScopeRequest, options?: ReservationAvailableScopesOptionalParams): Promise, ReservationAvailableScopesResponse>>; beginAvailableScopesAndWait(reservationOrderId: string, reservationId: string, body: AvailableScopeRequest, options?: ReservationAvailableScopesOptionalParams): Promise; - beginMerge(reservationOrderId: string, body: MergeRequest, options?: ReservationMergeOptionalParams): Promise, ReservationMergeResponse>>; + beginMerge(reservationOrderId: string, body: MergeRequest, options?: ReservationMergeOptionalParams): Promise, ReservationMergeResponse>>; beginMergeAndWait(reservationOrderId: string, body: MergeRequest, options?: ReservationMergeOptionalParams): Promise; - beginSplit(reservationOrderId: string, body: SplitRequest, options?: ReservationSplitOptionalParams): Promise, ReservationSplitResponse>>; + beginSplit(reservationOrderId: string, body: SplitRequest, options?: ReservationSplitOptionalParams): Promise, ReservationSplitResponse>>; beginSplitAndWait(reservationOrderId: string, body: SplitRequest, options?: ReservationSplitOptionalParams): Promise; - beginUpdate(reservationOrderId: string, reservationId: string, parameters: Patch, options?: ReservationUpdateOptionalParams): Promise, ReservationUpdateResponse>>; + beginUpdate(reservationOrderId: string, reservationId: string, parameters: Patch, options?: ReservationUpdateOptionalParams): Promise, ReservationUpdateResponse>>; beginUpdateAndWait(reservationOrderId: string, reservationId: string, parameters: Patch, options?: ReservationUpdateOptionalParams): Promise; get(reservationOrderId: string, reservationId: string, options?: ReservationGetOptionalParams): Promise; list(reservationOrderId: string, options?: ReservationListOptionalParams): PagedAsyncIterableIterator; @@ -1240,7 +1242,7 @@ export type ReservationMergeResponse = ReservationResponse[]; // @public export interface ReservationOrder { - beginPurchase(reservationOrderId: string, body: PurchaseRequest, options?: ReservationOrderPurchaseOptionalParams): Promise, ReservationOrderPurchaseResponse>>; + beginPurchase(reservationOrderId: string, body: PurchaseRequest, options?: ReservationOrderPurchaseOptionalParams): Promise, ReservationOrderPurchaseResponse>>; beginPurchaseAndWait(reservationOrderId: string, body: PurchaseRequest, options?: ReservationOrderPurchaseOptionalParams): Promise; calculate(body: PurchaseRequest, options?: ReservationOrderCalculateOptionalParams): Promise; changeDirectory(reservationOrderId: string, body: ChangeDirectoryRequest, options?: ReservationOrderChangeDirectoryOptionalParams): Promise; @@ -1535,7 +1537,7 @@ export type ResourceType = string; // @public export interface Return { - beginPost(reservationOrderId: string, body: RefundRequest, options?: ReturnPostOptionalParams): Promise, ReturnPostResponse>>; + beginPost(reservationOrderId: string, body: RefundRequest, options?: ReturnPostOptionalParams): Promise, ReturnPostResponse>>; beginPostAndWait(reservationOrderId: string, body: RefundRequest, options?: ReturnPostOptionalParams): Promise; } @@ -1552,7 +1554,7 @@ export interface ReturnPostOptionalParams extends coreClient.OperationOptions { } // @public -export type ReturnPostResponse = ReturnPostHeaders & RefundResponse; +export type ReturnPostResponse = ReservationOrderResponse; // @public export interface SavingsPlanPurchaseRequest { diff --git a/sdk/reservations/arm-reservations/src/azureReservationAPI.ts b/sdk/reservations/arm-reservations/src/azureReservationAPI.ts index 9faa65da9543..1f8b5cb7d23e 100644 --- a/sdk/reservations/arm-reservations/src/azureReservationAPI.ts +++ b/sdk/reservations/arm-reservations/src/azureReservationAPI.ts @@ -72,7 +72,7 @@ export class AzureReservationAPI extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-reservations/8.0.1`; + const packageDetails = `azsdk-js-arm-reservations/9.0.0`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/reservations/arm-reservations/src/lroImpl.ts b/sdk/reservations/arm-reservations/src/lroImpl.ts index 518d5f053b4e..dd803cd5e28c 100644 --- a/sdk/reservations/arm-reservations/src/lroImpl.ts +++ b/sdk/reservations/arm-reservations/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/reservations/arm-reservations/src/models/index.ts b/sdk/reservations/arm-reservations/src/models/index.ts index 7c578a51bf82..80d0f1faccad 100644 --- a/sdk/reservations/arm-reservations/src/models/index.ts +++ b/sdk/reservations/arm-reservations/src/models/index.ts @@ -121,6 +121,10 @@ export interface SkuProperty { export interface CatalogMsrp { /** Amount in pricing currency. Tax not included. */ p1Y?: Price; + /** Amount in pricing currency. Tax not included. */ + p3Y?: Price; + /** Amount in pricing currency. Tax not included. */ + p5Y?: Price; } /** Pricing information containing the amount and the currency code */ @@ -196,7 +200,7 @@ export interface PurchaseRequest { displayName?: string; /** Type of the Applied Scope. */ appliedScopeType?: AppliedScopeType; - /** List of the subscriptions that the benefit will be applied. Do not specify if AppliedScopeType is Shared. */ + /** List of the subscriptions that the benefit will be applied. Do not specify if AppliedScopeType is Shared. This property will be deprecated and replaced by appliedScopeProperties instead for Single AppliedScopeType. */ appliedScopes?: string[]; /** Properties specific to applied scope type. Not required if not applicable. Required and need to provide tenantId and managementGroupId if AppliedScopeType is ManagementGroup */ appliedScopeProperties?: AppliedScopeProperties; @@ -610,7 +614,7 @@ export interface ReservationList { export interface Patch { /** Type of the Applied Scope. */ appliedScopeType?: AppliedScopeType; - /** List of the subscriptions that the benefit will be applied. Do not specify if AppliedScopeType is Shared. */ + /** List of the subscriptions that the benefit will be applied. Do not specify if AppliedScopeType is Shared. This property will be deprecated and replaced by appliedScopeProperties instead for Single AppliedScopeType. */ appliedScopes?: string[]; /** Properties specific to applied scope type. Not required if not applicable. Required and need to provide tenantId and managementGroupId if AppliedScopeType is ManagementGroup */ appliedScopeProperties?: AppliedScopeProperties; @@ -2621,7 +2625,7 @@ export interface ReturnPostOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the post operation. */ -export type ReturnPostResponse = ReturnPostHeaders & RefundResponse; +export type ReturnPostResponse = ReservationOrderResponse; /** Optional parameters. */ export interface CalculateExchangePostOptionalParams diff --git a/sdk/reservations/arm-reservations/src/models/mappers.ts b/sdk/reservations/arm-reservations/src/models/mappers.ts index a1fe563cb29d..63e525438ae6 100644 --- a/sdk/reservations/arm-reservations/src/models/mappers.ts +++ b/sdk/reservations/arm-reservations/src/models/mappers.ts @@ -322,6 +322,20 @@ export const CatalogMsrp: coreClient.CompositeMapper = { name: "Composite", className: "Price" } + }, + p3Y: { + serializedName: "p3Y", + type: { + name: "Composite", + className: "Price" + } + }, + p5Y: { + serializedName: "p5Y", + type: { + name: "Composite", + className: "Price" + } } } } diff --git a/sdk/reservations/arm-reservations/src/operations/calculateExchange.ts b/sdk/reservations/arm-reservations/src/operations/calculateExchange.ts index 9e9d81e16658..0929f4d45330 100644 --- a/sdk/reservations/arm-reservations/src/operations/calculateExchange.ts +++ b/sdk/reservations/arm-reservations/src/operations/calculateExchange.ts @@ -11,8 +11,12 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { AzureReservationAPI } from "../azureReservationAPI"; -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 { CalculateExchangeRequest, CalculateExchangePostOptionalParams, @@ -41,8 +45,8 @@ export class CalculateExchangeImpl implements CalculateExchange { body: CalculateExchangeRequest, options?: CalculateExchangePostOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, CalculateExchangePostResponse > > { @@ -52,7 +56,7 @@ export class CalculateExchangeImpl implements CalculateExchange { ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -85,15 +89,18 @@ export class CalculateExchangeImpl implements CalculateExchange { }; }; - const lro = new LroImpl( - sendOperation, - { body, options }, - postOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, + const lro = createLroSpec({ + sendOperationFn, + args: { body, options }, + spec: postOperationSpec + }); + const poller = await createHttpPoller< + CalculateExchangePostResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs, - lroResourceLocationConfig: "azure-async-operation" + resourceLocationConfig: "azure-async-operation" }); await poller.poll(); return poller; diff --git a/sdk/reservations/arm-reservations/src/operations/exchange.ts b/sdk/reservations/arm-reservations/src/operations/exchange.ts index b1075adc8bb6..f5caaba68f7b 100644 --- a/sdk/reservations/arm-reservations/src/operations/exchange.ts +++ b/sdk/reservations/arm-reservations/src/operations/exchange.ts @@ -11,8 +11,12 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { AzureReservationAPI } from "../azureReservationAPI"; -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 { ExchangeRequest, ExchangePostOptionalParams, @@ -41,7 +45,7 @@ export class ExchangeImpl implements Exchange { body: ExchangeRequest, options?: ExchangePostOptionalParams ): Promise< - PollerLike, ExchangePostResponse> + SimplePollerLike, ExchangePostResponse> > { const directSendOperation = async ( args: coreClient.OperationArguments, @@ -49,7 +53,7 @@ export class ExchangeImpl implements Exchange { ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -82,15 +86,18 @@ export class ExchangeImpl implements Exchange { }; }; - const lro = new LroImpl( - sendOperation, - { body, options }, - postOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, + const lro = createLroSpec({ + sendOperationFn, + args: { body, options }, + spec: postOperationSpec + }); + const poller = await createHttpPoller< + ExchangePostResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs, - lroResourceLocationConfig: "azure-async-operation" + resourceLocationConfig: "azure-async-operation" }); await poller.poll(); return poller; diff --git a/sdk/reservations/arm-reservations/src/operations/quota.ts b/sdk/reservations/arm-reservations/src/operations/quota.ts index dc401f97c334..26ef31739afb 100644 --- a/sdk/reservations/arm-reservations/src/operations/quota.ts +++ b/sdk/reservations/arm-reservations/src/operations/quota.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 { AzureReservationAPI } from "../azureReservationAPI"; -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 { CurrentQuotaLimitBase, QuotaListNextOptionalParams, @@ -178,8 +182,8 @@ export class QuotaImpl implements Quota { createQuotaRequest: CurrentQuotaLimitBase, options?: QuotaCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, QuotaCreateOrUpdateResponse > > { @@ -189,7 +193,7 @@ export class QuotaImpl implements Quota { ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -222,9 +226,9 @@ export class QuotaImpl implements Quota { }; }; - const lro = new LroImpl( - sendOperation, - { + const lro = createLroSpec({ + sendOperationFn, + args: { subscriptionId, providerId, location, @@ -232,12 +236,15 @@ export class QuotaImpl implements Quota { createQuotaRequest, options }, - createOrUpdateOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, + spec: createOrUpdateOperationSpec + }); + const poller = await createHttpPoller< + QuotaCreateOrUpdateResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs, - lroResourceLocationConfig: "original-uri" + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -301,7 +308,7 @@ export class QuotaImpl implements Quota { createQuotaRequest: CurrentQuotaLimitBase, options?: QuotaUpdateOptionalParams ): Promise< - PollerLike, QuotaUpdateResponse> + SimplePollerLike, QuotaUpdateResponse> > { const directSendOperation = async ( args: coreClient.OperationArguments, @@ -309,7 +316,7 @@ export class QuotaImpl implements Quota { ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -342,9 +349,9 @@ export class QuotaImpl implements Quota { }; }; - const lro = new LroImpl( - sendOperation, - { + const lro = createLroSpec({ + sendOperationFn, + args: { subscriptionId, providerId, location, @@ -352,12 +359,15 @@ export class QuotaImpl implements Quota { createQuotaRequest, options }, - updateOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, + spec: updateOperationSpec + }); + const poller = await createHttpPoller< + QuotaUpdateResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs, - lroResourceLocationConfig: "original-uri" + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; diff --git a/sdk/reservations/arm-reservations/src/operations/reservation.ts b/sdk/reservations/arm-reservations/src/operations/reservation.ts index 89e596a4f13d..a9939a07dada 100644 --- a/sdk/reservations/arm-reservations/src/operations/reservation.ts +++ b/sdk/reservations/arm-reservations/src/operations/reservation.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 { AzureReservationAPI } from "../azureReservationAPI"; -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 { ReservationResponse, ReservationListNextOptionalParams, @@ -275,8 +279,8 @@ export class ReservationImpl implements Reservation { body: AvailableScopeRequest, options?: ReservationAvailableScopesOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, ReservationAvailableScopesResponse > > { @@ -286,7 +290,7 @@ export class ReservationImpl implements Reservation { ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -319,13 +323,16 @@ export class ReservationImpl implements Reservation { }; }; - const lro = new LroImpl( - sendOperation, - { reservationOrderId, reservationId, body, options }, - availableScopesOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, + const lro = createLroSpec({ + sendOperationFn, + args: { reservationOrderId, reservationId, body, options }, + spec: availableScopesOperationSpec + }); + const poller = await createHttpPoller< + ReservationAvailableScopesResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); await poller.poll(); @@ -366,8 +373,8 @@ export class ReservationImpl implements Reservation { body: SplitRequest, options?: ReservationSplitOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, ReservationSplitResponse > > { @@ -377,7 +384,7 @@ export class ReservationImpl implements Reservation { ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -410,15 +417,18 @@ export class ReservationImpl implements Reservation { }; }; - const lro = new LroImpl( - sendOperation, - { reservationOrderId, body, options }, - splitOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, + const lro = createLroSpec({ + sendOperationFn, + args: { reservationOrderId, body, options }, + spec: splitOperationSpec + }); + const poller = await createHttpPoller< + ReservationSplitResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs, - lroResourceLocationConfig: "location" + resourceLocationConfig: "location" }); await poller.poll(); return poller; @@ -451,8 +461,8 @@ export class ReservationImpl implements Reservation { body: MergeRequest, options?: ReservationMergeOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, ReservationMergeResponse > > { @@ -462,7 +472,7 @@ export class ReservationImpl implements Reservation { ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -495,15 +505,18 @@ export class ReservationImpl implements Reservation { }; }; - const lro = new LroImpl( - sendOperation, - { reservationOrderId, body, options }, - mergeOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, + const lro = createLroSpec({ + sendOperationFn, + args: { reservationOrderId, body, options }, + spec: mergeOperationSpec + }); + const poller = await createHttpPoller< + ReservationMergeResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs, - lroResourceLocationConfig: "location" + resourceLocationConfig: "location" }); await poller.poll(); return poller; @@ -570,8 +583,8 @@ export class ReservationImpl implements Reservation { parameters: Patch, options?: ReservationUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, ReservationUpdateResponse > > { @@ -581,7 +594,7 @@ export class ReservationImpl implements Reservation { ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -614,15 +627,18 @@ export class ReservationImpl implements Reservation { }; }; - const lro = new LroImpl( - sendOperation, - { reservationOrderId, reservationId, parameters, options }, - updateOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, + const lro = createLroSpec({ + sendOperationFn, + args: { reservationOrderId, reservationId, parameters, options }, + spec: updateOperationSpec + }); + const poller = await createHttpPoller< + ReservationUpdateResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs, - lroResourceLocationConfig: "azure-async-operation" + resourceLocationConfig: "azure-async-operation" }); await poller.poll(); return poller; diff --git a/sdk/reservations/arm-reservations/src/operations/reservationOrder.ts b/sdk/reservations/arm-reservations/src/operations/reservationOrder.ts index 6d37af0899ac..9d99d7597a94 100644 --- a/sdk/reservations/arm-reservations/src/operations/reservationOrder.ts +++ b/sdk/reservations/arm-reservations/src/operations/reservationOrder.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 { AzureReservationAPI } from "../azureReservationAPI"; -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 { ReservationOrderResponse, ReservationOrderListNextOptionalParams, @@ -136,8 +140,8 @@ export class ReservationOrderImpl implements ReservationOrder { body: PurchaseRequest, options?: ReservationOrderPurchaseOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, ReservationOrderPurchaseResponse > > { @@ -147,7 +151,7 @@ export class ReservationOrderImpl implements ReservationOrder { ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -180,15 +184,18 @@ export class ReservationOrderImpl implements ReservationOrder { }; }; - const lro = new LroImpl( - sendOperation, - { reservationOrderId, body, options }, - purchaseOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, + const lro = createLroSpec({ + sendOperationFn, + args: { reservationOrderId, body, options }, + spec: purchaseOperationSpec + }); + const poller = await createHttpPoller< + ReservationOrderPurchaseResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs, - lroResourceLocationConfig: "location" + resourceLocationConfig: "location" }); await poller.poll(); return poller; diff --git a/sdk/reservations/arm-reservations/src/operations/return.ts b/sdk/reservations/arm-reservations/src/operations/return.ts index 886feee94b08..3b2aee6ea7a7 100644 --- a/sdk/reservations/arm-reservations/src/operations/return.ts +++ b/sdk/reservations/arm-reservations/src/operations/return.ts @@ -11,8 +11,12 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { AzureReservationAPI } from "../azureReservationAPI"; -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 { RefundRequest, ReturnPostOptionalParams, @@ -42,7 +46,7 @@ export class ReturnImpl implements Return { body: RefundRequest, options?: ReturnPostOptionalParams ): Promise< - PollerLike, ReturnPostResponse> + SimplePollerLike, ReturnPostResponse> > { const directSendOperation = async ( args: coreClient.OperationArguments, @@ -50,7 +54,7 @@ export class ReturnImpl implements Return { ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -83,15 +87,18 @@ export class ReturnImpl implements Return { }; }; - const lro = new LroImpl( - sendOperation, - { reservationOrderId, body, options }, - postOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, + const lro = createLroSpec({ + sendOperationFn, + args: { reservationOrderId, body, options }, + spec: postOperationSpec + }); + const poller = await createHttpPoller< + ReturnPostResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs, - lroResourceLocationConfig: "location" + resourceLocationConfig: "location" }); await poller.poll(); return poller; @@ -121,20 +128,16 @@ const postOperationSpec: coreClient.OperationSpec = { httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.RefundResponse, - headersMapper: Mappers.ReturnPostHeaders + bodyMapper: Mappers.ReservationOrderResponse }, 201: { - bodyMapper: Mappers.RefundResponse, - headersMapper: Mappers.ReturnPostHeaders + bodyMapper: Mappers.ReservationOrderResponse }, 202: { - bodyMapper: Mappers.RefundResponse, - headersMapper: Mappers.ReturnPostHeaders + bodyMapper: Mappers.ReservationOrderResponse }, 204: { - bodyMapper: Mappers.RefundResponse, - headersMapper: Mappers.ReturnPostHeaders + bodyMapper: Mappers.ReservationOrderResponse }, default: { bodyMapper: Mappers.ErrorModel diff --git a/sdk/reservations/arm-reservations/src/operationsInterfaces/calculateExchange.ts b/sdk/reservations/arm-reservations/src/operationsInterfaces/calculateExchange.ts index 444dbafe32d6..e35179d8c52f 100644 --- a/sdk/reservations/arm-reservations/src/operationsInterfaces/calculateExchange.ts +++ b/sdk/reservations/arm-reservations/src/operationsInterfaces/calculateExchange.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; import { CalculateExchangeRequest, CalculateExchangePostOptionalParams, @@ -25,8 +25,8 @@ export interface CalculateExchange { body: CalculateExchangeRequest, options?: CalculateExchangePostOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, CalculateExchangePostResponse > >; diff --git a/sdk/reservations/arm-reservations/src/operationsInterfaces/exchange.ts b/sdk/reservations/arm-reservations/src/operationsInterfaces/exchange.ts index 28f455d10a84..bc2d6878b127 100644 --- a/sdk/reservations/arm-reservations/src/operationsInterfaces/exchange.ts +++ b/sdk/reservations/arm-reservations/src/operationsInterfaces/exchange.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; import { ExchangeRequest, ExchangePostOptionalParams, @@ -25,7 +25,7 @@ export interface Exchange { body: ExchangeRequest, options?: ExchangePostOptionalParams ): Promise< - PollerLike, ExchangePostResponse> + SimplePollerLike, ExchangePostResponse> >; /** * Returns one or more `Reservations` in exchange for one or more `Reservation` purchases. diff --git a/sdk/reservations/arm-reservations/src/operationsInterfaces/quota.ts b/sdk/reservations/arm-reservations/src/operationsInterfaces/quota.ts index 6d573e774586..ff7fa26ce343 100644 --- a/sdk/reservations/arm-reservations/src/operationsInterfaces/quota.ts +++ b/sdk/reservations/arm-reservations/src/operationsInterfaces/quota.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 { CurrentQuotaLimitBase, QuotaListOptionalParams, @@ -77,8 +77,8 @@ export interface Quota { createQuotaRequest: CurrentQuotaLimitBase, options?: QuotaCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, QuotaCreateOrUpdateResponse > >; @@ -129,7 +129,7 @@ export interface Quota { createQuotaRequest: CurrentQuotaLimitBase, options?: QuotaUpdateOptionalParams ): Promise< - PollerLike, QuotaUpdateResponse> + SimplePollerLike, QuotaUpdateResponse> >; /** * Update the quota (service limits) of this resource to the requested value. diff --git a/sdk/reservations/arm-reservations/src/operationsInterfaces/reservation.ts b/sdk/reservations/arm-reservations/src/operationsInterfaces/reservation.ts index 97e0398c9246..9b780e6e866d 100644 --- a/sdk/reservations/arm-reservations/src/operationsInterfaces/reservation.ts +++ b/sdk/reservations/arm-reservations/src/operationsInterfaces/reservation.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 { ReservationResponse, ReservationListOptionalParams, @@ -76,8 +76,8 @@ export interface Reservation { body: AvailableScopeRequest, options?: ReservationAvailableScopesOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, ReservationAvailableScopesResponse > >; @@ -106,8 +106,8 @@ export interface Reservation { body: SplitRequest, options?: ReservationSplitOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, ReservationSplitResponse > >; @@ -134,8 +134,8 @@ export interface Reservation { body: MergeRequest, options?: ReservationMergeOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, ReservationMergeResponse > >; @@ -175,8 +175,8 @@ export interface Reservation { parameters: Patch, options?: ReservationUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, ReservationUpdateResponse > >; diff --git a/sdk/reservations/arm-reservations/src/operationsInterfaces/reservationOrder.ts b/sdk/reservations/arm-reservations/src/operationsInterfaces/reservationOrder.ts index bfab0025fe09..754f238fbe49 100644 --- a/sdk/reservations/arm-reservations/src/operationsInterfaces/reservationOrder.ts +++ b/sdk/reservations/arm-reservations/src/operationsInterfaces/reservationOrder.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 { ReservationOrderResponse, ReservationOrderListOptionalParams, @@ -53,8 +53,8 @@ export interface ReservationOrder { body: PurchaseRequest, options?: ReservationOrderPurchaseOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, ReservationOrderPurchaseResponse > >; diff --git a/sdk/reservations/arm-reservations/src/operationsInterfaces/return.ts b/sdk/reservations/arm-reservations/src/operationsInterfaces/return.ts index dcd884b8c41e..36d331d01e81 100644 --- a/sdk/reservations/arm-reservations/src/operationsInterfaces/return.ts +++ b/sdk/reservations/arm-reservations/src/operationsInterfaces/return.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; import { RefundRequest, ReturnPostOptionalParams, @@ -26,7 +26,7 @@ export interface Return { body: RefundRequest, options?: ReturnPostOptionalParams ): Promise< - PollerLike, ReturnPostResponse> + SimplePollerLike, ReturnPostResponse> >; /** * Return a reservation and get refund information. diff --git a/sdk/reservations/arm-reservations/test/sampleTest.ts b/sdk/reservations/arm-reservations/test/sampleTest.ts new file mode 100644 index 000000000000..25aeb3ebcc36 --- /dev/null +++ b/sdk/reservations/arm-reservations/test/sampleTest.ts @@ -0,0 +1,43 @@ +/* + * 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 { + Recorder, + RecorderStartOptions, + env +} from "@azure-tools/test-recorder"; +import { assert } from "chai"; +import { Context } from "mocha"; + +const replaceableVariables: Record = { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", + SUBSCRIPTION_ID: "azure_subscription_id" +}; + +const recorderOptions: RecorderStartOptions = { + envSetupForPlayback: replaceableVariables +}; + +describe("My test", () => { + let recorder: Recorder; + + beforeEach(async function(this: Context) { + recorder = new Recorder(this.currentTest); + await recorder.start(recorderOptions); + }); + + afterEach(async function() { + await recorder.stop(); + }); + + it("sample test", async function() { + console.log("Hi, I'm a test!"); + }); +}); diff --git a/sdk/reservations/arm-reservations/tsconfig.json b/sdk/reservations/arm-reservations/tsconfig.json index 036e5f561409..3e6ae96443f3 100644 --- a/sdk/reservations/arm-reservations/tsconfig.json +++ b/sdk/reservations/arm-reservations/tsconfig.json @@ -15,17 +15,11 @@ ], "declaration": true, "outDir": "./dist-esm", - "importHelpers": true, - "paths": { - "@azure/arm-reservations": [ - "./src/index" - ] - } + "importHelpers": true }, "include": [ "./src/**/*.ts", - "./test/**/*.ts", - "samples-dev/**/*.ts" + "./test/**/*.ts" ], "exclude": [ "node_modules"