From fce7fe10a14d1a4c47abf87d0d89255cb19edb14 Mon Sep 17 00:00:00 2001 From: Jose Manuel Heredia Hidalgo Date: Thu, 5 Nov 2020 11:13:29 -0800 Subject: [PATCH] Make LROData a symbol in the response (#787) * Make LROData a symbol in the response * Update lro imports * Update symbol name * Update symbol assignment * Update smoke tests * Update test type --- src/generators/modelsGenerator.ts | 29 +- src/lro/azureAsyncOperationStrategy.ts | 78 +- src/lro/bodyPollingStrategy.ts | 6 +- src/lro/locationStrategy.ts | 9 +- src/lro/lroPolicy.ts | 11 +- src/lro/lroPoller.ts | 5 +- src/lro/models.ts | 19 +- src/lro/operation.ts | 4 +- .../src/lro/azureAsyncOperationStrategy.ts | 78 +- .../lro/src/lro/bodyPollingStrategy.ts | 6 +- .../generated/lro/src/lro/locationStrategy.ts | 9 +- .../generated/lro/src/lro/lroPolicy.ts | 11 +- .../generated/lro/src/lro/lroPoller.ts | 5 +- .../generated/lro/src/lro/models.ts | 19 +- .../generated/lro/src/lro/operation.ts | 4 +- .../generated/lro/src/models/index.ts | 305 +++ .../src/lro/azureAsyncOperationStrategy.ts | 78 +- .../src/lro/bodyPollingStrategy.ts | 6 +- .../src/lro/locationStrategy.ts | 9 +- .../mediaTypesV3Lro/src/lro/lroPolicy.ts | 11 +- .../mediaTypesV3Lro/src/lro/lroPoller.ts | 5 +- .../mediaTypesV3Lro/src/lro/models.ts | 19 +- .../mediaTypesV3Lro/src/lro/operation.ts | 4 +- .../mediaTypesV3Lro/src/models/index.ts | 1 + .../src/lro/azureAsyncOperationStrategy.ts | 78 +- .../paging/src/lro/bodyPollingStrategy.ts | 6 +- .../paging/src/lro/locationStrategy.ts | 9 +- .../generated/paging/src/lro/lroPolicy.ts | 11 +- .../generated/paging/src/lro/lroPoller.ts | 5 +- .../generated/paging/src/lro/models.ts | 19 +- .../generated/paging/src/lro/operation.ts | 4 +- .../generated/paging/src/models/index.ts | 5 + test/integration/lro.spec.ts | 47 +- test/integration/paging.spec.ts | 7 +- ...e-deploymentscripts-2019-10-preview.api.md | 6 + .../src/lro/azureAsyncOperationStrategy.ts | 78 +- .../src/lro/bodyPollingStrategy.ts | 6 +- .../src/lro/locationStrategy.ts | 9 +- .../src/lro/lroPolicy.ts | 11 +- .../src/lro/lroPoller.ts | 5 +- .../src/lro/models.ts | 19 +- .../src/lro/operation.ts | 4 +- .../src/models/index.ts | 5 + ...deploymentscripts-2019-10-preview.api.json | 20 +- ...e-deploymentscripts-2019-10-preview.api.md | 6 + ...package-managedapplications-2018-06.api.md | 9 + .../src/lro/azureAsyncOperationStrategy.ts | 78 +- .../src/lro/bodyPollingStrategy.ts | 6 +- .../src/lro/locationStrategy.ts | 9 +- .../src/lro/lroPolicy.ts | 11 +- .../src/lro/lroPoller.ts | 5 +- .../src/lro/models.ts | 19 +- .../src/lro/operation.ts | 4 +- .../src/models/index.ts | 17 + ...ckage-managedapplications-2018-06.api.json | 80 +- ...package-managedapplications-2018-06.api.md | 9 + .../arm-package-resources-2019-08.api.md | 17 + .../src/lro/azureAsyncOperationStrategy.ts | 78 +- .../src/lro/bodyPollingStrategy.ts | 6 +- .../src/lro/locationStrategy.ts | 9 +- .../src/lro/lroPolicy.ts | 11 +- .../src/lro/lroPoller.ts | 5 +- .../src/lro/models.ts | 19 +- .../src/lro/operation.ts | 4 +- .../src/models/index.ts | 49 + .../arm-package-resources-2019-08.api.json | 240 +- .../temp/arm-package-resources-2019-08.api.md | 17 + .../review/compute-resource-manager.api.md | 44 + .../src/lro/azureAsyncOperationStrategy.ts | 78 +- .../src/lro/bodyPollingStrategy.ts | 6 +- .../src/lro/locationStrategy.ts | 9 +- .../src/lro/lroPolicy.ts | 11 +- .../src/lro/lroPoller.ts | 5 +- .../src/lro/models.ts | 19 +- .../src/lro/operation.ts | 4 +- .../src/models/index.ts | 157 ++ .../temp/compute-resource-manager.api.json | 784 +++++- .../temp/compute-resource-manager.api.md | 44 + .../review/cosmos-db-resource-manager.api.md | 30 + .../src/lro/azureAsyncOperationStrategy.ts | 78 +- .../src/lro/bodyPollingStrategy.ts | 6 +- .../src/lro/locationStrategy.ts | 9 +- .../src/lro/lroPolicy.ts | 11 +- .../src/lro/lroPoller.ts | 5 +- .../src/lro/models.ts | 19 +- .../src/lro/operation.ts | 4 +- .../src/models/index.ts | 101 + .../temp/cosmos-db-resource-manager.api.json | 500 +++- .../temp/cosmos-db-resource-manager.api.md | 30 + .../review/keyvault-resource-manager.api.md | 7 + .../src/lro/azureAsyncOperationStrategy.ts | 78 +- .../src/lro/bodyPollingStrategy.ts | 6 +- .../src/lro/locationStrategy.ts | 9 +- .../src/lro/lroPolicy.ts | 11 +- .../src/lro/lroPoller.ts | 5 +- .../src/lro/models.ts | 19 +- .../src/lro/operation.ts | 4 +- .../src/models/index.ts | 9 + .../temp/keyvault-resource-manager.api.json | 40 +- .../temp/keyvault-resource-manager.api.md | 7 + .../review/network-resource-manager.api.md | 116 + .../src/lro/azureAsyncOperationStrategy.ts | 78 +- .../src/lro/bodyPollingStrategy.ts | 6 +- .../src/lro/locationStrategy.ts | 9 +- .../src/lro/lroPolicy.ts | 11 +- .../src/lro/lroPoller.ts | 5 +- .../src/lro/models.ts | 19 +- .../src/lro/operation.ts | 4 +- .../src/models/index.ts | 445 ++++ .../temp/network-resource-manager.api.json | 2234 ++++++++++++++++- .../temp/network-resource-manager.api.md | 116 + .../review/sql-resource-manager.api.md | 65 + .../src/lro/azureAsyncOperationStrategy.ts | 78 +- .../src/lro/bodyPollingStrategy.ts | 6 +- .../src/lro/locationStrategy.ts | 9 +- .../sql-resource-manager/src/lro/lroPolicy.ts | 11 +- .../sql-resource-manager/src/lro/lroPoller.ts | 5 +- .../sql-resource-manager/src/lro/models.ts | 19 +- .../sql-resource-manager/src/lro/operation.ts | 4 +- .../sql-resource-manager/src/models/index.ts | 241 ++ .../temp/sql-resource-manager.api.json | 1284 +++++++++- .../temp/sql-resource-manager.api.md | 65 + .../review/storage-resource-manager.api.md | 7 + .../src/lro/azureAsyncOperationStrategy.ts | 78 +- .../src/lro/bodyPollingStrategy.ts | 6 +- .../src/lro/locationStrategy.ts | 9 +- .../src/lro/lroPolicy.ts | 11 +- .../src/lro/lroPoller.ts | 5 +- .../src/lro/models.ts | 19 +- .../src/lro/operation.ts | 4 +- .../src/models/index.ts | 9 + .../temp/storage-resource-manager.api.json | 40 +- .../temp/storage-resource-manager.api.md | 7 + .../review/web-resource-manager.api.md | 37 + .../src/lro/azureAsyncOperationStrategy.ts | 78 +- .../src/lro/bodyPollingStrategy.ts | 6 +- .../src/lro/locationStrategy.ts | 9 +- .../web-resource-manager/src/lro/lroPolicy.ts | 11 +- .../web-resource-manager/src/lro/lroPoller.ts | 5 +- .../web-resource-manager/src/lro/models.ts | 19 +- .../web-resource-manager/src/lro/operation.ts | 4 +- .../web-resource-manager/src/models/index.ts | 129 + .../temp/web-resource-manager.api.json | 650 ++++- .../temp/web-resource-manager.api.md | 37 + test/unit/lro/bodyPollingStrategy.spec.ts | 24 +- test/unit/lro/locationStrategy.spec.ts | 17 +- 146 files changed, 9105 insertions(+), 888 deletions(-) diff --git a/src/generators/modelsGenerator.ts b/src/generators/modelsGenerator.ts index f85d015a00..e2f9658bfd 100644 --- a/src/generators/modelsGenerator.ts +++ b/src/generators/modelsGenerator.ts @@ -54,6 +54,16 @@ export function generateModels(clientDetails: ClientDetails, project: Project) { moduleSpecifier: "@azure/core-http" }); + // Import LRO Symbol if any of the operations is an LRO one + if ( + clientDetails.operationGroups.some(og => og.operations.some(o => o.isLRO)) + ) { + modelsIndexFile.addImportDeclaration({ + namedImports: ["LROSYM", "LROResponseInfo"], + moduleSpecifier: "../lro/models" + }); + } + writeUniontypes(clientDetails, modelsIndexFile); writeObjects(clientDetails, modelsIndexFile); writeChoices(clientDetails, modelsIndexFile); @@ -144,7 +154,7 @@ function writeOptionsParameter( * the response body and headers */ function writeResponseTypes( - { responses, name, typeDetails: operationType }: OperationDetails, + { responses, name, typeDetails: operationType, isLRO }: OperationDetails, modelsIndexFile: SourceFile, allModelsNames: Set ) { @@ -172,7 +182,7 @@ function writeResponseTypes( name: responseName, docs: [`Contains response data for the ${name} operation.`], isExported: true, - type: buildResponseType(operation), + type: buildResponseType(operation, isLRO), leadingTrivia: writer => writer.blankLine(), kind: StructureKind.TypeAlias }); @@ -312,15 +322,26 @@ type IntersectionTypeParameters = [ * to create a type that contains all the properties that a response may include */ function buildResponseType( - operationResponse: OperationResponseDetails + operationResponse: OperationResponseDetails, + isLro: boolean = false ): WriterFunction { // First we get the response Headers and Body details const headersProperties = getHeadersProperties(operationResponse); const bodyProperties = getBodyProperties(operationResponse); + const lroProperties: OptionalKind[] = isLro + ? [ + { + name: "[LROSYM]", + docs: ["The parsed HTTP response headers."], + type: "LROResponseInfo" + } + ] + : []; const innerResponseProperties = [ ...(bodyProperties?.internalResponseProperties || []), - ...(headersProperties?.internalResponseProperties || []) + ...(headersProperties?.internalResponseProperties || []), + ...lroProperties ]; const innerTypeWriter = Writers.objectType({ properties: [ diff --git a/src/lro/azureAsyncOperationStrategy.ts b/src/lro/azureAsyncOperationStrategy.ts index e2d93f584a..0b5d423259 100644 --- a/src/lro/azureAsyncOperationStrategy.ts +++ b/src/lro/azureAsyncOperationStrategy.ts @@ -3,9 +3,14 @@ import { BaseResult, LROOperationStep, LROResponseInfo, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; -import { OperationSpec, OperationArguments } from "@azure/core-http"; +import { + OperationSpec, + OperationArguments, + OperationResponse +} from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "."; @@ -14,7 +19,7 @@ export function createAzureAsyncOperationStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -27,7 +32,7 @@ export function createAzureAsyncOperationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); @@ -43,16 +48,16 @@ export function createAzureAsyncOperationStrategy( return terminalStates.includes(status.toLowerCase()); }, sendFinalRequest: async () => { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - if (!currentOperation.result._lroData) { + if (!currentOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - const initialOperationResult = initialOperation.result._lroData; - const currentOperationResult = currentOperation.result._lroData; + const initialOperationResult = initialOperation.result._response[LROSYM]; + const currentOperationResult = currentOperation.result._response[LROSYM]; if ( !shouldPerformFinalGet(initialOperationResult, currentOperationResult) @@ -60,7 +65,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.requestMethod === "PUT") { + if (initialOperationResult?.requestMethod === "PUT") { currentOperation = await sendFinalGet( initialOperation, sendOperationFn @@ -69,7 +74,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.location) { + if (initialOperationResult?.location) { switch (finalStateVia) { case "original-uri": currentOperation = await sendFinalGet( @@ -84,7 +89,7 @@ export function createAzureAsyncOperationStrategy( default: const location = initialOperationResult.location || - currentOperationResult.location; + currentOperationResult?.location; if (!location) { throw new Error("Couldn't determine final GET URL from location"); @@ -108,9 +113,11 @@ export function createAzureAsyncOperationStrategy( const pollingArgs = currentOperation.args; // Make sure we don't send any body to the get request - const { requestBody, ...restSpec } = currentOperation.spec; + const { requestBody, responses, ...restSpec } = currentOperation.spec; + const pollingSpec: OperationSpec = { ...restSpec, + responses: getCompositeMappers(responses), httpMethod: "GET", path: lastKnownPollingUrl }; @@ -119,8 +126,8 @@ export function createAzureAsyncOperationStrategy( // Update latest polling url lastKnownPollingUrl = - result._lroData?.azureAsyncOperation || - result._lroData?.operationLocation || + result._response[LROSYM]?.azureAsyncOperation || + result._response[LROSYM]?.operationLocation || lastKnownPollingUrl; // Update lastOperation result @@ -135,12 +142,47 @@ export function createAzureAsyncOperationStrategy( }; } +/** + * Polling calls will always return a status object i.e. {"status": "success"} + * these intermediate responses are not described in the swagger so we need to + * pass custom mappers at runtime. + * This function replaces all the existing mappers to be able to deserialize a status object + * @param responses Original set of responses defined in the operation + */ +function getCompositeMappers(responses: { + [responseCode: string]: OperationResponse; +}): { + [responseCode: string]: OperationResponse; +} { + return Object.keys(responses).reduce((acc, statusCode) => { + return { + ...acc, + [statusCode]: { + ...responses[statusCode], + bodyMapper: { + type: { + name: "Composite", + modelProperties: { + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } + } + } + }; + }, {} as { [responseCode: string]: OperationResponse }); +} + function shouldPerformFinalGet( - initialResult: LROResponseInfo, - currentResult: LROResponseInfo + initialResult?: LROResponseInfo, + currentResult?: LROResponseInfo ) { - const { status } = currentResult; - const { requestMethod: initialRequestMethod, location } = initialResult; + const { status } = currentResult || {}; + const { requestMethod: initialRequestMethod, location } = initialResult || {}; if (status && status.toLowerCase() !== "succeeded") { return false; } diff --git a/src/lro/bodyPollingStrategy.ts b/src/lro/bodyPollingStrategy.ts index 22dd53e934..62ed188e69 100644 --- a/src/lro/bodyPollingStrategy.ts +++ b/src/lro/bodyPollingStrategy.ts @@ -1,4 +1,4 @@ -import { LROStrategy, BaseResult, LROOperationStep } from "./models"; +import { LROStrategy, BaseResult, LROOperationStep, LROSYM } from "./models"; import { OperationSpec } from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "./lroPoller"; @@ -11,7 +11,7 @@ export function createBodyPollingStrategy( initialOperation: LROOperationStep, sendOperation: SendOperationFn ): LROStrategy { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to be defined for BodyPolling strategy"); } @@ -19,7 +19,7 @@ export function createBodyPollingStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } diff --git a/src/lro/locationStrategy.ts b/src/lro/locationStrategy.ts index 7349765644..cfcfa8efd0 100644 --- a/src/lro/locationStrategy.ts +++ b/src/lro/locationStrategy.ts @@ -1,4 +1,4 @@ -import { BaseResult, LROOperationStep, LROStrategy } from "./models"; +import { BaseResult, LROOperationStep, LROStrategy, LROSYM } from "./models"; import { SendOperationFn } from "./lroPoller"; import { OperationSpec } from "@azure/core-http"; @@ -6,7 +6,7 @@ export function createLocationStrategy( initialOperation: LROOperationStep, sendOperationFn: SendOperationFn ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -18,7 +18,7 @@ export function createLocationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } @@ -51,7 +51,8 @@ export function createLocationStrategy( const result = await sendOperationFn(pollingArgs, pollingSpec); // Update latest polling url - lastKnownPollingUrl = result._lroData?.location || lastKnownPollingUrl; + lastKnownPollingUrl = + result._response[LROSYM]?.location || lastKnownPollingUrl; // Update lastOperation result currentOperation = { diff --git a/src/lro/lroPolicy.ts b/src/lro/lroPolicy.ts index 8578e5e9f8..e686401a5c 100644 --- a/src/lro/lroPolicy.ts +++ b/src/lro/lroPolicy.ts @@ -5,6 +5,7 @@ import { HttpOperationResponse, WebResource } from "@azure/core-http"; +import { LROOperationResponse, LROSYM } from "./models"; import { getLROData } from "./requestUtils"; export function lroPolicy() { @@ -23,12 +24,12 @@ class LROPolicy extends BaseRequestPolicy { public async sendRequest( webResource: WebResource ): Promise { - let result = await this._nextPolicy.sendRequest(webResource); + let result: LROOperationResponse = await this._nextPolicy.sendRequest( + webResource + ); + const _lroData = getLROData(result); - if (webResource.shouldDeserialize !== undefined) { - const _lroData = getLROData(result); - result.parsedBody = { ...result.parsedBody, _lroData }; - } + result[LROSYM] = _lroData; return result; } diff --git a/src/lro/lroPoller.ts b/src/lro/lroPoller.ts index 9d7cf96f78..72d979bd46 100644 --- a/src/lro/lroPoller.ts +++ b/src/lro/lroPoller.ts @@ -9,7 +9,8 @@ import { BaseResult, LROOperationState, LROOperationStep, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; import { makeOperation } from "./operation"; import { createBodyPollingStrategy } from "./bodyPollingStrategy"; @@ -114,7 +115,7 @@ function getPollingStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ) { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { const error = new RestError( diff --git a/src/lro/models.ts b/src/lro/models.ts index 7caebbe059..ed0dd91328 100644 --- a/src/lro/models.ts +++ b/src/lro/models.ts @@ -2,9 +2,11 @@ import { OperationArguments, OperationSpec, RestResponse, - HttpMethods + HttpMethods, + HttpOperationResponse } from "@azure/core-http"; import { PollOperationState, PollOperation } from "@azure/core-lro"; +export const LROSYM = Symbol("LROData"); export type FinalStateVia = | "azure-async-operation" @@ -22,8 +24,21 @@ export interface LROResponseInfo { status?: string; } +/** + * Extended operation response for LROs + */ +export type LROOperationResponse = HttpOperationResponse & { + /** + * Symbol that contains LRO details + */ + [LROSYM]?: LROResponseInfo; +}; + export interface BaseResult extends RestResponse { - _lroData?: LROResponseInfo; + /** + * The underlying HTTP response containing both raw and deserialized response data. + */ + _response: LROOperationResponse; } export interface LROOperationStep { diff --git a/src/lro/operation.ts b/src/lro/operation.ts index 240a588aba..9b37277e7b 100644 --- a/src/lro/operation.ts +++ b/src/lro/operation.ts @@ -1,4 +1,4 @@ -import { BaseResult, LROOperationState, LROOperation } from "./models"; +import { BaseResult, LROOperationState, LROOperation, LROSYM } from "./models"; /** * Creates a copy of the operation from a given State @@ -38,7 +38,7 @@ async function update( const { sendFinalRequest, poll, isTerminal } = state.pollingStrategy; const currentResponse = state.lastOperation; - const currentLroData = currentResponse.result._lroData; + const currentLroData = currentResponse.result._response[LROSYM]; if (!currentLroData) { throw new Error( diff --git a/test/integration/generated/lro/src/lro/azureAsyncOperationStrategy.ts b/test/integration/generated/lro/src/lro/azureAsyncOperationStrategy.ts index ecdc300c1f..f54ccc954f 100644 --- a/test/integration/generated/lro/src/lro/azureAsyncOperationStrategy.ts +++ b/test/integration/generated/lro/src/lro/azureAsyncOperationStrategy.ts @@ -11,9 +11,14 @@ import { BaseResult, LROOperationStep, LROResponseInfo, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; -import { OperationSpec, OperationArguments } from "@azure/core-http"; +import { + OperationSpec, + OperationArguments, + OperationResponse +} from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "."; @@ -22,7 +27,7 @@ export function createAzureAsyncOperationStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -35,7 +40,7 @@ export function createAzureAsyncOperationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); @@ -51,16 +56,16 @@ export function createAzureAsyncOperationStrategy( return terminalStates.includes(status.toLowerCase()); }, sendFinalRequest: async () => { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - if (!currentOperation.result._lroData) { + if (!currentOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - const initialOperationResult = initialOperation.result._lroData; - const currentOperationResult = currentOperation.result._lroData; + const initialOperationResult = initialOperation.result._response[LROSYM]; + const currentOperationResult = currentOperation.result._response[LROSYM]; if ( !shouldPerformFinalGet(initialOperationResult, currentOperationResult) @@ -68,7 +73,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.requestMethod === "PUT") { + if (initialOperationResult?.requestMethod === "PUT") { currentOperation = await sendFinalGet( initialOperation, sendOperationFn @@ -77,7 +82,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.location) { + if (initialOperationResult?.location) { switch (finalStateVia) { case "original-uri": currentOperation = await sendFinalGet( @@ -92,7 +97,7 @@ export function createAzureAsyncOperationStrategy( default: const location = initialOperationResult.location || - currentOperationResult.location; + currentOperationResult?.location; if (!location) { throw new Error("Couldn't determine final GET URL from location"); @@ -116,9 +121,11 @@ export function createAzureAsyncOperationStrategy( const pollingArgs = currentOperation.args; // Make sure we don't send any body to the get request - const { requestBody, ...restSpec } = currentOperation.spec; + const { requestBody, responses, ...restSpec } = currentOperation.spec; + const pollingSpec: OperationSpec = { ...restSpec, + responses: getCompositeMappers(responses), httpMethod: "GET", path: lastKnownPollingUrl }; @@ -127,8 +134,8 @@ export function createAzureAsyncOperationStrategy( // Update latest polling url lastKnownPollingUrl = - result._lroData?.azureAsyncOperation || - result._lroData?.operationLocation || + result._response[LROSYM]?.azureAsyncOperation || + result._response[LROSYM]?.operationLocation || lastKnownPollingUrl; // Update lastOperation result @@ -143,12 +150,47 @@ export function createAzureAsyncOperationStrategy( }; } +/** + * Polling calls will always return a status object i.e. {"status": "success"} + * these intermediate responses are not described in the swagger so we need to + * pass custom mappers at runtime. + * This function replaces all the existing mappers to be able to deserialize a status object + * @param responses Original set of responses defined in the operation + */ +function getCompositeMappers(responses: { + [responseCode: string]: OperationResponse; +}): { + [responseCode: string]: OperationResponse; +} { + return Object.keys(responses).reduce((acc, statusCode) => { + return { + ...acc, + [statusCode]: { + ...responses[statusCode], + bodyMapper: { + type: { + name: "Composite", + modelProperties: { + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } + } + } + }; + }, {} as { [responseCode: string]: OperationResponse }); +} + function shouldPerformFinalGet( - initialResult: LROResponseInfo, - currentResult: LROResponseInfo + initialResult?: LROResponseInfo, + currentResult?: LROResponseInfo ) { - const { status } = currentResult; - const { requestMethod: initialRequestMethod, location } = initialResult; + const { status } = currentResult || {}; + const { requestMethod: initialRequestMethod, location } = initialResult || {}; if (status && status.toLowerCase() !== "succeeded") { return false; } diff --git a/test/integration/generated/lro/src/lro/bodyPollingStrategy.ts b/test/integration/generated/lro/src/lro/bodyPollingStrategy.ts index 35cc6bac2a..c9404330ed 100644 --- a/test/integration/generated/lro/src/lro/bodyPollingStrategy.ts +++ b/test/integration/generated/lro/src/lro/bodyPollingStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { LROStrategy, BaseResult, LROOperationStep } from "./models"; +import { LROStrategy, BaseResult, LROOperationStep, LROSYM } from "./models"; import { OperationSpec } from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "./lroPoller"; @@ -19,7 +19,7 @@ export function createBodyPollingStrategy( initialOperation: LROOperationStep, sendOperation: SendOperationFn ): LROStrategy { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to be defined for BodyPolling strategy"); } @@ -27,7 +27,7 @@ export function createBodyPollingStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } diff --git a/test/integration/generated/lro/src/lro/locationStrategy.ts b/test/integration/generated/lro/src/lro/locationStrategy.ts index 1a5c8d462e..6a763e37ec 100644 --- a/test/integration/generated/lro/src/lro/locationStrategy.ts +++ b/test/integration/generated/lro/src/lro/locationStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationStep, LROStrategy } from "./models"; +import { BaseResult, LROOperationStep, LROStrategy, LROSYM } from "./models"; import { SendOperationFn } from "./lroPoller"; import { OperationSpec } from "@azure/core-http"; @@ -14,7 +14,7 @@ export function createLocationStrategy( initialOperation: LROOperationStep, sendOperationFn: SendOperationFn ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -26,7 +26,7 @@ export function createLocationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } @@ -59,7 +59,8 @@ export function createLocationStrategy( const result = await sendOperationFn(pollingArgs, pollingSpec); // Update latest polling url - lastKnownPollingUrl = result._lroData?.location || lastKnownPollingUrl; + lastKnownPollingUrl = + result._response[LROSYM]?.location || lastKnownPollingUrl; // Update lastOperation result currentOperation = { diff --git a/test/integration/generated/lro/src/lro/lroPolicy.ts b/test/integration/generated/lro/src/lro/lroPolicy.ts index 0591f541b3..4d18c3b7f0 100644 --- a/test/integration/generated/lro/src/lro/lroPolicy.ts +++ b/test/integration/generated/lro/src/lro/lroPolicy.ts @@ -13,6 +13,7 @@ import { HttpOperationResponse, WebResource } from "@azure/core-http"; +import { LROOperationResponse, LROSYM } from "./models"; import { getLROData } from "./requestUtils"; export function lroPolicy() { @@ -31,12 +32,12 @@ class LROPolicy extends BaseRequestPolicy { public async sendRequest( webResource: WebResource ): Promise { - let result = await this._nextPolicy.sendRequest(webResource); + let result: LROOperationResponse = await this._nextPolicy.sendRequest( + webResource + ); + const _lroData = getLROData(result); - if (webResource.shouldDeserialize !== undefined) { - const _lroData = getLROData(result); - result.parsedBody = { ...result.parsedBody, _lroData }; - } + result[LROSYM] = _lroData; return result; } diff --git a/test/integration/generated/lro/src/lro/lroPoller.ts b/test/integration/generated/lro/src/lro/lroPoller.ts index bc2f2aa05a..8c0406cf24 100644 --- a/test/integration/generated/lro/src/lro/lroPoller.ts +++ b/test/integration/generated/lro/src/lro/lroPoller.ts @@ -17,7 +17,8 @@ import { BaseResult, LROOperationState, LROOperationStep, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; import { makeOperation } from "./operation"; import { createBodyPollingStrategy } from "./bodyPollingStrategy"; @@ -122,7 +123,7 @@ function getPollingStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ) { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { const error = new RestError( diff --git a/test/integration/generated/lro/src/lro/models.ts b/test/integration/generated/lro/src/lro/models.ts index a90afc5b41..c4b96664f6 100644 --- a/test/integration/generated/lro/src/lro/models.ts +++ b/test/integration/generated/lro/src/lro/models.ts @@ -10,9 +10,11 @@ import { OperationArguments, OperationSpec, RestResponse, - HttpMethods + HttpMethods, + HttpOperationResponse } from "@azure/core-http"; import { PollOperationState, PollOperation } from "@azure/core-lro"; +export const LROSYM = Symbol("LROData"); export type FinalStateVia = | "azure-async-operation" @@ -30,8 +32,21 @@ export interface LROResponseInfo { status?: string; } +/** + * Extended operation response for LROs + */ +export type LROOperationResponse = HttpOperationResponse & { + /** + * Symbol that contains LRO details + */ + [LROSYM]?: LROResponseInfo; +}; + export interface BaseResult extends RestResponse { - _lroData?: LROResponseInfo; + /** + * The underlying HTTP response containing both raw and deserialized response data. + */ + _response: LROOperationResponse; } export interface LROOperationStep { diff --git a/test/integration/generated/lro/src/lro/operation.ts b/test/integration/generated/lro/src/lro/operation.ts index 9cda560a02..0860f07df0 100644 --- a/test/integration/generated/lro/src/lro/operation.ts +++ b/test/integration/generated/lro/src/lro/operation.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationState, LROOperation } from "./models"; +import { BaseResult, LROOperationState, LROOperation, LROSYM } from "./models"; /** * Creates a copy of the operation from a given State @@ -46,7 +46,7 @@ async function update( const { sendFinalRequest, poll, isTerminal } = state.pollingStrategy; const currentResponse = state.lastOperation; - const currentLroData = currentResponse.result._lroData; + const currentLroData = currentResponse.result._response[LROSYM]; if (!currentLroData) { throw new Error( diff --git a/test/integration/generated/lro/src/models/index.ts b/test/integration/generated/lro/src/models/index.ts index 24a860aa43..c50384d58d 100644 --- a/test/integration/generated/lro/src/models/index.ts +++ b/test/integration/generated/lro/src/models/index.ts @@ -7,6 +7,7 @@ */ import * as coreHttp from "@azure/core-http"; +import { LROSYM, LROResponseInfo } from "../lro/models"; export interface Resource { /** @@ -999,6 +1000,10 @@ export type LROsPut200SucceededResponse = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1030,6 +1035,10 @@ export type LROsPut201SucceededResponse = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1050,6 +1059,10 @@ export type LROsPost202ListResponse = Product[] & { * The response body as parsed JSON or XML */ parsedBody: Product[]; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1081,6 +1094,10 @@ export type LROsPut200SucceededNoStateResponse = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1112,6 +1129,10 @@ export type LROsPut202Retry200Response = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1143,6 +1164,10 @@ export type LROsPut201CreatingSucceeded200Response = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1174,6 +1199,10 @@ export type LROsPut200UpdatingSucceeded204Response = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1205,6 +1234,10 @@ export type LROsPut201CreatingFailed200Response = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1236,6 +1269,10 @@ export type LROsPut200Acceptedcanceled200Response = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1272,6 +1309,10 @@ export type LROsPutNoHeaderInRetryResponse = LROsPutNoHeaderInRetryHeaders & * The parsed HTTP response headers. */ parsedHeaders: LROsPutNoHeaderInRetryHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1308,6 +1349,10 @@ export type LROsPutAsyncRetrySucceededResponse = LROsPutAsyncRetrySucceededHeade * The parsed HTTP response headers. */ parsedHeaders: LROsPutAsyncRetrySucceededHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1344,6 +1389,10 @@ export type LROsPutAsyncNoRetrySucceededResponse = LROsPutAsyncNoRetrySucceededH * The parsed HTTP response headers. */ parsedHeaders: LROsPutAsyncNoRetrySucceededHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1380,6 +1429,10 @@ export type LROsPutAsyncRetryFailedResponse = LROsPutAsyncRetryFailedHeaders & * The parsed HTTP response headers. */ parsedHeaders: LROsPutAsyncRetryFailedHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1416,6 +1469,10 @@ export type LROsPutAsyncNoRetrycanceledResponse = LROsPutAsyncNoRetrycanceledHea * The parsed HTTP response headers. */ parsedHeaders: LROsPutAsyncNoRetrycanceledHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1452,6 +1509,10 @@ export type LROsPutAsyncNoHeaderInRetryResponse = LROsPutAsyncNoHeaderInRetryHea * The parsed HTTP response headers. */ parsedHeaders: LROsPutAsyncNoHeaderInRetryHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1483,6 +1544,10 @@ export type LROsPutNonResourceResponse = Sku & { * The response body as parsed JSON or XML */ parsedBody: Sku; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1514,6 +1579,10 @@ export type LROsPutAsyncNonResourceResponse = Sku & { * The response body as parsed JSON or XML */ parsedBody: Sku; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1545,6 +1614,10 @@ export type LROsPutSubResourceResponse = SubProduct & { * The response body as parsed JSON or XML */ parsedBody: SubProduct; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1576,6 +1649,10 @@ export type LROsPutAsyncSubResourceResponse = SubProduct & { * The response body as parsed JSON or XML */ parsedBody: SubProduct; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1596,6 +1673,10 @@ export type LROsDeleteProvisioning202Accepted200SucceededResponse = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1616,6 +1697,10 @@ export type LROsDeleteProvisioning202DeletingFailed200Response = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1636,6 +1721,10 @@ export type LROsDeleteProvisioning202Deletingcanceled200Response = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1656,6 +1745,10 @@ export type LROsDelete202Retry200Response = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1676,6 +1769,10 @@ export type LROsDelete202NoRetry204Response = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1691,6 +1788,10 @@ export type LROsDeleteNoHeaderInRetryResponse = LROsDeleteNoHeaderInRetryHeaders * The parsed HTTP response headers. */ parsedHeaders: LROsDeleteNoHeaderInRetryHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1706,6 +1807,10 @@ export type LROsDeleteAsyncNoHeaderInRetryResponse = LROsDeleteAsyncNoHeaderInRe * The parsed HTTP response headers. */ parsedHeaders: LROsDeleteAsyncNoHeaderInRetryHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1721,6 +1826,10 @@ export type LROsDeleteAsyncRetrySucceededResponse = LROsDeleteAsyncRetrySucceede * The parsed HTTP response headers. */ parsedHeaders: LROsDeleteAsyncRetrySucceededHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1736,6 +1845,10 @@ export type LROsDeleteAsyncNoRetrySucceededResponse = LROsDeleteAsyncNoRetrySucc * The parsed HTTP response headers. */ parsedHeaders: LROsDeleteAsyncNoRetrySucceededHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1751,6 +1864,10 @@ export type LROsDeleteAsyncRetryFailedResponse = LROsDeleteAsyncRetryFailedHeade * The parsed HTTP response headers. */ parsedHeaders: LROsDeleteAsyncRetryFailedHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1766,6 +1883,10 @@ export type LROsDeleteAsyncRetrycanceledResponse = LROsDeleteAsyncRetrycanceledH * The parsed HTTP response headers. */ parsedHeaders: LROsDeleteAsyncRetrycanceledHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1786,6 +1907,10 @@ export type LROsPost200WithPayloadResponse = Sku & { * The response body as parsed JSON or XML */ parsedBody: Sku; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1812,6 +1937,10 @@ export type LROsPost202Retry200Response = LROsPost202Retry200Headers & { * The parsed HTTP response headers. */ parsedHeaders: LROsPost202Retry200Headers; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1848,6 +1977,10 @@ export type LROsPost202NoRetry204Response = LROsPost202NoRetry204Headers & * The parsed HTTP response headers. */ parsedHeaders: LROsPost202NoRetry204Headers; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1868,6 +2001,10 @@ export type LROsPostDoubleHeadersFinalLocationGetResponse = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1888,6 +2025,10 @@ export type LROsPostDoubleHeadersFinalAzureHeaderGetResponse = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1908,6 +2049,10 @@ export type LROsPostDoubleHeadersFinalAzureHeaderGetDefaultResponse = Product & * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1939,6 +2084,10 @@ export type LROsPostAsyncRetrySucceededResponse = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1970,6 +2119,10 @@ export type LROsPostAsyncNoRetrySucceededResponse = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1996,6 +2149,10 @@ export type LROsPostAsyncRetryFailedResponse = LROsPostAsyncRetryFailedHeaders & * The parsed HTTP response headers. */ parsedHeaders: LROsPostAsyncRetryFailedHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2022,6 +2179,10 @@ export type LROsPostAsyncRetrycanceledResponse = LROsPostAsyncRetrycanceledHeade * The parsed HTTP response headers. */ parsedHeaders: LROsPostAsyncRetrycanceledHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2053,6 +2214,10 @@ export type LRORetrysPut201CreatingSucceeded200Response = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2089,6 +2254,10 @@ export type LRORetrysPutAsyncRelativeRetrySucceededResponse = LRORetrysPutAsyncR * The parsed HTTP response headers. */ parsedHeaders: LRORetrysPutAsyncRelativeRetrySucceededHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2109,6 +2278,10 @@ export type LRORetrysDeleteProvisioning202Accepted200SucceededResponse = Product * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2124,6 +2297,10 @@ export type LRORetrysDelete202Retry200Response = LRORetrysDelete202Retry200Heade * The parsed HTTP response headers. */ parsedHeaders: LRORetrysDelete202Retry200Headers; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2139,6 +2316,10 @@ export type LRORetrysDeleteAsyncRelativeRetrySucceededResponse = LRORetrysDelete * The parsed HTTP response headers. */ parsedHeaders: LRORetrysDeleteAsyncRelativeRetrySucceededHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2165,6 +2346,10 @@ export type LRORetrysPost202Retry200Response = LRORetrysPost202Retry200Headers & * The parsed HTTP response headers. */ parsedHeaders: LRORetrysPost202Retry200Headers; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2191,6 +2376,10 @@ export type LRORetrysPostAsyncRelativeRetrySucceededResponse = LRORetrysPostAsyn * The parsed HTTP response headers. */ parsedHeaders: LRORetrysPostAsyncRelativeRetrySucceededHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2222,6 +2411,10 @@ export type LrosaDsPutNonRetry400Response = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2253,6 +2446,10 @@ export type LrosaDsPutNonRetry201Creating400Response = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2284,6 +2481,10 @@ export type LrosaDsPutNonRetry201Creating400InvalidJsonResponse = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2320,6 +2521,10 @@ export type LrosaDsPutAsyncRelativeRetry400Response = LrosaDsPutAsyncRelativeRet * The parsed HTTP response headers. */ parsedHeaders: LrosaDsPutAsyncRelativeRetry400Headers; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2335,6 +2540,10 @@ export type LrosaDsDeleteNonRetry400Response = LrosaDsDeleteNonRetry400Headers & * The parsed HTTP response headers. */ parsedHeaders: LrosaDsDeleteNonRetry400Headers; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2350,6 +2559,10 @@ export type LrosaDsDelete202NonRetry400Response = LrosaDsDelete202NonRetry400Hea * The parsed HTTP response headers. */ parsedHeaders: LrosaDsDelete202NonRetry400Headers; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2365,6 +2578,10 @@ export type LrosaDsDeleteAsyncRelativeRetry400Response = LrosaDsDeleteAsyncRelat * The parsed HTTP response headers. */ parsedHeaders: LrosaDsDeleteAsyncRelativeRetry400Headers; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2391,6 +2608,10 @@ export type LrosaDsPostNonRetry400Response = LrosaDsPostNonRetry400Headers & { * The parsed HTTP response headers. */ parsedHeaders: LrosaDsPostNonRetry400Headers; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2417,6 +2638,10 @@ export type LrosaDsPost202NonRetry400Response = LrosaDsPost202NonRetry400Headers * The parsed HTTP response headers. */ parsedHeaders: LrosaDsPost202NonRetry400Headers; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2443,6 +2668,10 @@ export type LrosaDsPostAsyncRelativeRetry400Response = LrosaDsPostAsyncRelativeR * The parsed HTTP response headers. */ parsedHeaders: LrosaDsPostAsyncRelativeRetry400Headers; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2474,6 +2703,10 @@ export type LrosaDsPutError201NoProvisioningStatePayloadResponse = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2510,6 +2743,10 @@ export type LrosaDsPutAsyncRelativeRetryNoStatusResponse = LrosaDsPutAsyncRelati * The parsed HTTP response headers. */ parsedHeaders: LrosaDsPutAsyncRelativeRetryNoStatusHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2546,6 +2783,10 @@ export type LrosaDsPutAsyncRelativeRetryNoStatusPayloadResponse = LrosaDsPutAsyn * The parsed HTTP response headers. */ parsedHeaders: LrosaDsPutAsyncRelativeRetryNoStatusPayloadHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2561,6 +2802,10 @@ export type LrosaDsDeleteAsyncRelativeRetryNoStatusResponse = LrosaDsDeleteAsync * The parsed HTTP response headers. */ parsedHeaders: LrosaDsDeleteAsyncRelativeRetryNoStatusHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2587,6 +2832,10 @@ export type LrosaDsPost202NoLocationResponse = LrosaDsPost202NoLocationHeaders & * The parsed HTTP response headers. */ parsedHeaders: LrosaDsPost202NoLocationHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2613,6 +2862,10 @@ export type LrosaDsPostAsyncRelativeRetryNoPayloadResponse = LrosaDsPostAsyncRel * The parsed HTTP response headers. */ parsedHeaders: LrosaDsPostAsyncRelativeRetryNoPayloadHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2644,6 +2897,10 @@ export type LrosaDsPut200InvalidJsonResponse = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2680,6 +2937,10 @@ export type LrosaDsPutAsyncRelativeRetryInvalidHeaderResponse = LrosaDsPutAsyncR * The parsed HTTP response headers. */ parsedHeaders: LrosaDsPutAsyncRelativeRetryInvalidHeaderHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2716,6 +2977,10 @@ export type LrosaDsPutAsyncRelativeRetryInvalidJsonPollingResponse = LrosaDsPutA * The parsed HTTP response headers. */ parsedHeaders: LrosaDsPutAsyncRelativeRetryInvalidJsonPollingHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2731,6 +2996,10 @@ export type LrosaDsDelete202RetryInvalidHeaderResponse = LrosaDsDelete202RetryIn * The parsed HTTP response headers. */ parsedHeaders: LrosaDsDelete202RetryInvalidHeaderHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2746,6 +3015,10 @@ export type LrosaDsDeleteAsyncRelativeRetryInvalidHeaderResponse = LrosaDsDelete * The parsed HTTP response headers. */ parsedHeaders: LrosaDsDeleteAsyncRelativeRetryInvalidHeaderHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2761,6 +3034,10 @@ export type LrosaDsDeleteAsyncRelativeRetryInvalidJsonPollingResponse = LrosaDsD * The parsed HTTP response headers. */ parsedHeaders: LrosaDsDeleteAsyncRelativeRetryInvalidJsonPollingHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2787,6 +3064,10 @@ export type LrosaDsPost202RetryInvalidHeaderResponse = LrosaDsPost202RetryInvali * The parsed HTTP response headers. */ parsedHeaders: LrosaDsPost202RetryInvalidHeaderHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2813,6 +3094,10 @@ export type LrosaDsPostAsyncRelativeRetryInvalidHeaderResponse = LrosaDsPostAsyn * The parsed HTTP response headers. */ parsedHeaders: LrosaDsPostAsyncRelativeRetryInvalidHeaderHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2839,6 +3124,10 @@ export type LrosaDsPostAsyncRelativeRetryInvalidJsonPollingResponse = LrosaDsPos * The parsed HTTP response headers. */ parsedHeaders: LrosaDsPostAsyncRelativeRetryInvalidJsonPollingHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2875,6 +3164,10 @@ export type LROsCustomHeaderPutAsyncRetrySucceededResponse = LROsCustomHeaderPut * The parsed HTTP response headers. */ parsedHeaders: LROsCustomHeaderPutAsyncRetrySucceededHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2906,6 +3199,10 @@ export type LROsCustomHeaderPut201CreatingSucceeded200Response = Product & { * The response body as parsed JSON or XML */ parsedBody: Product; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2932,6 +3229,10 @@ export type LROsCustomHeaderPost202Retry200Response = LROsCustomHeaderPost202Ret * The parsed HTTP response headers. */ parsedHeaders: LROsCustomHeaderPost202Retry200Headers; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2958,6 +3259,10 @@ export type LROsCustomHeaderPostAsyncRetrySucceededResponse = LROsCustomHeaderPo * The parsed HTTP response headers. */ parsedHeaders: LROsCustomHeaderPostAsyncRetrySucceededHeaders; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; diff --git a/test/integration/generated/mediaTypesV3Lro/src/lro/azureAsyncOperationStrategy.ts b/test/integration/generated/mediaTypesV3Lro/src/lro/azureAsyncOperationStrategy.ts index ecdc300c1f..f54ccc954f 100644 --- a/test/integration/generated/mediaTypesV3Lro/src/lro/azureAsyncOperationStrategy.ts +++ b/test/integration/generated/mediaTypesV3Lro/src/lro/azureAsyncOperationStrategy.ts @@ -11,9 +11,14 @@ import { BaseResult, LROOperationStep, LROResponseInfo, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; -import { OperationSpec, OperationArguments } from "@azure/core-http"; +import { + OperationSpec, + OperationArguments, + OperationResponse +} from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "."; @@ -22,7 +27,7 @@ export function createAzureAsyncOperationStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -35,7 +40,7 @@ export function createAzureAsyncOperationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); @@ -51,16 +56,16 @@ export function createAzureAsyncOperationStrategy( return terminalStates.includes(status.toLowerCase()); }, sendFinalRequest: async () => { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - if (!currentOperation.result._lroData) { + if (!currentOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - const initialOperationResult = initialOperation.result._lroData; - const currentOperationResult = currentOperation.result._lroData; + const initialOperationResult = initialOperation.result._response[LROSYM]; + const currentOperationResult = currentOperation.result._response[LROSYM]; if ( !shouldPerformFinalGet(initialOperationResult, currentOperationResult) @@ -68,7 +73,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.requestMethod === "PUT") { + if (initialOperationResult?.requestMethod === "PUT") { currentOperation = await sendFinalGet( initialOperation, sendOperationFn @@ -77,7 +82,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.location) { + if (initialOperationResult?.location) { switch (finalStateVia) { case "original-uri": currentOperation = await sendFinalGet( @@ -92,7 +97,7 @@ export function createAzureAsyncOperationStrategy( default: const location = initialOperationResult.location || - currentOperationResult.location; + currentOperationResult?.location; if (!location) { throw new Error("Couldn't determine final GET URL from location"); @@ -116,9 +121,11 @@ export function createAzureAsyncOperationStrategy( const pollingArgs = currentOperation.args; // Make sure we don't send any body to the get request - const { requestBody, ...restSpec } = currentOperation.spec; + const { requestBody, responses, ...restSpec } = currentOperation.spec; + const pollingSpec: OperationSpec = { ...restSpec, + responses: getCompositeMappers(responses), httpMethod: "GET", path: lastKnownPollingUrl }; @@ -127,8 +134,8 @@ export function createAzureAsyncOperationStrategy( // Update latest polling url lastKnownPollingUrl = - result._lroData?.azureAsyncOperation || - result._lroData?.operationLocation || + result._response[LROSYM]?.azureAsyncOperation || + result._response[LROSYM]?.operationLocation || lastKnownPollingUrl; // Update lastOperation result @@ -143,12 +150,47 @@ export function createAzureAsyncOperationStrategy( }; } +/** + * Polling calls will always return a status object i.e. {"status": "success"} + * these intermediate responses are not described in the swagger so we need to + * pass custom mappers at runtime. + * This function replaces all the existing mappers to be able to deserialize a status object + * @param responses Original set of responses defined in the operation + */ +function getCompositeMappers(responses: { + [responseCode: string]: OperationResponse; +}): { + [responseCode: string]: OperationResponse; +} { + return Object.keys(responses).reduce((acc, statusCode) => { + return { + ...acc, + [statusCode]: { + ...responses[statusCode], + bodyMapper: { + type: { + name: "Composite", + modelProperties: { + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } + } + } + }; + }, {} as { [responseCode: string]: OperationResponse }); +} + function shouldPerformFinalGet( - initialResult: LROResponseInfo, - currentResult: LROResponseInfo + initialResult?: LROResponseInfo, + currentResult?: LROResponseInfo ) { - const { status } = currentResult; - const { requestMethod: initialRequestMethod, location } = initialResult; + const { status } = currentResult || {}; + const { requestMethod: initialRequestMethod, location } = initialResult || {}; if (status && status.toLowerCase() !== "succeeded") { return false; } diff --git a/test/integration/generated/mediaTypesV3Lro/src/lro/bodyPollingStrategy.ts b/test/integration/generated/mediaTypesV3Lro/src/lro/bodyPollingStrategy.ts index 35cc6bac2a..c9404330ed 100644 --- a/test/integration/generated/mediaTypesV3Lro/src/lro/bodyPollingStrategy.ts +++ b/test/integration/generated/mediaTypesV3Lro/src/lro/bodyPollingStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { LROStrategy, BaseResult, LROOperationStep } from "./models"; +import { LROStrategy, BaseResult, LROOperationStep, LROSYM } from "./models"; import { OperationSpec } from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "./lroPoller"; @@ -19,7 +19,7 @@ export function createBodyPollingStrategy( initialOperation: LROOperationStep, sendOperation: SendOperationFn ): LROStrategy { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to be defined for BodyPolling strategy"); } @@ -27,7 +27,7 @@ export function createBodyPollingStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } diff --git a/test/integration/generated/mediaTypesV3Lro/src/lro/locationStrategy.ts b/test/integration/generated/mediaTypesV3Lro/src/lro/locationStrategy.ts index 1a5c8d462e..6a763e37ec 100644 --- a/test/integration/generated/mediaTypesV3Lro/src/lro/locationStrategy.ts +++ b/test/integration/generated/mediaTypesV3Lro/src/lro/locationStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationStep, LROStrategy } from "./models"; +import { BaseResult, LROOperationStep, LROStrategy, LROSYM } from "./models"; import { SendOperationFn } from "./lroPoller"; import { OperationSpec } from "@azure/core-http"; @@ -14,7 +14,7 @@ export function createLocationStrategy( initialOperation: LROOperationStep, sendOperationFn: SendOperationFn ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -26,7 +26,7 @@ export function createLocationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } @@ -59,7 +59,8 @@ export function createLocationStrategy( const result = await sendOperationFn(pollingArgs, pollingSpec); // Update latest polling url - lastKnownPollingUrl = result._lroData?.location || lastKnownPollingUrl; + lastKnownPollingUrl = + result._response[LROSYM]?.location || lastKnownPollingUrl; // Update lastOperation result currentOperation = { diff --git a/test/integration/generated/mediaTypesV3Lro/src/lro/lroPolicy.ts b/test/integration/generated/mediaTypesV3Lro/src/lro/lroPolicy.ts index 0591f541b3..4d18c3b7f0 100644 --- a/test/integration/generated/mediaTypesV3Lro/src/lro/lroPolicy.ts +++ b/test/integration/generated/mediaTypesV3Lro/src/lro/lroPolicy.ts @@ -13,6 +13,7 @@ import { HttpOperationResponse, WebResource } from "@azure/core-http"; +import { LROOperationResponse, LROSYM } from "./models"; import { getLROData } from "./requestUtils"; export function lroPolicy() { @@ -31,12 +32,12 @@ class LROPolicy extends BaseRequestPolicy { public async sendRequest( webResource: WebResource ): Promise { - let result = await this._nextPolicy.sendRequest(webResource); + let result: LROOperationResponse = await this._nextPolicy.sendRequest( + webResource + ); + const _lroData = getLROData(result); - if (webResource.shouldDeserialize !== undefined) { - const _lroData = getLROData(result); - result.parsedBody = { ...result.parsedBody, _lroData }; - } + result[LROSYM] = _lroData; return result; } diff --git a/test/integration/generated/mediaTypesV3Lro/src/lro/lroPoller.ts b/test/integration/generated/mediaTypesV3Lro/src/lro/lroPoller.ts index bc2f2aa05a..8c0406cf24 100644 --- a/test/integration/generated/mediaTypesV3Lro/src/lro/lroPoller.ts +++ b/test/integration/generated/mediaTypesV3Lro/src/lro/lroPoller.ts @@ -17,7 +17,8 @@ import { BaseResult, LROOperationState, LROOperationStep, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; import { makeOperation } from "./operation"; import { createBodyPollingStrategy } from "./bodyPollingStrategy"; @@ -122,7 +123,7 @@ function getPollingStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ) { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { const error = new RestError( diff --git a/test/integration/generated/mediaTypesV3Lro/src/lro/models.ts b/test/integration/generated/mediaTypesV3Lro/src/lro/models.ts index a90afc5b41..c4b96664f6 100644 --- a/test/integration/generated/mediaTypesV3Lro/src/lro/models.ts +++ b/test/integration/generated/mediaTypesV3Lro/src/lro/models.ts @@ -10,9 +10,11 @@ import { OperationArguments, OperationSpec, RestResponse, - HttpMethods + HttpMethods, + HttpOperationResponse } from "@azure/core-http"; import { PollOperationState, PollOperation } from "@azure/core-lro"; +export const LROSYM = Symbol("LROData"); export type FinalStateVia = | "azure-async-operation" @@ -30,8 +32,21 @@ export interface LROResponseInfo { status?: string; } +/** + * Extended operation response for LROs + */ +export type LROOperationResponse = HttpOperationResponse & { + /** + * Symbol that contains LRO details + */ + [LROSYM]?: LROResponseInfo; +}; + export interface BaseResult extends RestResponse { - _lroData?: LROResponseInfo; + /** + * The underlying HTTP response containing both raw and deserialized response data. + */ + _response: LROOperationResponse; } export interface LROOperationStep { diff --git a/test/integration/generated/mediaTypesV3Lro/src/lro/operation.ts b/test/integration/generated/mediaTypesV3Lro/src/lro/operation.ts index 9cda560a02..0860f07df0 100644 --- a/test/integration/generated/mediaTypesV3Lro/src/lro/operation.ts +++ b/test/integration/generated/mediaTypesV3Lro/src/lro/operation.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationState, LROOperation } from "./models"; +import { BaseResult, LROOperationState, LROOperation, LROSYM } from "./models"; /** * Creates a copy of the operation from a given State @@ -46,7 +46,7 @@ async function update( const { sendFinalRequest, poll, isTerminal } = state.pollingStrategy; const currentResponse = state.lastOperation; - const currentLroData = currentResponse.result._lroData; + const currentLroData = currentResponse.result._response[LROSYM]; if (!currentLroData) { throw new Error( diff --git a/test/integration/generated/mediaTypesV3Lro/src/models/index.ts b/test/integration/generated/mediaTypesV3Lro/src/models/index.ts index 4031d5c07e..7e9114ff11 100644 --- a/test/integration/generated/mediaTypesV3Lro/src/models/index.ts +++ b/test/integration/generated/mediaTypesV3Lro/src/models/index.ts @@ -7,6 +7,7 @@ */ import * as coreHttp from "@azure/core-http"; +import { LROSYM, LROResponseInfo } from "../lro/models"; /** * Optional parameters. diff --git a/test/integration/generated/paging/src/lro/azureAsyncOperationStrategy.ts b/test/integration/generated/paging/src/lro/azureAsyncOperationStrategy.ts index ecdc300c1f..f54ccc954f 100644 --- a/test/integration/generated/paging/src/lro/azureAsyncOperationStrategy.ts +++ b/test/integration/generated/paging/src/lro/azureAsyncOperationStrategy.ts @@ -11,9 +11,14 @@ import { BaseResult, LROOperationStep, LROResponseInfo, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; -import { OperationSpec, OperationArguments } from "@azure/core-http"; +import { + OperationSpec, + OperationArguments, + OperationResponse +} from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "."; @@ -22,7 +27,7 @@ export function createAzureAsyncOperationStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -35,7 +40,7 @@ export function createAzureAsyncOperationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); @@ -51,16 +56,16 @@ export function createAzureAsyncOperationStrategy( return terminalStates.includes(status.toLowerCase()); }, sendFinalRequest: async () => { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - if (!currentOperation.result._lroData) { + if (!currentOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - const initialOperationResult = initialOperation.result._lroData; - const currentOperationResult = currentOperation.result._lroData; + const initialOperationResult = initialOperation.result._response[LROSYM]; + const currentOperationResult = currentOperation.result._response[LROSYM]; if ( !shouldPerformFinalGet(initialOperationResult, currentOperationResult) @@ -68,7 +73,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.requestMethod === "PUT") { + if (initialOperationResult?.requestMethod === "PUT") { currentOperation = await sendFinalGet( initialOperation, sendOperationFn @@ -77,7 +82,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.location) { + if (initialOperationResult?.location) { switch (finalStateVia) { case "original-uri": currentOperation = await sendFinalGet( @@ -92,7 +97,7 @@ export function createAzureAsyncOperationStrategy( default: const location = initialOperationResult.location || - currentOperationResult.location; + currentOperationResult?.location; if (!location) { throw new Error("Couldn't determine final GET URL from location"); @@ -116,9 +121,11 @@ export function createAzureAsyncOperationStrategy( const pollingArgs = currentOperation.args; // Make sure we don't send any body to the get request - const { requestBody, ...restSpec } = currentOperation.spec; + const { requestBody, responses, ...restSpec } = currentOperation.spec; + const pollingSpec: OperationSpec = { ...restSpec, + responses: getCompositeMappers(responses), httpMethod: "GET", path: lastKnownPollingUrl }; @@ -127,8 +134,8 @@ export function createAzureAsyncOperationStrategy( // Update latest polling url lastKnownPollingUrl = - result._lroData?.azureAsyncOperation || - result._lroData?.operationLocation || + result._response[LROSYM]?.azureAsyncOperation || + result._response[LROSYM]?.operationLocation || lastKnownPollingUrl; // Update lastOperation result @@ -143,12 +150,47 @@ export function createAzureAsyncOperationStrategy( }; } +/** + * Polling calls will always return a status object i.e. {"status": "success"} + * these intermediate responses are not described in the swagger so we need to + * pass custom mappers at runtime. + * This function replaces all the existing mappers to be able to deserialize a status object + * @param responses Original set of responses defined in the operation + */ +function getCompositeMappers(responses: { + [responseCode: string]: OperationResponse; +}): { + [responseCode: string]: OperationResponse; +} { + return Object.keys(responses).reduce((acc, statusCode) => { + return { + ...acc, + [statusCode]: { + ...responses[statusCode], + bodyMapper: { + type: { + name: "Composite", + modelProperties: { + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } + } + } + }; + }, {} as { [responseCode: string]: OperationResponse }); +} + function shouldPerformFinalGet( - initialResult: LROResponseInfo, - currentResult: LROResponseInfo + initialResult?: LROResponseInfo, + currentResult?: LROResponseInfo ) { - const { status } = currentResult; - const { requestMethod: initialRequestMethod, location } = initialResult; + const { status } = currentResult || {}; + const { requestMethod: initialRequestMethod, location } = initialResult || {}; if (status && status.toLowerCase() !== "succeeded") { return false; } diff --git a/test/integration/generated/paging/src/lro/bodyPollingStrategy.ts b/test/integration/generated/paging/src/lro/bodyPollingStrategy.ts index 35cc6bac2a..c9404330ed 100644 --- a/test/integration/generated/paging/src/lro/bodyPollingStrategy.ts +++ b/test/integration/generated/paging/src/lro/bodyPollingStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { LROStrategy, BaseResult, LROOperationStep } from "./models"; +import { LROStrategy, BaseResult, LROOperationStep, LROSYM } from "./models"; import { OperationSpec } from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "./lroPoller"; @@ -19,7 +19,7 @@ export function createBodyPollingStrategy( initialOperation: LROOperationStep, sendOperation: SendOperationFn ): LROStrategy { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to be defined for BodyPolling strategy"); } @@ -27,7 +27,7 @@ export function createBodyPollingStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } diff --git a/test/integration/generated/paging/src/lro/locationStrategy.ts b/test/integration/generated/paging/src/lro/locationStrategy.ts index 1a5c8d462e..6a763e37ec 100644 --- a/test/integration/generated/paging/src/lro/locationStrategy.ts +++ b/test/integration/generated/paging/src/lro/locationStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationStep, LROStrategy } from "./models"; +import { BaseResult, LROOperationStep, LROStrategy, LROSYM } from "./models"; import { SendOperationFn } from "./lroPoller"; import { OperationSpec } from "@azure/core-http"; @@ -14,7 +14,7 @@ export function createLocationStrategy( initialOperation: LROOperationStep, sendOperationFn: SendOperationFn ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -26,7 +26,7 @@ export function createLocationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } @@ -59,7 +59,8 @@ export function createLocationStrategy( const result = await sendOperationFn(pollingArgs, pollingSpec); // Update latest polling url - lastKnownPollingUrl = result._lroData?.location || lastKnownPollingUrl; + lastKnownPollingUrl = + result._response[LROSYM]?.location || lastKnownPollingUrl; // Update lastOperation result currentOperation = { diff --git a/test/integration/generated/paging/src/lro/lroPolicy.ts b/test/integration/generated/paging/src/lro/lroPolicy.ts index 0591f541b3..4d18c3b7f0 100644 --- a/test/integration/generated/paging/src/lro/lroPolicy.ts +++ b/test/integration/generated/paging/src/lro/lroPolicy.ts @@ -13,6 +13,7 @@ import { HttpOperationResponse, WebResource } from "@azure/core-http"; +import { LROOperationResponse, LROSYM } from "./models"; import { getLROData } from "./requestUtils"; export function lroPolicy() { @@ -31,12 +32,12 @@ class LROPolicy extends BaseRequestPolicy { public async sendRequest( webResource: WebResource ): Promise { - let result = await this._nextPolicy.sendRequest(webResource); + let result: LROOperationResponse = await this._nextPolicy.sendRequest( + webResource + ); + const _lroData = getLROData(result); - if (webResource.shouldDeserialize !== undefined) { - const _lroData = getLROData(result); - result.parsedBody = { ...result.parsedBody, _lroData }; - } + result[LROSYM] = _lroData; return result; } diff --git a/test/integration/generated/paging/src/lro/lroPoller.ts b/test/integration/generated/paging/src/lro/lroPoller.ts index bc2f2aa05a..8c0406cf24 100644 --- a/test/integration/generated/paging/src/lro/lroPoller.ts +++ b/test/integration/generated/paging/src/lro/lroPoller.ts @@ -17,7 +17,8 @@ import { BaseResult, LROOperationState, LROOperationStep, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; import { makeOperation } from "./operation"; import { createBodyPollingStrategy } from "./bodyPollingStrategy"; @@ -122,7 +123,7 @@ function getPollingStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ) { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { const error = new RestError( diff --git a/test/integration/generated/paging/src/lro/models.ts b/test/integration/generated/paging/src/lro/models.ts index a90afc5b41..c4b96664f6 100644 --- a/test/integration/generated/paging/src/lro/models.ts +++ b/test/integration/generated/paging/src/lro/models.ts @@ -10,9 +10,11 @@ import { OperationArguments, OperationSpec, RestResponse, - HttpMethods + HttpMethods, + HttpOperationResponse } from "@azure/core-http"; import { PollOperationState, PollOperation } from "@azure/core-lro"; +export const LROSYM = Symbol("LROData"); export type FinalStateVia = | "azure-async-operation" @@ -30,8 +32,21 @@ export interface LROResponseInfo { status?: string; } +/** + * Extended operation response for LROs + */ +export type LROOperationResponse = HttpOperationResponse & { + /** + * Symbol that contains LRO details + */ + [LROSYM]?: LROResponseInfo; +}; + export interface BaseResult extends RestResponse { - _lroData?: LROResponseInfo; + /** + * The underlying HTTP response containing both raw and deserialized response data. + */ + _response: LROOperationResponse; } export interface LROOperationStep { diff --git a/test/integration/generated/paging/src/lro/operation.ts b/test/integration/generated/paging/src/lro/operation.ts index 9cda560a02..0860f07df0 100644 --- a/test/integration/generated/paging/src/lro/operation.ts +++ b/test/integration/generated/paging/src/lro/operation.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationState, LROOperation } from "./models"; +import { BaseResult, LROOperationState, LROOperation, LROSYM } from "./models"; /** * Creates a copy of the operation from a given State @@ -46,7 +46,7 @@ async function update( const { sendFinalRequest, poll, isTerminal } = state.pollingStrategy; const currentResponse = state.lastOperation; - const currentLroData = currentResponse.result._lroData; + const currentLroData = currentResponse.result._response[LROSYM]; if (!currentLroData) { throw new Error( diff --git a/test/integration/generated/paging/src/models/index.ts b/test/integration/generated/paging/src/models/index.ts index 86a73bbb80..82a86a4356 100644 --- a/test/integration/generated/paging/src/models/index.ts +++ b/test/integration/generated/paging/src/models/index.ts @@ -7,6 +7,7 @@ */ import * as coreHttp from "@azure/core-http"; +import { LROSYM, LROResponseInfo } from "../lro/models"; export interface ProductResultValue { value?: Product[]; @@ -504,6 +505,10 @@ export type PagingGetMultiplePagesLROResponse = ProductResult & { * The response body as parsed JSON or XML */ parsedBody: ProductResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; diff --git a/test/integration/lro.spec.ts b/test/integration/lro.spec.ts index a74493d01d..cbc7e29bc9 100644 --- a/test/integration/lro.spec.ts +++ b/test/integration/lro.spec.ts @@ -1,7 +1,7 @@ import { LROClient, Product } from "./generated/lro/src"; import { assert } from "chai"; -import { BaseResult } from "./generated/lro/src/lro"; import { InternalPipelineOptions, OperationOptions } from "@azure/core-http"; +import { LROSYM } from "./generated/lro/src/lro/models"; describe("LROs", () => { let client: LROClient; @@ -235,16 +235,16 @@ describe("LROs", () => { const poller = await client.lROs.deleteAsyncRetrycanceled(); // To avoid timing out, override the default delay function poller.delay = () => Promise.resolve(); - const result: BaseResult = await poller.pollUntilDone(); - assert.equal(result._lroData?.status, "Canceled"); + const result = await poller.pollUntilDone(); + assert.equal(result._response[LROSYM].status, "Canceled"); }); it("should handle DeleteAsyncRetryFailed", async () => { const poller = await client.lROs.deleteAsyncRetryFailed(); // To avoid timing out, override the default delay function poller.delay = () => Promise.resolve(); - const result: BaseResult = await poller.pollUntilDone(); - assert.equal(result._lroData?.status, "Failed"); + const result = await poller.pollUntilDone(); + assert.equal(result._response[LROSYM].status, "Failed"); }); it("should handle putAsyncRetrySucceeded", async () => { @@ -257,12 +257,31 @@ describe("LROs", () => { assert.equal(result.provisioningState, "Succeeded"); }); + it("should handle put201Succeeded", async () => { + const poller = await client.lROs.put201Succeeded({ product: {} }); + // To avoid timing out, override the default delay function + poller.delay = () => Promise.resolve(); + const result = await poller.pollUntilDone(); + assert.equal(result.id, "100"); + assert.equal(result.name, "foo"); + assert.equal(result.provisioningState, "Succeeded"); + }); + + it("should handle post202List", async () => { + const poller = await client.lROs.post202List(); + // To avoid timing out, override the default delay function + poller.delay = () => Promise.resolve(); + const result = await poller.pollUntilDone(); + assert.equal(result[0].id, "100"); + assert.equal(result[0].name, "foo"); + }); + it("should handle putAsyncRetryFailed", async () => { const poller = await client.lROs.putAsyncRetryFailed(); // To avoid timing out, override the default delay function poller.delay = () => Promise.resolve(); - const result: BaseResult = await poller.pollUntilDone(); - assert.equal(result._lroData?.status, "Failed"); + const result = await poller.pollUntilDone(); + assert.equal(result._response[LROSYM].status, "Failed"); }); it("should handle putAsyncNonResource", async () => { @@ -298,8 +317,8 @@ describe("LROs", () => { const poller = await client.lROs.putAsyncNoRetrycanceled(); // To avoid timing out, override the default delay function poller.delay = () => Promise.resolve(); - const result: BaseResult = await poller.pollUntilDone(); - assert.equal(result._lroData?.status, "Canceled"); + const result = await poller.pollUntilDone(); + assert.equal(result._response[LROSYM].status, "Canceled"); }); it("should handle putAsyncSubResource", async () => { @@ -333,8 +352,8 @@ describe("LROs", () => { product }); poller.delay = () => Promise.resolve(); - const result: BaseResult = await poller.pollUntilDone(); - assert.deepEqual(result.status, "Failed"); + const result = await poller.pollUntilDone(); + assert.deepEqual(result._response[LROSYM].status, "Failed"); }); it("should handle postAsyncRetrySucceeded", async () => { @@ -342,7 +361,7 @@ describe("LROs", () => { product }); poller.delay = () => Promise.resolve(); - const result: BaseResult = await poller.pollUntilDone(); + const result = await poller.pollUntilDone(); assert.deepInclude(result, { id: "100", name: "foo" }); }); @@ -351,8 +370,8 @@ describe("LROs", () => { product }); poller.delay = () => Promise.resolve(); - const result: BaseResult = await poller.pollUntilDone(); - assert.deepInclude(result._lroData?.status, "Canceled"); + const result = await poller.pollUntilDone(); + assert.deepInclude(result._response[LROSYM].status, "Canceled"); }); }); }); diff --git a/test/integration/paging.spec.ts b/test/integration/paging.spec.ts index 0e81eb0d56..f78792278d 100644 --- a/test/integration/paging.spec.ts +++ b/test/integration/paging.spec.ts @@ -4,7 +4,9 @@ import { PagingGetMultiplePagesResponse, PagingGetMultiplePagesWithOffsetResponse, PagingGetMultiplePagesFragmentNextLinkResponse, - Product + Product, + PagingGetMultiplePagesLROResponse, + PagingGetMultiplePagesLRONextResponse } from "./generated/paging/src"; import { InternalPipelineOptions } from "@azure/core-http"; @@ -352,8 +354,7 @@ describe("Integration tests for Paging", () => { const poller = await client.paging.getMultiplePagesLRO(); poller.delay = () => Promise.resolve(); let pageCount = 1; - let page = await poller.pollUntilDone(); - + let page: PagingGetMultiplePagesLROResponse | PagingGetMultiplePagesLRONextResponse = await poller.pollUntilDone(); while (page.nextLink) { page = await client.paging.getMultiplePagesLRONext(page.nextLink); pageCount++; diff --git a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/review/arm-package-deploymentscripts-2019-10-preview.api.md b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/review/arm-package-deploymentscripts-2019-10-preview.api.md index 15727b8d53..7bbd4142a9 100644 --- a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/review/arm-package-deploymentscripts-2019-10-preview.api.md +++ b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/review/arm-package-deploymentscripts-2019-10-preview.api.md @@ -6,6 +6,7 @@ import * as coreHttp from '@azure/core-http'; import { HttpMethods } from '@azure/core-http'; +import { HttpOperationResponse } from '@azure/core-http'; import { OperationArguments } from '@azure/core-http'; import { OperationSpec } from '@azure/core-http'; import { Poller } from '@azure/core-lro'; @@ -143,6 +144,7 @@ export type DeploymentScriptsCreateResponse = DeploymentScriptUnion & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DeploymentScriptUnion; + [LROSYM]: LROResponseInfo; }; }; @@ -329,6 +331,10 @@ export interface UserAssignedIdentity { } +// Warnings were encountered during analysis: +// +// src/models/index.ts:583:5 - (ae-forgotten-export) The symbol "LROResponseInfo" needs to be exported by the entry point index.d.ts + // (No @packageDocumentation comment for this package) ``` diff --git a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/azureAsyncOperationStrategy.ts b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/azureAsyncOperationStrategy.ts index ecdc300c1f..f54ccc954f 100644 --- a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/azureAsyncOperationStrategy.ts +++ b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/azureAsyncOperationStrategy.ts @@ -11,9 +11,14 @@ import { BaseResult, LROOperationStep, LROResponseInfo, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; -import { OperationSpec, OperationArguments } from "@azure/core-http"; +import { + OperationSpec, + OperationArguments, + OperationResponse +} from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "."; @@ -22,7 +27,7 @@ export function createAzureAsyncOperationStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -35,7 +40,7 @@ export function createAzureAsyncOperationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); @@ -51,16 +56,16 @@ export function createAzureAsyncOperationStrategy( return terminalStates.includes(status.toLowerCase()); }, sendFinalRequest: async () => { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - if (!currentOperation.result._lroData) { + if (!currentOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - const initialOperationResult = initialOperation.result._lroData; - const currentOperationResult = currentOperation.result._lroData; + const initialOperationResult = initialOperation.result._response[LROSYM]; + const currentOperationResult = currentOperation.result._response[LROSYM]; if ( !shouldPerformFinalGet(initialOperationResult, currentOperationResult) @@ -68,7 +73,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.requestMethod === "PUT") { + if (initialOperationResult?.requestMethod === "PUT") { currentOperation = await sendFinalGet( initialOperation, sendOperationFn @@ -77,7 +82,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.location) { + if (initialOperationResult?.location) { switch (finalStateVia) { case "original-uri": currentOperation = await sendFinalGet( @@ -92,7 +97,7 @@ export function createAzureAsyncOperationStrategy( default: const location = initialOperationResult.location || - currentOperationResult.location; + currentOperationResult?.location; if (!location) { throw new Error("Couldn't determine final GET URL from location"); @@ -116,9 +121,11 @@ export function createAzureAsyncOperationStrategy( const pollingArgs = currentOperation.args; // Make sure we don't send any body to the get request - const { requestBody, ...restSpec } = currentOperation.spec; + const { requestBody, responses, ...restSpec } = currentOperation.spec; + const pollingSpec: OperationSpec = { ...restSpec, + responses: getCompositeMappers(responses), httpMethod: "GET", path: lastKnownPollingUrl }; @@ -127,8 +134,8 @@ export function createAzureAsyncOperationStrategy( // Update latest polling url lastKnownPollingUrl = - result._lroData?.azureAsyncOperation || - result._lroData?.operationLocation || + result._response[LROSYM]?.azureAsyncOperation || + result._response[LROSYM]?.operationLocation || lastKnownPollingUrl; // Update lastOperation result @@ -143,12 +150,47 @@ export function createAzureAsyncOperationStrategy( }; } +/** + * Polling calls will always return a status object i.e. {"status": "success"} + * these intermediate responses are not described in the swagger so we need to + * pass custom mappers at runtime. + * This function replaces all the existing mappers to be able to deserialize a status object + * @param responses Original set of responses defined in the operation + */ +function getCompositeMappers(responses: { + [responseCode: string]: OperationResponse; +}): { + [responseCode: string]: OperationResponse; +} { + return Object.keys(responses).reduce((acc, statusCode) => { + return { + ...acc, + [statusCode]: { + ...responses[statusCode], + bodyMapper: { + type: { + name: "Composite", + modelProperties: { + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } + } + } + }; + }, {} as { [responseCode: string]: OperationResponse }); +} + function shouldPerformFinalGet( - initialResult: LROResponseInfo, - currentResult: LROResponseInfo + initialResult?: LROResponseInfo, + currentResult?: LROResponseInfo ) { - const { status } = currentResult; - const { requestMethod: initialRequestMethod, location } = initialResult; + const { status } = currentResult || {}; + const { requestMethod: initialRequestMethod, location } = initialResult || {}; if (status && status.toLowerCase() !== "succeeded") { return false; } diff --git a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/bodyPollingStrategy.ts b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/bodyPollingStrategy.ts index 35cc6bac2a..c9404330ed 100644 --- a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/bodyPollingStrategy.ts +++ b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/bodyPollingStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { LROStrategy, BaseResult, LROOperationStep } from "./models"; +import { LROStrategy, BaseResult, LROOperationStep, LROSYM } from "./models"; import { OperationSpec } from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "./lroPoller"; @@ -19,7 +19,7 @@ export function createBodyPollingStrategy( initialOperation: LROOperationStep, sendOperation: SendOperationFn ): LROStrategy { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to be defined for BodyPolling strategy"); } @@ -27,7 +27,7 @@ export function createBodyPollingStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } diff --git a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/locationStrategy.ts b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/locationStrategy.ts index 1a5c8d462e..6a763e37ec 100644 --- a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/locationStrategy.ts +++ b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/locationStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationStep, LROStrategy } from "./models"; +import { BaseResult, LROOperationStep, LROStrategy, LROSYM } from "./models"; import { SendOperationFn } from "./lroPoller"; import { OperationSpec } from "@azure/core-http"; @@ -14,7 +14,7 @@ export function createLocationStrategy( initialOperation: LROOperationStep, sendOperationFn: SendOperationFn ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -26,7 +26,7 @@ export function createLocationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } @@ -59,7 +59,8 @@ export function createLocationStrategy( const result = await sendOperationFn(pollingArgs, pollingSpec); // Update latest polling url - lastKnownPollingUrl = result._lroData?.location || lastKnownPollingUrl; + lastKnownPollingUrl = + result._response[LROSYM]?.location || lastKnownPollingUrl; // Update lastOperation result currentOperation = { diff --git a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/lroPolicy.ts b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/lroPolicy.ts index 0591f541b3..4d18c3b7f0 100644 --- a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/lroPolicy.ts +++ b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/lroPolicy.ts @@ -13,6 +13,7 @@ import { HttpOperationResponse, WebResource } from "@azure/core-http"; +import { LROOperationResponse, LROSYM } from "./models"; import { getLROData } from "./requestUtils"; export function lroPolicy() { @@ -31,12 +32,12 @@ class LROPolicy extends BaseRequestPolicy { public async sendRequest( webResource: WebResource ): Promise { - let result = await this._nextPolicy.sendRequest(webResource); + let result: LROOperationResponse = await this._nextPolicy.sendRequest( + webResource + ); + const _lroData = getLROData(result); - if (webResource.shouldDeserialize !== undefined) { - const _lroData = getLROData(result); - result.parsedBody = { ...result.parsedBody, _lroData }; - } + result[LROSYM] = _lroData; return result; } diff --git a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/lroPoller.ts b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/lroPoller.ts index bc2f2aa05a..8c0406cf24 100644 --- a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/lroPoller.ts +++ b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/lroPoller.ts @@ -17,7 +17,8 @@ import { BaseResult, LROOperationState, LROOperationStep, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; import { makeOperation } from "./operation"; import { createBodyPollingStrategy } from "./bodyPollingStrategy"; @@ -122,7 +123,7 @@ function getPollingStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ) { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { const error = new RestError( diff --git a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/models.ts b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/models.ts index a90afc5b41..c4b96664f6 100644 --- a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/models.ts +++ b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/models.ts @@ -10,9 +10,11 @@ import { OperationArguments, OperationSpec, RestResponse, - HttpMethods + HttpMethods, + HttpOperationResponse } from "@azure/core-http"; import { PollOperationState, PollOperation } from "@azure/core-lro"; +export const LROSYM = Symbol("LROData"); export type FinalStateVia = | "azure-async-operation" @@ -30,8 +32,21 @@ export interface LROResponseInfo { status?: string; } +/** + * Extended operation response for LROs + */ +export type LROOperationResponse = HttpOperationResponse & { + /** + * Symbol that contains LRO details + */ + [LROSYM]?: LROResponseInfo; +}; + export interface BaseResult extends RestResponse { - _lroData?: LROResponseInfo; + /** + * The underlying HTTP response containing both raw and deserialized response data. + */ + _response: LROOperationResponse; } export interface LROOperationStep { diff --git a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/operation.ts b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/operation.ts index 9cda560a02..0860f07df0 100644 --- a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/operation.ts +++ b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/lro/operation.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationState, LROOperation } from "./models"; +import { BaseResult, LROOperationState, LROOperation, LROSYM } from "./models"; /** * Creates a copy of the operation from a given State @@ -46,7 +46,7 @@ async function update( const { sendFinalRequest, poll, isTerminal } = state.pollingStrategy; const currentResponse = state.lastOperation; - const currentLroData = currentResponse.result._lroData; + const currentLroData = currentResponse.result._response[LROSYM]; if (!currentLroData) { throw new Error( diff --git a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/models/index.ts b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/models/index.ts index efbe14530a..34d6ed327a 100644 --- a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/models/index.ts +++ b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/src/models/index.ts @@ -7,6 +7,7 @@ */ import * as coreHttp from "@azure/core-http"; +import { LROSYM, LROResponseInfo } from "../lro/models"; export type DeploymentScriptUnion = AzurePowerShellScript | AzureCliScript; @@ -576,6 +577,10 @@ export type DeploymentScriptsCreateResponse = DeploymentScriptUnion & { * The response body as parsed JSON or XML */ parsedBody: DeploymentScriptUnion; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; diff --git a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/temp/arm-package-deploymentscripts-2019-10-preview.api.json b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/temp/arm-package-deploymentscripts-2019-10-preview.api.json index 366d53c729..c566730bb0 100644 --- a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/temp/arm-package-deploymentscripts-2019-10-preview.api.json +++ b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/temp/arm-package-deploymentscripts-2019-10-preview.api.json @@ -1200,6 +1200,24 @@ "text": "DeploymentScriptUnion", "canonicalReference": "arm-package-deploymentscripts-2019-10-preview!DeploymentScriptUnion:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "arm-package-deploymentscripts-2019-10-preview!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "arm-package-deploymentscripts-2019-10-preview!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -1213,7 +1231,7 @@ "name": "DeploymentScriptsCreateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { diff --git a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/temp/arm-package-deploymentscripts-2019-10-preview.api.md b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/temp/arm-package-deploymentscripts-2019-10-preview.api.md index 15727b8d53..7bbd4142a9 100644 --- a/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/temp/arm-package-deploymentscripts-2019-10-preview.api.md +++ b/test/smoke/generated/arm-package-deploymentscripts-2019-10-preview/temp/arm-package-deploymentscripts-2019-10-preview.api.md @@ -6,6 +6,7 @@ import * as coreHttp from '@azure/core-http'; import { HttpMethods } from '@azure/core-http'; +import { HttpOperationResponse } from '@azure/core-http'; import { OperationArguments } from '@azure/core-http'; import { OperationSpec } from '@azure/core-http'; import { Poller } from '@azure/core-lro'; @@ -143,6 +144,7 @@ export type DeploymentScriptsCreateResponse = DeploymentScriptUnion & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DeploymentScriptUnion; + [LROSYM]: LROResponseInfo; }; }; @@ -329,6 +331,10 @@ export interface UserAssignedIdentity { } +// Warnings were encountered during analysis: +// +// src/models/index.ts:583:5 - (ae-forgotten-export) The symbol "LROResponseInfo" needs to be exported by the entry point index.d.ts + // (No @packageDocumentation comment for this package) ``` diff --git a/test/smoke/generated/arm-package-managedapplications-2018-06/review/arm-package-managedapplications-2018-06.api.md b/test/smoke/generated/arm-package-managedapplications-2018-06/review/arm-package-managedapplications-2018-06.api.md index 7948a275b5..a33433ac74 100644 --- a/test/smoke/generated/arm-package-managedapplications-2018-06/review/arm-package-managedapplications-2018-06.api.md +++ b/test/smoke/generated/arm-package-managedapplications-2018-06/review/arm-package-managedapplications-2018-06.api.md @@ -6,6 +6,7 @@ import * as coreHttp from '@azure/core-http'; import { HttpMethods } from '@azure/core-http'; +import { HttpOperationResponse } from '@azure/core-http'; import { OperationArguments } from '@azure/core-http'; import { OperationSpec } from '@azure/core-http'; import { Poller } from '@azure/core-lro'; @@ -88,6 +89,7 @@ export type ApplicationDefinitionsCreateOrUpdateByIdResponse = ApplicationDefini _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ApplicationDefinition; + [LROSYM]: LROResponseInfo; }; }; @@ -96,6 +98,7 @@ export type ApplicationDefinitionsCreateOrUpdateResponse = ApplicationDefinition _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ApplicationDefinition; + [LROSYM]: LROResponseInfo; }; }; @@ -162,6 +165,7 @@ export type ApplicationsCreateOrUpdateByIdResponse = Application & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Application; + [LROSYM]: LROResponseInfo; }; }; @@ -170,6 +174,7 @@ export type ApplicationsCreateOrUpdateResponse = Application & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Application; + [LROSYM]: LROResponseInfo; }; }; @@ -311,6 +316,10 @@ export interface Sku { } +// Warnings were encountered during analysis: +// +// src/models/index.ts:711:5 - (ae-forgotten-export) The symbol "LROResponseInfo" needs to be exported by the entry point index.d.ts + // (No @packageDocumentation comment for this package) ``` diff --git a/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/azureAsyncOperationStrategy.ts b/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/azureAsyncOperationStrategy.ts index ecdc300c1f..f54ccc954f 100644 --- a/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/azureAsyncOperationStrategy.ts +++ b/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/azureAsyncOperationStrategy.ts @@ -11,9 +11,14 @@ import { BaseResult, LROOperationStep, LROResponseInfo, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; -import { OperationSpec, OperationArguments } from "@azure/core-http"; +import { + OperationSpec, + OperationArguments, + OperationResponse +} from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "."; @@ -22,7 +27,7 @@ export function createAzureAsyncOperationStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -35,7 +40,7 @@ export function createAzureAsyncOperationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); @@ -51,16 +56,16 @@ export function createAzureAsyncOperationStrategy( return terminalStates.includes(status.toLowerCase()); }, sendFinalRequest: async () => { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - if (!currentOperation.result._lroData) { + if (!currentOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - const initialOperationResult = initialOperation.result._lroData; - const currentOperationResult = currentOperation.result._lroData; + const initialOperationResult = initialOperation.result._response[LROSYM]; + const currentOperationResult = currentOperation.result._response[LROSYM]; if ( !shouldPerformFinalGet(initialOperationResult, currentOperationResult) @@ -68,7 +73,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.requestMethod === "PUT") { + if (initialOperationResult?.requestMethod === "PUT") { currentOperation = await sendFinalGet( initialOperation, sendOperationFn @@ -77,7 +82,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.location) { + if (initialOperationResult?.location) { switch (finalStateVia) { case "original-uri": currentOperation = await sendFinalGet( @@ -92,7 +97,7 @@ export function createAzureAsyncOperationStrategy( default: const location = initialOperationResult.location || - currentOperationResult.location; + currentOperationResult?.location; if (!location) { throw new Error("Couldn't determine final GET URL from location"); @@ -116,9 +121,11 @@ export function createAzureAsyncOperationStrategy( const pollingArgs = currentOperation.args; // Make sure we don't send any body to the get request - const { requestBody, ...restSpec } = currentOperation.spec; + const { requestBody, responses, ...restSpec } = currentOperation.spec; + const pollingSpec: OperationSpec = { ...restSpec, + responses: getCompositeMappers(responses), httpMethod: "GET", path: lastKnownPollingUrl }; @@ -127,8 +134,8 @@ export function createAzureAsyncOperationStrategy( // Update latest polling url lastKnownPollingUrl = - result._lroData?.azureAsyncOperation || - result._lroData?.operationLocation || + result._response[LROSYM]?.azureAsyncOperation || + result._response[LROSYM]?.operationLocation || lastKnownPollingUrl; // Update lastOperation result @@ -143,12 +150,47 @@ export function createAzureAsyncOperationStrategy( }; } +/** + * Polling calls will always return a status object i.e. {"status": "success"} + * these intermediate responses are not described in the swagger so we need to + * pass custom mappers at runtime. + * This function replaces all the existing mappers to be able to deserialize a status object + * @param responses Original set of responses defined in the operation + */ +function getCompositeMappers(responses: { + [responseCode: string]: OperationResponse; +}): { + [responseCode: string]: OperationResponse; +} { + return Object.keys(responses).reduce((acc, statusCode) => { + return { + ...acc, + [statusCode]: { + ...responses[statusCode], + bodyMapper: { + type: { + name: "Composite", + modelProperties: { + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } + } + } + }; + }, {} as { [responseCode: string]: OperationResponse }); +} + function shouldPerformFinalGet( - initialResult: LROResponseInfo, - currentResult: LROResponseInfo + initialResult?: LROResponseInfo, + currentResult?: LROResponseInfo ) { - const { status } = currentResult; - const { requestMethod: initialRequestMethod, location } = initialResult; + const { status } = currentResult || {}; + const { requestMethod: initialRequestMethod, location } = initialResult || {}; if (status && status.toLowerCase() !== "succeeded") { return false; } diff --git a/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/bodyPollingStrategy.ts b/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/bodyPollingStrategy.ts index 35cc6bac2a..c9404330ed 100644 --- a/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/bodyPollingStrategy.ts +++ b/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/bodyPollingStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { LROStrategy, BaseResult, LROOperationStep } from "./models"; +import { LROStrategy, BaseResult, LROOperationStep, LROSYM } from "./models"; import { OperationSpec } from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "./lroPoller"; @@ -19,7 +19,7 @@ export function createBodyPollingStrategy( initialOperation: LROOperationStep, sendOperation: SendOperationFn ): LROStrategy { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to be defined for BodyPolling strategy"); } @@ -27,7 +27,7 @@ export function createBodyPollingStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } diff --git a/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/locationStrategy.ts b/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/locationStrategy.ts index 1a5c8d462e..6a763e37ec 100644 --- a/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/locationStrategy.ts +++ b/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/locationStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationStep, LROStrategy } from "./models"; +import { BaseResult, LROOperationStep, LROStrategy, LROSYM } from "./models"; import { SendOperationFn } from "./lroPoller"; import { OperationSpec } from "@azure/core-http"; @@ -14,7 +14,7 @@ export function createLocationStrategy( initialOperation: LROOperationStep, sendOperationFn: SendOperationFn ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -26,7 +26,7 @@ export function createLocationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } @@ -59,7 +59,8 @@ export function createLocationStrategy( const result = await sendOperationFn(pollingArgs, pollingSpec); // Update latest polling url - lastKnownPollingUrl = result._lroData?.location || lastKnownPollingUrl; + lastKnownPollingUrl = + result._response[LROSYM]?.location || lastKnownPollingUrl; // Update lastOperation result currentOperation = { diff --git a/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/lroPolicy.ts b/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/lroPolicy.ts index 0591f541b3..4d18c3b7f0 100644 --- a/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/lroPolicy.ts +++ b/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/lroPolicy.ts @@ -13,6 +13,7 @@ import { HttpOperationResponse, WebResource } from "@azure/core-http"; +import { LROOperationResponse, LROSYM } from "./models"; import { getLROData } from "./requestUtils"; export function lroPolicy() { @@ -31,12 +32,12 @@ class LROPolicy extends BaseRequestPolicy { public async sendRequest( webResource: WebResource ): Promise { - let result = await this._nextPolicy.sendRequest(webResource); + let result: LROOperationResponse = await this._nextPolicy.sendRequest( + webResource + ); + const _lroData = getLROData(result); - if (webResource.shouldDeserialize !== undefined) { - const _lroData = getLROData(result); - result.parsedBody = { ...result.parsedBody, _lroData }; - } + result[LROSYM] = _lroData; return result; } diff --git a/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/lroPoller.ts b/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/lroPoller.ts index bc2f2aa05a..8c0406cf24 100644 --- a/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/lroPoller.ts +++ b/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/lroPoller.ts @@ -17,7 +17,8 @@ import { BaseResult, LROOperationState, LROOperationStep, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; import { makeOperation } from "./operation"; import { createBodyPollingStrategy } from "./bodyPollingStrategy"; @@ -122,7 +123,7 @@ function getPollingStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ) { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { const error = new RestError( diff --git a/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/models.ts b/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/models.ts index a90afc5b41..c4b96664f6 100644 --- a/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/models.ts +++ b/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/models.ts @@ -10,9 +10,11 @@ import { OperationArguments, OperationSpec, RestResponse, - HttpMethods + HttpMethods, + HttpOperationResponse } from "@azure/core-http"; import { PollOperationState, PollOperation } from "@azure/core-lro"; +export const LROSYM = Symbol("LROData"); export type FinalStateVia = | "azure-async-operation" @@ -30,8 +32,21 @@ export interface LROResponseInfo { status?: string; } +/** + * Extended operation response for LROs + */ +export type LROOperationResponse = HttpOperationResponse & { + /** + * Symbol that contains LRO details + */ + [LROSYM]?: LROResponseInfo; +}; + export interface BaseResult extends RestResponse { - _lroData?: LROResponseInfo; + /** + * The underlying HTTP response containing both raw and deserialized response data. + */ + _response: LROOperationResponse; } export interface LROOperationStep { diff --git a/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/operation.ts b/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/operation.ts index 9cda560a02..0860f07df0 100644 --- a/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/operation.ts +++ b/test/smoke/generated/arm-package-managedapplications-2018-06/src/lro/operation.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationState, LROOperation } from "./models"; +import { BaseResult, LROOperationState, LROOperation, LROSYM } from "./models"; /** * Creates a copy of the operation from a given State @@ -46,7 +46,7 @@ async function update( const { sendFinalRequest, poll, isTerminal } = state.pollingStrategy; const currentResponse = state.lastOperation; - const currentLroData = currentResponse.result._lroData; + const currentLroData = currentResponse.result._response[LROSYM]; if (!currentLroData) { throw new Error( diff --git a/test/smoke/generated/arm-package-managedapplications-2018-06/src/models/index.ts b/test/smoke/generated/arm-package-managedapplications-2018-06/src/models/index.ts index c8d1a8acdc..6307320acd 100644 --- a/test/smoke/generated/arm-package-managedapplications-2018-06/src/models/index.ts +++ b/test/smoke/generated/arm-package-managedapplications-2018-06/src/models/index.ts @@ -7,6 +7,7 @@ */ import * as coreHttp from "@azure/core-http"; +import { LROSYM, LROResponseInfo } from "../lro/models"; /** * Plan for the managed application. @@ -410,6 +411,10 @@ export type ApplicationsCreateOrUpdateResponse = Application & { * The response body as parsed JSON or XML */ parsedBody: Application; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -521,6 +526,10 @@ export type ApplicationsCreateOrUpdateByIdResponse = Application & { * The response body as parsed JSON or XML */ parsedBody: Application; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -632,6 +641,10 @@ export type ApplicationDefinitionsCreateOrUpdateResponse = ApplicationDefinition * The response body as parsed JSON or XML */ parsedBody: ApplicationDefinition; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -692,6 +705,10 @@ export type ApplicationDefinitionsCreateOrUpdateByIdResponse = ApplicationDefini * The response body as parsed JSON or XML */ parsedBody: ApplicationDefinition; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; diff --git a/test/smoke/generated/arm-package-managedapplications-2018-06/temp/arm-package-managedapplications-2018-06.api.json b/test/smoke/generated/arm-package-managedapplications-2018-06/temp/arm-package-managedapplications-2018-06.api.json index f07210e8ee..ca90379e93 100644 --- a/test/smoke/generated/arm-package-managedapplications-2018-06/temp/arm-package-managedapplications-2018-06.api.json +++ b/test/smoke/generated/arm-package-managedapplications-2018-06/temp/arm-package-managedapplications-2018-06.api.json @@ -793,6 +793,24 @@ "text": "ApplicationDefinition", "canonicalReference": "arm-package-managedapplications-2018-06!ApplicationDefinition:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "arm-package-managedapplications-2018-06!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "arm-package-managedapplications-2018-06!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -806,7 +824,7 @@ "name": "ApplicationDefinitionsCreateOrUpdateByIdResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -841,6 +859,24 @@ "text": "ApplicationDefinition", "canonicalReference": "arm-package-managedapplications-2018-06!ApplicationDefinition:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "arm-package-managedapplications-2018-06!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "arm-package-managedapplications-2018-06!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -854,7 +890,7 @@ "name": "ApplicationDefinitionsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -1291,6 +1327,24 @@ "text": "Application", "canonicalReference": "arm-package-managedapplications-2018-06!Application:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "arm-package-managedapplications-2018-06!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "arm-package-managedapplications-2018-06!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -1304,7 +1358,7 @@ "name": "ApplicationsCreateOrUpdateByIdResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -1339,6 +1393,24 @@ "text": "Application", "canonicalReference": "arm-package-managedapplications-2018-06!Application:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "arm-package-managedapplications-2018-06!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "arm-package-managedapplications-2018-06!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -1352,7 +1424,7 @@ "name": "ApplicationsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { diff --git a/test/smoke/generated/arm-package-managedapplications-2018-06/temp/arm-package-managedapplications-2018-06.api.md b/test/smoke/generated/arm-package-managedapplications-2018-06/temp/arm-package-managedapplications-2018-06.api.md index 7948a275b5..a33433ac74 100644 --- a/test/smoke/generated/arm-package-managedapplications-2018-06/temp/arm-package-managedapplications-2018-06.api.md +++ b/test/smoke/generated/arm-package-managedapplications-2018-06/temp/arm-package-managedapplications-2018-06.api.md @@ -6,6 +6,7 @@ import * as coreHttp from '@azure/core-http'; import { HttpMethods } from '@azure/core-http'; +import { HttpOperationResponse } from '@azure/core-http'; import { OperationArguments } from '@azure/core-http'; import { OperationSpec } from '@azure/core-http'; import { Poller } from '@azure/core-lro'; @@ -88,6 +89,7 @@ export type ApplicationDefinitionsCreateOrUpdateByIdResponse = ApplicationDefini _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ApplicationDefinition; + [LROSYM]: LROResponseInfo; }; }; @@ -96,6 +98,7 @@ export type ApplicationDefinitionsCreateOrUpdateResponse = ApplicationDefinition _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ApplicationDefinition; + [LROSYM]: LROResponseInfo; }; }; @@ -162,6 +165,7 @@ export type ApplicationsCreateOrUpdateByIdResponse = Application & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Application; + [LROSYM]: LROResponseInfo; }; }; @@ -170,6 +174,7 @@ export type ApplicationsCreateOrUpdateResponse = Application & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Application; + [LROSYM]: LROResponseInfo; }; }; @@ -311,6 +316,10 @@ export interface Sku { } +// Warnings were encountered during analysis: +// +// src/models/index.ts:711:5 - (ae-forgotten-export) The symbol "LROResponseInfo" needs to be exported by the entry point index.d.ts + // (No @packageDocumentation comment for this package) ``` diff --git a/test/smoke/generated/arm-package-resources-2019-08/review/arm-package-resources-2019-08.api.md b/test/smoke/generated/arm-package-resources-2019-08/review/arm-package-resources-2019-08.api.md index 3d1a6ce840..8aed4652b0 100644 --- a/test/smoke/generated/arm-package-resources-2019-08/review/arm-package-resources-2019-08.api.md +++ b/test/smoke/generated/arm-package-resources-2019-08/review/arm-package-resources-2019-08.api.md @@ -6,6 +6,7 @@ import * as coreHttp from '@azure/core-http'; import { HttpMethods } from '@azure/core-http'; +import { HttpOperationResponse } from '@azure/core-http'; import { OperationArguments } from '@azure/core-http'; import { OperationSpec } from '@azure/core-http'; import { Poller } from '@azure/core-lro'; @@ -330,6 +331,7 @@ export type DeploymentsCreateOrUpdateAtManagementGroupScopeResponse = Deployment _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DeploymentExtended; + [LROSYM]: LROResponseInfo; }; }; @@ -338,6 +340,7 @@ export type DeploymentsCreateOrUpdateAtScopeResponse = DeploymentExtended & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DeploymentExtended; + [LROSYM]: LROResponseInfo; }; }; @@ -346,6 +349,7 @@ export type DeploymentsCreateOrUpdateAtSubscriptionScopeResponse = DeploymentExt _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DeploymentExtended; + [LROSYM]: LROResponseInfo; }; }; @@ -354,6 +358,7 @@ export type DeploymentsCreateOrUpdateAtTenantScopeResponse = DeploymentExtended _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DeploymentExtended; + [LROSYM]: LROResponseInfo; }; }; @@ -362,6 +367,7 @@ export type DeploymentsCreateOrUpdateResponse = DeploymentExtended & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DeploymentExtended; + [LROSYM]: LROResponseInfo; }; }; @@ -636,6 +642,7 @@ export type DeploymentsWhatIfAtSubscriptionScopeResponse = WhatIfOperationResult _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: WhatIfOperationResult; + [LROSYM]: LROResponseInfo; }; }; @@ -650,6 +657,7 @@ export type DeploymentsWhatIfResponse = WhatIfOperationResult & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: WhatIfOperationResult; + [LROSYM]: LROResponseInfo; }; }; @@ -1000,6 +1008,7 @@ export type ResourceGroupsExportTemplateResponse = ResourceGroupExportResult & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ResourceGroupExportResult; + [LROSYM]: LROResponseInfo; }; }; @@ -1121,6 +1130,7 @@ export type ResourcesCreateOrUpdateByIdResponse = GenericResource & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GenericResource; + [LROSYM]: LROResponseInfo; }; }; @@ -1129,6 +1139,7 @@ export type ResourcesCreateOrUpdateResponse = GenericResource & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GenericResource; + [LROSYM]: LROResponseInfo; }; }; @@ -1219,6 +1230,7 @@ export type ResourcesUpdateByIdResponse = GenericResource & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GenericResource; + [LROSYM]: LROResponseInfo; }; }; @@ -1227,6 +1239,7 @@ export type ResourcesUpdateResponse = GenericResource & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GenericResource; + [LROSYM]: LROResponseInfo; }; }; @@ -1358,6 +1371,10 @@ export interface WhatIfPropertyChange { export type WhatIfResultFormat = "ResourceIdOnly" | "FullResourcePayloads"; +// Warnings were encountered during analysis: +// +// src/models/index.ts:1588:5 - (ae-forgotten-export) The symbol "LROResponseInfo" needs to be exported by the entry point index.d.ts + // (No @packageDocumentation comment for this package) ``` diff --git a/test/smoke/generated/arm-package-resources-2019-08/src/lro/azureAsyncOperationStrategy.ts b/test/smoke/generated/arm-package-resources-2019-08/src/lro/azureAsyncOperationStrategy.ts index ecdc300c1f..f54ccc954f 100644 --- a/test/smoke/generated/arm-package-resources-2019-08/src/lro/azureAsyncOperationStrategy.ts +++ b/test/smoke/generated/arm-package-resources-2019-08/src/lro/azureAsyncOperationStrategy.ts @@ -11,9 +11,14 @@ import { BaseResult, LROOperationStep, LROResponseInfo, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; -import { OperationSpec, OperationArguments } from "@azure/core-http"; +import { + OperationSpec, + OperationArguments, + OperationResponse +} from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "."; @@ -22,7 +27,7 @@ export function createAzureAsyncOperationStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -35,7 +40,7 @@ export function createAzureAsyncOperationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); @@ -51,16 +56,16 @@ export function createAzureAsyncOperationStrategy( return terminalStates.includes(status.toLowerCase()); }, sendFinalRequest: async () => { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - if (!currentOperation.result._lroData) { + if (!currentOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - const initialOperationResult = initialOperation.result._lroData; - const currentOperationResult = currentOperation.result._lroData; + const initialOperationResult = initialOperation.result._response[LROSYM]; + const currentOperationResult = currentOperation.result._response[LROSYM]; if ( !shouldPerformFinalGet(initialOperationResult, currentOperationResult) @@ -68,7 +73,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.requestMethod === "PUT") { + if (initialOperationResult?.requestMethod === "PUT") { currentOperation = await sendFinalGet( initialOperation, sendOperationFn @@ -77,7 +82,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.location) { + if (initialOperationResult?.location) { switch (finalStateVia) { case "original-uri": currentOperation = await sendFinalGet( @@ -92,7 +97,7 @@ export function createAzureAsyncOperationStrategy( default: const location = initialOperationResult.location || - currentOperationResult.location; + currentOperationResult?.location; if (!location) { throw new Error("Couldn't determine final GET URL from location"); @@ -116,9 +121,11 @@ export function createAzureAsyncOperationStrategy( const pollingArgs = currentOperation.args; // Make sure we don't send any body to the get request - const { requestBody, ...restSpec } = currentOperation.spec; + const { requestBody, responses, ...restSpec } = currentOperation.spec; + const pollingSpec: OperationSpec = { ...restSpec, + responses: getCompositeMappers(responses), httpMethod: "GET", path: lastKnownPollingUrl }; @@ -127,8 +134,8 @@ export function createAzureAsyncOperationStrategy( // Update latest polling url lastKnownPollingUrl = - result._lroData?.azureAsyncOperation || - result._lroData?.operationLocation || + result._response[LROSYM]?.azureAsyncOperation || + result._response[LROSYM]?.operationLocation || lastKnownPollingUrl; // Update lastOperation result @@ -143,12 +150,47 @@ export function createAzureAsyncOperationStrategy( }; } +/** + * Polling calls will always return a status object i.e. {"status": "success"} + * these intermediate responses are not described in the swagger so we need to + * pass custom mappers at runtime. + * This function replaces all the existing mappers to be able to deserialize a status object + * @param responses Original set of responses defined in the operation + */ +function getCompositeMappers(responses: { + [responseCode: string]: OperationResponse; +}): { + [responseCode: string]: OperationResponse; +} { + return Object.keys(responses).reduce((acc, statusCode) => { + return { + ...acc, + [statusCode]: { + ...responses[statusCode], + bodyMapper: { + type: { + name: "Composite", + modelProperties: { + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } + } + } + }; + }, {} as { [responseCode: string]: OperationResponse }); +} + function shouldPerformFinalGet( - initialResult: LROResponseInfo, - currentResult: LROResponseInfo + initialResult?: LROResponseInfo, + currentResult?: LROResponseInfo ) { - const { status } = currentResult; - const { requestMethod: initialRequestMethod, location } = initialResult; + const { status } = currentResult || {}; + const { requestMethod: initialRequestMethod, location } = initialResult || {}; if (status && status.toLowerCase() !== "succeeded") { return false; } diff --git a/test/smoke/generated/arm-package-resources-2019-08/src/lro/bodyPollingStrategy.ts b/test/smoke/generated/arm-package-resources-2019-08/src/lro/bodyPollingStrategy.ts index 35cc6bac2a..c9404330ed 100644 --- a/test/smoke/generated/arm-package-resources-2019-08/src/lro/bodyPollingStrategy.ts +++ b/test/smoke/generated/arm-package-resources-2019-08/src/lro/bodyPollingStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { LROStrategy, BaseResult, LROOperationStep } from "./models"; +import { LROStrategy, BaseResult, LROOperationStep, LROSYM } from "./models"; import { OperationSpec } from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "./lroPoller"; @@ -19,7 +19,7 @@ export function createBodyPollingStrategy( initialOperation: LROOperationStep, sendOperation: SendOperationFn ): LROStrategy { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to be defined for BodyPolling strategy"); } @@ -27,7 +27,7 @@ export function createBodyPollingStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } diff --git a/test/smoke/generated/arm-package-resources-2019-08/src/lro/locationStrategy.ts b/test/smoke/generated/arm-package-resources-2019-08/src/lro/locationStrategy.ts index 1a5c8d462e..6a763e37ec 100644 --- a/test/smoke/generated/arm-package-resources-2019-08/src/lro/locationStrategy.ts +++ b/test/smoke/generated/arm-package-resources-2019-08/src/lro/locationStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationStep, LROStrategy } from "./models"; +import { BaseResult, LROOperationStep, LROStrategy, LROSYM } from "./models"; import { SendOperationFn } from "./lroPoller"; import { OperationSpec } from "@azure/core-http"; @@ -14,7 +14,7 @@ export function createLocationStrategy( initialOperation: LROOperationStep, sendOperationFn: SendOperationFn ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -26,7 +26,7 @@ export function createLocationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } @@ -59,7 +59,8 @@ export function createLocationStrategy( const result = await sendOperationFn(pollingArgs, pollingSpec); // Update latest polling url - lastKnownPollingUrl = result._lroData?.location || lastKnownPollingUrl; + lastKnownPollingUrl = + result._response[LROSYM]?.location || lastKnownPollingUrl; // Update lastOperation result currentOperation = { diff --git a/test/smoke/generated/arm-package-resources-2019-08/src/lro/lroPolicy.ts b/test/smoke/generated/arm-package-resources-2019-08/src/lro/lroPolicy.ts index 0591f541b3..4d18c3b7f0 100644 --- a/test/smoke/generated/arm-package-resources-2019-08/src/lro/lroPolicy.ts +++ b/test/smoke/generated/arm-package-resources-2019-08/src/lro/lroPolicy.ts @@ -13,6 +13,7 @@ import { HttpOperationResponse, WebResource } from "@azure/core-http"; +import { LROOperationResponse, LROSYM } from "./models"; import { getLROData } from "./requestUtils"; export function lroPolicy() { @@ -31,12 +32,12 @@ class LROPolicy extends BaseRequestPolicy { public async sendRequest( webResource: WebResource ): Promise { - let result = await this._nextPolicy.sendRequest(webResource); + let result: LROOperationResponse = await this._nextPolicy.sendRequest( + webResource + ); + const _lroData = getLROData(result); - if (webResource.shouldDeserialize !== undefined) { - const _lroData = getLROData(result); - result.parsedBody = { ...result.parsedBody, _lroData }; - } + result[LROSYM] = _lroData; return result; } diff --git a/test/smoke/generated/arm-package-resources-2019-08/src/lro/lroPoller.ts b/test/smoke/generated/arm-package-resources-2019-08/src/lro/lroPoller.ts index bc2f2aa05a..8c0406cf24 100644 --- a/test/smoke/generated/arm-package-resources-2019-08/src/lro/lroPoller.ts +++ b/test/smoke/generated/arm-package-resources-2019-08/src/lro/lroPoller.ts @@ -17,7 +17,8 @@ import { BaseResult, LROOperationState, LROOperationStep, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; import { makeOperation } from "./operation"; import { createBodyPollingStrategy } from "./bodyPollingStrategy"; @@ -122,7 +123,7 @@ function getPollingStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ) { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { const error = new RestError( diff --git a/test/smoke/generated/arm-package-resources-2019-08/src/lro/models.ts b/test/smoke/generated/arm-package-resources-2019-08/src/lro/models.ts index a90afc5b41..c4b96664f6 100644 --- a/test/smoke/generated/arm-package-resources-2019-08/src/lro/models.ts +++ b/test/smoke/generated/arm-package-resources-2019-08/src/lro/models.ts @@ -10,9 +10,11 @@ import { OperationArguments, OperationSpec, RestResponse, - HttpMethods + HttpMethods, + HttpOperationResponse } from "@azure/core-http"; import { PollOperationState, PollOperation } from "@azure/core-lro"; +export const LROSYM = Symbol("LROData"); export type FinalStateVia = | "azure-async-operation" @@ -30,8 +32,21 @@ export interface LROResponseInfo { status?: string; } +/** + * Extended operation response for LROs + */ +export type LROOperationResponse = HttpOperationResponse & { + /** + * Symbol that contains LRO details + */ + [LROSYM]?: LROResponseInfo; +}; + export interface BaseResult extends RestResponse { - _lroData?: LROResponseInfo; + /** + * The underlying HTTP response containing both raw and deserialized response data. + */ + _response: LROOperationResponse; } export interface LROOperationStep { diff --git a/test/smoke/generated/arm-package-resources-2019-08/src/lro/operation.ts b/test/smoke/generated/arm-package-resources-2019-08/src/lro/operation.ts index 9cda560a02..0860f07df0 100644 --- a/test/smoke/generated/arm-package-resources-2019-08/src/lro/operation.ts +++ b/test/smoke/generated/arm-package-resources-2019-08/src/lro/operation.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationState, LROOperation } from "./models"; +import { BaseResult, LROOperationState, LROOperation, LROSYM } from "./models"; /** * Creates a copy of the operation from a given State @@ -46,7 +46,7 @@ async function update( const { sendFinalRequest, poll, isTerminal } = state.pollingStrategy; const currentResponse = state.lastOperation; - const currentLroData = currentResponse.result._lroData; + const currentLroData = currentResponse.result._response[LROSYM]; if (!currentLroData) { throw new Error( diff --git a/test/smoke/generated/arm-package-resources-2019-08/src/models/index.ts b/test/smoke/generated/arm-package-resources-2019-08/src/models/index.ts index 4f6ab2982c..993d175c8d 100644 --- a/test/smoke/generated/arm-package-resources-2019-08/src/models/index.ts +++ b/test/smoke/generated/arm-package-resources-2019-08/src/models/index.ts @@ -7,6 +7,7 @@ */ import * as coreHttp from "@azure/core-http"; +import { LROSYM, LROResponseInfo } from "../lro/models"; /** * Result of the request to list Microsoft.Resources operations. It contains a list of operations and a URL link to get the next set of results. @@ -1343,6 +1344,10 @@ export type DeploymentsCreateOrUpdateAtScopeResponse = DeploymentExtended & { * The response body as parsed JSON or XML */ parsedBody: DeploymentExtended; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1458,6 +1463,10 @@ export type DeploymentsCreateOrUpdateAtTenantScopeResponse = DeploymentExtended * The response body as parsed JSON or XML */ parsedBody: DeploymentExtended; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1573,6 +1582,10 @@ export type DeploymentsCreateOrUpdateAtManagementGroupScopeResponse = Deployment * The response body as parsed JSON or XML */ parsedBody: DeploymentExtended; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1688,6 +1701,10 @@ export type DeploymentsCreateOrUpdateAtSubscriptionScopeResponse = DeploymentExt * The response body as parsed JSON or XML */ parsedBody: DeploymentExtended; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1748,6 +1765,10 @@ export type DeploymentsWhatIfAtSubscriptionScopeResponse = WhatIfOperationResult * The response body as parsed JSON or XML */ parsedBody: WhatIfOperationResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1823,6 +1844,10 @@ export type DeploymentsCreateOrUpdateResponse = DeploymentExtended & { * The response body as parsed JSON or XML */ parsedBody: DeploymentExtended; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1883,6 +1908,10 @@ export type DeploymentsWhatIfResponse = WhatIfOperationResult & { * The response body as parsed JSON or XML */ parsedBody: WhatIfOperationResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2470,6 +2499,10 @@ export type ResourcesCreateOrUpdateResponse = GenericResource & { * The response body as parsed JSON or XML */ parsedBody: GenericResource; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2490,6 +2523,10 @@ export type ResourcesUpdateResponse = GenericResource & { * The response body as parsed JSON or XML */ parsedBody: GenericResource; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2530,6 +2567,10 @@ export type ResourcesCreateOrUpdateByIdResponse = GenericResource & { * The response body as parsed JSON or XML */ parsedBody: GenericResource; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2550,6 +2591,10 @@ export type ResourcesUpdateByIdResponse = GenericResource & { * The response body as parsed JSON or XML */ parsedBody: GenericResource; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2728,6 +2773,10 @@ export type ResourceGroupsExportTemplateResponse = ResourceGroupExportResult & { * The response body as parsed JSON or XML */ parsedBody: ResourceGroupExportResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; diff --git a/test/smoke/generated/arm-package-resources-2019-08/temp/arm-package-resources-2019-08.api.json b/test/smoke/generated/arm-package-resources-2019-08/temp/arm-package-resources-2019-08.api.json index de06a13cd5..034140b440 100644 --- a/test/smoke/generated/arm-package-resources-2019-08/temp/arm-package-resources-2019-08.api.json +++ b/test/smoke/generated/arm-package-resources-2019-08/temp/arm-package-resources-2019-08.api.json @@ -3301,6 +3301,24 @@ "text": "DeploymentExtended", "canonicalReference": "arm-package-resources-2019-08!DeploymentExtended:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "arm-package-resources-2019-08!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "arm-package-resources-2019-08!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -3314,7 +3332,7 @@ "name": "DeploymentsCreateOrUpdateAtManagementGroupScopeResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -3349,6 +3367,24 @@ "text": "DeploymentExtended", "canonicalReference": "arm-package-resources-2019-08!DeploymentExtended:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "arm-package-resources-2019-08!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "arm-package-resources-2019-08!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -3362,7 +3398,7 @@ "name": "DeploymentsCreateOrUpdateAtScopeResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -3397,6 +3433,24 @@ "text": "DeploymentExtended", "canonicalReference": "arm-package-resources-2019-08!DeploymentExtended:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "arm-package-resources-2019-08!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "arm-package-resources-2019-08!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -3410,7 +3464,7 @@ "name": "DeploymentsCreateOrUpdateAtSubscriptionScopeResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -3445,6 +3499,24 @@ "text": "DeploymentExtended", "canonicalReference": "arm-package-resources-2019-08!DeploymentExtended:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "arm-package-resources-2019-08!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "arm-package-resources-2019-08!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -3458,7 +3530,7 @@ "name": "DeploymentsCreateOrUpdateAtTenantScopeResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -3493,6 +3565,24 @@ "text": "DeploymentExtended", "canonicalReference": "arm-package-resources-2019-08!DeploymentExtended:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "arm-package-resources-2019-08!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "arm-package-resources-2019-08!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -3506,7 +3596,7 @@ "name": "DeploymentsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -5647,6 +5737,24 @@ "text": "WhatIfOperationResult", "canonicalReference": "arm-package-resources-2019-08!WhatIfOperationResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "arm-package-resources-2019-08!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "arm-package-resources-2019-08!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -5660,7 +5768,7 @@ "name": "DeploymentsWhatIfAtSubscriptionScopeResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -5761,6 +5869,24 @@ "text": "WhatIfOperationResult", "canonicalReference": "arm-package-resources-2019-08!WhatIfOperationResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "arm-package-resources-2019-08!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "arm-package-resources-2019-08!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -5774,7 +5900,7 @@ "name": "DeploymentsWhatIfResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -9406,6 +9532,24 @@ "text": "ResourceGroupExportResult", "canonicalReference": "arm-package-resources-2019-08!ResourceGroupExportResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "arm-package-resources-2019-08!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "arm-package-resources-2019-08!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -9419,7 +9563,7 @@ "name": "ResourceGroupsExportTemplateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -10639,6 +10783,24 @@ "text": "GenericResource", "canonicalReference": "arm-package-resources-2019-08!GenericResource:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "arm-package-resources-2019-08!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "arm-package-resources-2019-08!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -10652,7 +10814,7 @@ "name": "ResourcesCreateOrUpdateByIdResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -10687,6 +10849,24 @@ "text": "GenericResource", "canonicalReference": "arm-package-resources-2019-08!GenericResource:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "arm-package-resources-2019-08!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "arm-package-resources-2019-08!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -10700,7 +10880,7 @@ "name": "ResourcesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -11525,6 +11705,24 @@ "text": "GenericResource", "canonicalReference": "arm-package-resources-2019-08!GenericResource:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "arm-package-resources-2019-08!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "arm-package-resources-2019-08!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -11538,7 +11736,7 @@ "name": "ResourcesUpdateByIdResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -11573,6 +11771,24 @@ "text": "GenericResource", "canonicalReference": "arm-package-resources-2019-08!GenericResource:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "arm-package-resources-2019-08!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "arm-package-resources-2019-08!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -11586,7 +11802,7 @@ "name": "ResourcesUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { diff --git a/test/smoke/generated/arm-package-resources-2019-08/temp/arm-package-resources-2019-08.api.md b/test/smoke/generated/arm-package-resources-2019-08/temp/arm-package-resources-2019-08.api.md index 3d1a6ce840..8aed4652b0 100644 --- a/test/smoke/generated/arm-package-resources-2019-08/temp/arm-package-resources-2019-08.api.md +++ b/test/smoke/generated/arm-package-resources-2019-08/temp/arm-package-resources-2019-08.api.md @@ -6,6 +6,7 @@ import * as coreHttp from '@azure/core-http'; import { HttpMethods } from '@azure/core-http'; +import { HttpOperationResponse } from '@azure/core-http'; import { OperationArguments } from '@azure/core-http'; import { OperationSpec } from '@azure/core-http'; import { Poller } from '@azure/core-lro'; @@ -330,6 +331,7 @@ export type DeploymentsCreateOrUpdateAtManagementGroupScopeResponse = Deployment _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DeploymentExtended; + [LROSYM]: LROResponseInfo; }; }; @@ -338,6 +340,7 @@ export type DeploymentsCreateOrUpdateAtScopeResponse = DeploymentExtended & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DeploymentExtended; + [LROSYM]: LROResponseInfo; }; }; @@ -346,6 +349,7 @@ export type DeploymentsCreateOrUpdateAtSubscriptionScopeResponse = DeploymentExt _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DeploymentExtended; + [LROSYM]: LROResponseInfo; }; }; @@ -354,6 +358,7 @@ export type DeploymentsCreateOrUpdateAtTenantScopeResponse = DeploymentExtended _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DeploymentExtended; + [LROSYM]: LROResponseInfo; }; }; @@ -362,6 +367,7 @@ export type DeploymentsCreateOrUpdateResponse = DeploymentExtended & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DeploymentExtended; + [LROSYM]: LROResponseInfo; }; }; @@ -636,6 +642,7 @@ export type DeploymentsWhatIfAtSubscriptionScopeResponse = WhatIfOperationResult _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: WhatIfOperationResult; + [LROSYM]: LROResponseInfo; }; }; @@ -650,6 +657,7 @@ export type DeploymentsWhatIfResponse = WhatIfOperationResult & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: WhatIfOperationResult; + [LROSYM]: LROResponseInfo; }; }; @@ -1000,6 +1008,7 @@ export type ResourceGroupsExportTemplateResponse = ResourceGroupExportResult & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ResourceGroupExportResult; + [LROSYM]: LROResponseInfo; }; }; @@ -1121,6 +1130,7 @@ export type ResourcesCreateOrUpdateByIdResponse = GenericResource & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GenericResource; + [LROSYM]: LROResponseInfo; }; }; @@ -1129,6 +1139,7 @@ export type ResourcesCreateOrUpdateResponse = GenericResource & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GenericResource; + [LROSYM]: LROResponseInfo; }; }; @@ -1219,6 +1230,7 @@ export type ResourcesUpdateByIdResponse = GenericResource & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GenericResource; + [LROSYM]: LROResponseInfo; }; }; @@ -1227,6 +1239,7 @@ export type ResourcesUpdateResponse = GenericResource & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GenericResource; + [LROSYM]: LROResponseInfo; }; }; @@ -1358,6 +1371,10 @@ export interface WhatIfPropertyChange { export type WhatIfResultFormat = "ResourceIdOnly" | "FullResourcePayloads"; +// Warnings were encountered during analysis: +// +// src/models/index.ts:1588:5 - (ae-forgotten-export) The symbol "LROResponseInfo" needs to be exported by the entry point index.d.ts + // (No @packageDocumentation comment for this package) ``` diff --git a/test/smoke/generated/compute-resource-manager/review/compute-resource-manager.api.md b/test/smoke/generated/compute-resource-manager/review/compute-resource-manager.api.md index 50052a5613..0442dcc236 100644 --- a/test/smoke/generated/compute-resource-manager/review/compute-resource-manager.api.md +++ b/test/smoke/generated/compute-resource-manager/review/compute-resource-manager.api.md @@ -6,6 +6,7 @@ import * as coreHttp from '@azure/core-http'; import { HttpMethods } from '@azure/core-http'; +import { HttpOperationResponse } from '@azure/core-http'; import { OperationArguments } from '@azure/core-http'; import { OperationSpec } from '@azure/core-http'; import { Poller } from '@azure/core-lro'; @@ -440,6 +441,7 @@ export type ContainerServicesCreateOrUpdateResponse = ContainerService & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ContainerService; + [LROSYM]: LROResponseInfo; }; }; @@ -667,6 +669,7 @@ export type DedicatedHostsCreateOrUpdateResponse = DedicatedHost & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DedicatedHost; + [LROSYM]: LROResponseInfo; }; }; @@ -699,6 +702,7 @@ export type DedicatedHostsUpdateResponse = DedicatedHost & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DedicatedHost; + [LROSYM]: LROResponseInfo; }; }; @@ -792,6 +796,7 @@ export type DiskEncryptionSetsCreateOrUpdateResponse = DiskEncryptionSet & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DiskEncryptionSet; + [LROSYM]: LROResponseInfo; }; }; @@ -840,6 +845,7 @@ export type DiskEncryptionSetsUpdateResponse = DiskEncryptionSet & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DiskEncryptionSet; + [LROSYM]: LROResponseInfo; }; }; @@ -881,6 +887,7 @@ export type DisksCreateOrUpdateResponse = Disk & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Disk; + [LROSYM]: LROResponseInfo; }; }; @@ -897,6 +904,7 @@ export type DisksGrantAccessResponse = AccessUri & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: AccessUri; + [LROSYM]: LROResponseInfo; }; }; @@ -949,6 +957,7 @@ export type DisksUpdateResponse = Disk & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Disk; + [LROSYM]: LROResponseInfo; }; }; @@ -1012,6 +1021,7 @@ export type GalleriesCreateOrUpdateResponse = Gallery & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Gallery; + [LROSYM]: LROResponseInfo; }; }; @@ -1060,6 +1070,7 @@ export type GalleriesUpdateResponse = Gallery & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Gallery; + [LROSYM]: LROResponseInfo; }; }; @@ -1091,6 +1102,7 @@ export type GalleryApplicationsCreateOrUpdateResponse = GalleryApplication & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GalleryApplication; + [LROSYM]: LROResponseInfo; }; }; @@ -1123,6 +1135,7 @@ export type GalleryApplicationsUpdateResponse = GalleryApplication & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GalleryApplication; + [LROSYM]: LROResponseInfo; }; }; @@ -1164,6 +1177,7 @@ export type GalleryApplicationVersionsCreateOrUpdateResponse = GalleryApplicatio _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GalleryApplicationVersion; + [LROSYM]: LROResponseInfo; }; }; @@ -1201,6 +1215,7 @@ export type GalleryApplicationVersionsUpdateResponse = GalleryApplicationVersion _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GalleryApplicationVersion; + [LROSYM]: LROResponseInfo; }; }; @@ -1286,6 +1301,7 @@ export type GalleryImagesCreateOrUpdateResponse = GalleryImage & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GalleryImage; + [LROSYM]: LROResponseInfo; }; }; @@ -1318,6 +1334,7 @@ export type GalleryImagesUpdateResponse = GalleryImage & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GalleryImage; + [LROSYM]: LROResponseInfo; }; }; @@ -1363,6 +1380,7 @@ export type GalleryImageVersionsCreateOrUpdateResponse = GalleryImageVersion & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GalleryImageVersion; + [LROSYM]: LROResponseInfo; }; }; @@ -1407,6 +1425,7 @@ export type GalleryImageVersionsUpdateResponse = GalleryImageVersion & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GalleryImageVersion; + [LROSYM]: LROResponseInfo; }; }; @@ -1526,6 +1545,7 @@ export type ImagesCreateOrUpdateResponse = Image_2 & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Image_2; + [LROSYM]: LROResponseInfo; }; }; @@ -1586,6 +1606,7 @@ export type ImagesUpdateResponse = Image_2 & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Image_2; + [LROSYM]: LROResponseInfo; }; }; @@ -1660,6 +1681,7 @@ export type LogAnalyticsExportRequestRateByIntervalResponse = LogAnalyticsOperat _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: LogAnalyticsOperationResult; + [LROSYM]: LROResponseInfo; }; }; @@ -1668,6 +1690,7 @@ export type LogAnalyticsExportThrottledRequestsResponse = LogAnalyticsOperationR _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: LogAnalyticsOperationResult; + [LROSYM]: LROResponseInfo; }; }; @@ -2205,6 +2228,7 @@ export type SnapshotsCreateOrUpdateResponse = Snapshot & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Snapshot; + [LROSYM]: LROResponseInfo; }; }; @@ -2221,6 +2245,7 @@ export type SnapshotsGrantAccessResponse = AccessUri & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: AccessUri; + [LROSYM]: LROResponseInfo; }; }; @@ -2270,6 +2295,7 @@ export type SnapshotsUpdateResponse = Snapshot & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Snapshot; + [LROSYM]: LROResponseInfo; }; }; @@ -2672,6 +2698,7 @@ export type VirtualMachineExtensionsCreateOrUpdateResponse = VirtualMachineExten _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachineExtension; + [LROSYM]: LROResponseInfo; }; }; @@ -2711,6 +2738,7 @@ export type VirtualMachineExtensionsUpdateResponse = VirtualMachineExtension & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachineExtension; + [LROSYM]: LROResponseInfo; }; }; @@ -2927,6 +2955,7 @@ export type VirtualMachineScaleSetExtensionsCreateOrUpdateResponse = VirtualMach _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachineScaleSetExtension; + [LROSYM]: LROResponseInfo; }; }; @@ -2964,6 +2993,7 @@ export type VirtualMachineScaleSetExtensionsUpdateResponse = VirtualMachineScale _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachineScaleSetExtension; + [LROSYM]: LROResponseInfo; }; }; @@ -3137,6 +3167,7 @@ export type VirtualMachineScaleSetsCreateOrUpdateResponse = VirtualMachineScaleS _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachineScaleSet; + [LROSYM]: LROResponseInfo; }; }; @@ -3299,6 +3330,7 @@ export type VirtualMachineScaleSetsUpdateResponse = VirtualMachineScaleSet & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachineScaleSet; + [LROSYM]: LROResponseInfo; }; }; @@ -3421,6 +3453,7 @@ export type VirtualMachineScaleSetVMExtensionsCreateOrUpdateResponse = VirtualMa _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachineExtension; + [LROSYM]: LROResponseInfo; }; }; @@ -3461,6 +3494,7 @@ export type VirtualMachineScaleSetVMExtensionsUpdateResponse = VirtualMachineExt _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachineExtension; + [LROSYM]: LROResponseInfo; }; }; @@ -3584,6 +3618,7 @@ export type VirtualMachineScaleSetVMsRunCommandResponse = RunCommandResult & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: RunCommandResult; + [LROSYM]: LROResponseInfo; }; }; @@ -3592,6 +3627,7 @@ export type VirtualMachineScaleSetVMsUpdateResponse = VirtualMachineScaleSetVM & _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachineScaleSetVM; + [LROSYM]: LROResponseInfo; }; }; @@ -3600,6 +3636,7 @@ export type VirtualMachinesCaptureResponse = VirtualMachineCaptureResult & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachineCaptureResult; + [LROSYM]: LROResponseInfo; }; }; @@ -3608,6 +3645,7 @@ export type VirtualMachinesCreateOrUpdateResponse = VirtualMachine & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachine; + [LROSYM]: LROResponseInfo; }; }; @@ -3734,6 +3772,7 @@ export type VirtualMachinesRunCommandResponse = RunCommandResult & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: RunCommandResult; + [LROSYM]: LROResponseInfo; }; }; @@ -3748,6 +3787,7 @@ export type VirtualMachinesUpdateResponse = VirtualMachine & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachine; + [LROSYM]: LROResponseInfo; }; }; @@ -3801,6 +3841,10 @@ export interface WinRMListener { } +// Warnings were encountered during analysis: +// +// src/models/index.ts:9774:5 - (ae-forgotten-export) The symbol "LROResponseInfo" needs to be exported by the entry point index.d.ts + // (No @packageDocumentation comment for this package) ``` diff --git a/test/smoke/generated/compute-resource-manager/src/lro/azureAsyncOperationStrategy.ts b/test/smoke/generated/compute-resource-manager/src/lro/azureAsyncOperationStrategy.ts index ecdc300c1f..f54ccc954f 100644 --- a/test/smoke/generated/compute-resource-manager/src/lro/azureAsyncOperationStrategy.ts +++ b/test/smoke/generated/compute-resource-manager/src/lro/azureAsyncOperationStrategy.ts @@ -11,9 +11,14 @@ import { BaseResult, LROOperationStep, LROResponseInfo, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; -import { OperationSpec, OperationArguments } from "@azure/core-http"; +import { + OperationSpec, + OperationArguments, + OperationResponse +} from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "."; @@ -22,7 +27,7 @@ export function createAzureAsyncOperationStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -35,7 +40,7 @@ export function createAzureAsyncOperationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); @@ -51,16 +56,16 @@ export function createAzureAsyncOperationStrategy( return terminalStates.includes(status.toLowerCase()); }, sendFinalRequest: async () => { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - if (!currentOperation.result._lroData) { + if (!currentOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - const initialOperationResult = initialOperation.result._lroData; - const currentOperationResult = currentOperation.result._lroData; + const initialOperationResult = initialOperation.result._response[LROSYM]; + const currentOperationResult = currentOperation.result._response[LROSYM]; if ( !shouldPerformFinalGet(initialOperationResult, currentOperationResult) @@ -68,7 +73,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.requestMethod === "PUT") { + if (initialOperationResult?.requestMethod === "PUT") { currentOperation = await sendFinalGet( initialOperation, sendOperationFn @@ -77,7 +82,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.location) { + if (initialOperationResult?.location) { switch (finalStateVia) { case "original-uri": currentOperation = await sendFinalGet( @@ -92,7 +97,7 @@ export function createAzureAsyncOperationStrategy( default: const location = initialOperationResult.location || - currentOperationResult.location; + currentOperationResult?.location; if (!location) { throw new Error("Couldn't determine final GET URL from location"); @@ -116,9 +121,11 @@ export function createAzureAsyncOperationStrategy( const pollingArgs = currentOperation.args; // Make sure we don't send any body to the get request - const { requestBody, ...restSpec } = currentOperation.spec; + const { requestBody, responses, ...restSpec } = currentOperation.spec; + const pollingSpec: OperationSpec = { ...restSpec, + responses: getCompositeMappers(responses), httpMethod: "GET", path: lastKnownPollingUrl }; @@ -127,8 +134,8 @@ export function createAzureAsyncOperationStrategy( // Update latest polling url lastKnownPollingUrl = - result._lroData?.azureAsyncOperation || - result._lroData?.operationLocation || + result._response[LROSYM]?.azureAsyncOperation || + result._response[LROSYM]?.operationLocation || lastKnownPollingUrl; // Update lastOperation result @@ -143,12 +150,47 @@ export function createAzureAsyncOperationStrategy( }; } +/** + * Polling calls will always return a status object i.e. {"status": "success"} + * these intermediate responses are not described in the swagger so we need to + * pass custom mappers at runtime. + * This function replaces all the existing mappers to be able to deserialize a status object + * @param responses Original set of responses defined in the operation + */ +function getCompositeMappers(responses: { + [responseCode: string]: OperationResponse; +}): { + [responseCode: string]: OperationResponse; +} { + return Object.keys(responses).reduce((acc, statusCode) => { + return { + ...acc, + [statusCode]: { + ...responses[statusCode], + bodyMapper: { + type: { + name: "Composite", + modelProperties: { + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } + } + } + }; + }, {} as { [responseCode: string]: OperationResponse }); +} + function shouldPerformFinalGet( - initialResult: LROResponseInfo, - currentResult: LROResponseInfo + initialResult?: LROResponseInfo, + currentResult?: LROResponseInfo ) { - const { status } = currentResult; - const { requestMethod: initialRequestMethod, location } = initialResult; + const { status } = currentResult || {}; + const { requestMethod: initialRequestMethod, location } = initialResult || {}; if (status && status.toLowerCase() !== "succeeded") { return false; } diff --git a/test/smoke/generated/compute-resource-manager/src/lro/bodyPollingStrategy.ts b/test/smoke/generated/compute-resource-manager/src/lro/bodyPollingStrategy.ts index 35cc6bac2a..c9404330ed 100644 --- a/test/smoke/generated/compute-resource-manager/src/lro/bodyPollingStrategy.ts +++ b/test/smoke/generated/compute-resource-manager/src/lro/bodyPollingStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { LROStrategy, BaseResult, LROOperationStep } from "./models"; +import { LROStrategy, BaseResult, LROOperationStep, LROSYM } from "./models"; import { OperationSpec } from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "./lroPoller"; @@ -19,7 +19,7 @@ export function createBodyPollingStrategy( initialOperation: LROOperationStep, sendOperation: SendOperationFn ): LROStrategy { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to be defined for BodyPolling strategy"); } @@ -27,7 +27,7 @@ export function createBodyPollingStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } diff --git a/test/smoke/generated/compute-resource-manager/src/lro/locationStrategy.ts b/test/smoke/generated/compute-resource-manager/src/lro/locationStrategy.ts index 1a5c8d462e..6a763e37ec 100644 --- a/test/smoke/generated/compute-resource-manager/src/lro/locationStrategy.ts +++ b/test/smoke/generated/compute-resource-manager/src/lro/locationStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationStep, LROStrategy } from "./models"; +import { BaseResult, LROOperationStep, LROStrategy, LROSYM } from "./models"; import { SendOperationFn } from "./lroPoller"; import { OperationSpec } from "@azure/core-http"; @@ -14,7 +14,7 @@ export function createLocationStrategy( initialOperation: LROOperationStep, sendOperationFn: SendOperationFn ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -26,7 +26,7 @@ export function createLocationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } @@ -59,7 +59,8 @@ export function createLocationStrategy( const result = await sendOperationFn(pollingArgs, pollingSpec); // Update latest polling url - lastKnownPollingUrl = result._lroData?.location || lastKnownPollingUrl; + lastKnownPollingUrl = + result._response[LROSYM]?.location || lastKnownPollingUrl; // Update lastOperation result currentOperation = { diff --git a/test/smoke/generated/compute-resource-manager/src/lro/lroPolicy.ts b/test/smoke/generated/compute-resource-manager/src/lro/lroPolicy.ts index 0591f541b3..4d18c3b7f0 100644 --- a/test/smoke/generated/compute-resource-manager/src/lro/lroPolicy.ts +++ b/test/smoke/generated/compute-resource-manager/src/lro/lroPolicy.ts @@ -13,6 +13,7 @@ import { HttpOperationResponse, WebResource } from "@azure/core-http"; +import { LROOperationResponse, LROSYM } from "./models"; import { getLROData } from "./requestUtils"; export function lroPolicy() { @@ -31,12 +32,12 @@ class LROPolicy extends BaseRequestPolicy { public async sendRequest( webResource: WebResource ): Promise { - let result = await this._nextPolicy.sendRequest(webResource); + let result: LROOperationResponse = await this._nextPolicy.sendRequest( + webResource + ); + const _lroData = getLROData(result); - if (webResource.shouldDeserialize !== undefined) { - const _lroData = getLROData(result); - result.parsedBody = { ...result.parsedBody, _lroData }; - } + result[LROSYM] = _lroData; return result; } diff --git a/test/smoke/generated/compute-resource-manager/src/lro/lroPoller.ts b/test/smoke/generated/compute-resource-manager/src/lro/lroPoller.ts index bc2f2aa05a..8c0406cf24 100644 --- a/test/smoke/generated/compute-resource-manager/src/lro/lroPoller.ts +++ b/test/smoke/generated/compute-resource-manager/src/lro/lroPoller.ts @@ -17,7 +17,8 @@ import { BaseResult, LROOperationState, LROOperationStep, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; import { makeOperation } from "./operation"; import { createBodyPollingStrategy } from "./bodyPollingStrategy"; @@ -122,7 +123,7 @@ function getPollingStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ) { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { const error = new RestError( diff --git a/test/smoke/generated/compute-resource-manager/src/lro/models.ts b/test/smoke/generated/compute-resource-manager/src/lro/models.ts index a90afc5b41..c4b96664f6 100644 --- a/test/smoke/generated/compute-resource-manager/src/lro/models.ts +++ b/test/smoke/generated/compute-resource-manager/src/lro/models.ts @@ -10,9 +10,11 @@ import { OperationArguments, OperationSpec, RestResponse, - HttpMethods + HttpMethods, + HttpOperationResponse } from "@azure/core-http"; import { PollOperationState, PollOperation } from "@azure/core-lro"; +export const LROSYM = Symbol("LROData"); export type FinalStateVia = | "azure-async-operation" @@ -30,8 +32,21 @@ export interface LROResponseInfo { status?: string; } +/** + * Extended operation response for LROs + */ +export type LROOperationResponse = HttpOperationResponse & { + /** + * Symbol that contains LRO details + */ + [LROSYM]?: LROResponseInfo; +}; + export interface BaseResult extends RestResponse { - _lroData?: LROResponseInfo; + /** + * The underlying HTTP response containing both raw and deserialized response data. + */ + _response: LROOperationResponse; } export interface LROOperationStep { diff --git a/test/smoke/generated/compute-resource-manager/src/lro/operation.ts b/test/smoke/generated/compute-resource-manager/src/lro/operation.ts index 9cda560a02..0860f07df0 100644 --- a/test/smoke/generated/compute-resource-manager/src/lro/operation.ts +++ b/test/smoke/generated/compute-resource-manager/src/lro/operation.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationState, LROOperation } from "./models"; +import { BaseResult, LROOperationState, LROOperation, LROSYM } from "./models"; /** * Creates a copy of the operation from a given State @@ -46,7 +46,7 @@ async function update( const { sendFinalRequest, poll, isTerminal } = state.pollingStrategy; const currentResponse = state.lastOperation; - const currentLroData = currentResponse.result._lroData; + const currentLroData = currentResponse.result._response[LROSYM]; if (!currentLroData) { throw new Error( diff --git a/test/smoke/generated/compute-resource-manager/src/models/index.ts b/test/smoke/generated/compute-resource-manager/src/models/index.ts index 97d6370ff2..2618b4cd79 100644 --- a/test/smoke/generated/compute-resource-manager/src/models/index.ts +++ b/test/smoke/generated/compute-resource-manager/src/models/index.ts @@ -7,6 +7,7 @@ */ import * as coreHttp from "@azure/core-http"; +import { LROSYM, LROResponseInfo } from "../lro/models"; /** * The List Compute Operation operation response. @@ -6584,6 +6585,10 @@ export type DedicatedHostsCreateOrUpdateResponse = DedicatedHost & { * The response body as parsed JSON or XML */ parsedBody: DedicatedHost; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -6604,6 +6609,10 @@ export type DedicatedHostsUpdateResponse = DedicatedHost & { * The response body as parsed JSON or XML */ parsedBody: DedicatedHost; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -6917,6 +6926,10 @@ export type VirtualMachineExtensionsCreateOrUpdateResponse = VirtualMachineExten * The response body as parsed JSON or XML */ parsedBody: VirtualMachineExtension; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -6937,6 +6950,10 @@ export type VirtualMachineExtensionsUpdateResponse = VirtualMachineExtension & { * The response body as parsed JSON or XML */ parsedBody: VirtualMachineExtension; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -7192,6 +7209,10 @@ export type VirtualMachinesCaptureResponse = VirtualMachineCaptureResult & { * The response body as parsed JSON or XML */ parsedBody: VirtualMachineCaptureResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -7212,6 +7233,10 @@ export type VirtualMachinesCreateOrUpdateResponse = VirtualMachine & { * The response body as parsed JSON or XML */ parsedBody: VirtualMachine; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -7232,6 +7257,10 @@ export type VirtualMachinesUpdateResponse = VirtualMachine & { * The response body as parsed JSON or XML */ parsedBody: VirtualMachine; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -7385,6 +7414,10 @@ export type VirtualMachinesRunCommandResponse = RunCommandResult & { * The response body as parsed JSON or XML */ parsedBody: RunCommandResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -7496,6 +7529,10 @@ export type ImagesCreateOrUpdateResponse = Image & { * The response body as parsed JSON or XML */ parsedBody: Image; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -7516,6 +7553,10 @@ export type ImagesUpdateResponse = Image & { * The response body as parsed JSON or XML */ parsedBody: Image; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -7646,6 +7687,10 @@ export type VirtualMachineScaleSetsCreateOrUpdateResponse = VirtualMachineScaleS * The response body as parsed JSON or XML */ parsedBody: VirtualMachineScaleSet; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -7666,6 +7711,10 @@ export type VirtualMachineScaleSetsUpdateResponse = VirtualMachineScaleSet & { * The response body as parsed JSON or XML */ parsedBody: VirtualMachineScaleSet; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -7998,6 +8047,10 @@ export type VirtualMachineScaleSetExtensionsCreateOrUpdateResponse = VirtualMach * The response body as parsed JSON or XML */ parsedBody: VirtualMachineScaleSetExtension; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8018,6 +8071,10 @@ export type VirtualMachineScaleSetExtensionsUpdateResponse = VirtualMachineScale * The response body as parsed JSON or XML */ parsedBody: VirtualMachineScaleSetExtension; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8129,6 +8186,10 @@ export type VirtualMachineScaleSetVMExtensionsCreateOrUpdateResponse = VirtualMa * The response body as parsed JSON or XML */ parsedBody: VirtualMachineExtension; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8149,6 +8210,10 @@ export type VirtualMachineScaleSetVMExtensionsUpdateResponse = VirtualMachineExt * The response body as parsed JSON or XML */ parsedBody: VirtualMachineExtension; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8242,6 +8307,10 @@ export type VirtualMachineScaleSetVMsUpdateResponse = VirtualMachineScaleSetVM & * The response body as parsed JSON or XML */ parsedBody: VirtualMachineScaleSetVM; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8352,6 +8421,10 @@ export type VirtualMachineScaleSetVMsRunCommandResponse = RunCommandResult & { * The response body as parsed JSON or XML */ parsedBody: RunCommandResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8411,6 +8484,10 @@ export type LogAnalyticsExportRequestRateByIntervalResponse = LogAnalyticsOperat * The response body as parsed JSON or XML */ parsedBody: LogAnalyticsOperationResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8431,6 +8508,10 @@ export type LogAnalyticsExportThrottledRequestsResponse = LogAnalyticsOperationR * The response body as parsed JSON or XML */ parsedBody: LogAnalyticsOperationResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8573,6 +8654,10 @@ export type DisksCreateOrUpdateResponse = Disk & { * The response body as parsed JSON or XML */ parsedBody: Disk; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8593,6 +8678,10 @@ export type DisksUpdateResponse = Disk & { * The response body as parsed JSON or XML */ parsedBody: Disk; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8673,6 +8762,10 @@ export type DisksGrantAccessResponse = AccessUri & { * The response body as parsed JSON or XML */ parsedBody: AccessUri; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8733,6 +8826,10 @@ export type SnapshotsCreateOrUpdateResponse = Snapshot & { * The response body as parsed JSON or XML */ parsedBody: Snapshot; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8753,6 +8850,10 @@ export type SnapshotsUpdateResponse = Snapshot & { * The response body as parsed JSON or XML */ parsedBody: Snapshot; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8833,6 +8934,10 @@ export type SnapshotsGrantAccessResponse = AccessUri & { * The response body as parsed JSON or XML */ parsedBody: AccessUri; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8893,6 +8998,10 @@ export type DiskEncryptionSetsCreateOrUpdateResponse = DiskEncryptionSet & { * The response body as parsed JSON or XML */ parsedBody: DiskEncryptionSet; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8913,6 +9022,10 @@ export type DiskEncryptionSetsUpdateResponse = DiskEncryptionSet & { * The response body as parsed JSON or XML */ parsedBody: DiskEncryptionSet; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9033,6 +9146,10 @@ export type GalleriesCreateOrUpdateResponse = Gallery & { * The response body as parsed JSON or XML */ parsedBody: Gallery; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9053,6 +9170,10 @@ export type GalleriesUpdateResponse = Gallery & { * The response body as parsed JSON or XML */ parsedBody: Gallery; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9173,6 +9294,10 @@ export type GalleryImagesCreateOrUpdateResponse = GalleryImage & { * The response body as parsed JSON or XML */ parsedBody: GalleryImage; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9193,6 +9318,10 @@ export type GalleryImagesUpdateResponse = GalleryImage & { * The response body as parsed JSON or XML */ parsedBody: GalleryImage; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9273,6 +9402,10 @@ export type GalleryImageVersionsCreateOrUpdateResponse = GalleryImageVersion & { * The response body as parsed JSON or XML */ parsedBody: GalleryImageVersion; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9293,6 +9426,10 @@ export type GalleryImageVersionsUpdateResponse = GalleryImageVersion & { * The response body as parsed JSON or XML */ parsedBody: GalleryImageVersion; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9384,6 +9521,10 @@ export type GalleryApplicationsCreateOrUpdateResponse = GalleryApplication & { * The response body as parsed JSON or XML */ parsedBody: GalleryApplication; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9404,6 +9545,10 @@ export type GalleryApplicationsUpdateResponse = GalleryApplication & { * The response body as parsed JSON or XML */ parsedBody: GalleryApplication; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9484,6 +9629,10 @@ export type GalleryApplicationVersionsCreateOrUpdateResponse = GalleryApplicatio * The response body as parsed JSON or XML */ parsedBody: GalleryApplicationVersion; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9504,6 +9653,10 @@ export type GalleryApplicationVersionsUpdateResponse = GalleryApplicationVersion * The response body as parsed JSON or XML */ parsedBody: GalleryApplicationVersion; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9615,6 +9768,10 @@ export type ContainerServicesCreateOrUpdateResponse = ContainerService & { * The response body as parsed JSON or XML */ parsedBody: ContainerService; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; diff --git a/test/smoke/generated/compute-resource-manager/temp/compute-resource-manager.api.json b/test/smoke/generated/compute-resource-manager/temp/compute-resource-manager.api.json index 585694f645..84ee47ae60 100644 --- a/test/smoke/generated/compute-resource-manager/temp/compute-resource-manager.api.json +++ b/test/smoke/generated/compute-resource-manager/temp/compute-resource-manager.api.json @@ -3936,6 +3936,24 @@ "text": "ContainerService", "canonicalReference": "compute-resource-manager!ContainerService:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -3949,7 +3967,7 @@ "name": "ContainerServicesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -5944,6 +5962,24 @@ "text": "DedicatedHost", "canonicalReference": "compute-resource-manager!DedicatedHost:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -5957,7 +5993,7 @@ "name": "DedicatedHostsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -6136,6 +6172,24 @@ "text": "DedicatedHost", "canonicalReference": "compute-resource-manager!DedicatedHost:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -6149,7 +6203,7 @@ "name": "DedicatedHostsUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -6795,6 +6849,24 @@ "text": "DiskEncryptionSet", "canonicalReference": "compute-resource-manager!DiskEncryptionSet:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -6808,7 +6880,7 @@ "name": "DiskEncryptionSetsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -7083,6 +7155,24 @@ "text": "DiskEncryptionSet", "canonicalReference": "compute-resource-manager!DiskEncryptionSet:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -7096,7 +7186,7 @@ "name": "DiskEncryptionSetsUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -7504,6 +7594,24 @@ "text": "Disk", "canonicalReference": "compute-resource-manager!Disk:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -7517,7 +7625,7 @@ "name": "DisksCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -7600,6 +7708,24 @@ "text": "AccessUri", "canonicalReference": "compute-resource-manager!AccessUri:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -7613,7 +7739,7 @@ "name": "DisksGrantAccessResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -7957,6 +8083,24 @@ "text": "Disk", "canonicalReference": "compute-resource-manager!Disk:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -7970,7 +8114,7 @@ "name": "DisksUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -8745,6 +8889,24 @@ "text": "Gallery", "canonicalReference": "compute-resource-manager!Gallery:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -8758,7 +8920,7 @@ "name": "GalleriesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -9033,6 +9195,24 @@ "text": "Gallery", "canonicalReference": "compute-resource-manager!Gallery:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -9046,7 +9226,7 @@ "name": "GalleriesUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -9248,6 +9428,24 @@ "text": "GalleryApplication", "canonicalReference": "compute-resource-manager!GalleryApplication:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -9261,7 +9459,7 @@ "name": "GalleryApplicationsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -9440,6 +9638,24 @@ "text": "GalleryApplication", "canonicalReference": "compute-resource-manager!GalleryApplication:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -9453,7 +9669,7 @@ "name": "GalleryApplicationsUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -9728,6 +9944,24 @@ "text": "GalleryApplicationVersion", "canonicalReference": "compute-resource-manager!GalleryApplicationVersion:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -9741,7 +9975,7 @@ "name": "GalleryApplicationVersionsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -9980,6 +10214,24 @@ "text": "GalleryApplicationVersion", "canonicalReference": "compute-resource-manager!GalleryApplicationVersion:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -9993,7 +10245,7 @@ "name": "GalleryApplicationVersionsUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -10804,6 +11056,24 @@ "text": "GalleryImage", "canonicalReference": "compute-resource-manager!GalleryImage:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -10817,7 +11087,7 @@ "name": "GalleryImagesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -10996,6 +11266,24 @@ "text": "GalleryImage", "canonicalReference": "compute-resource-manager!GalleryImage:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -11009,7 +11297,7 @@ "name": "GalleryImagesUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -11347,6 +11635,24 @@ "text": "GalleryImageVersion", "canonicalReference": "compute-resource-manager!GalleryImageVersion:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -11360,7 +11666,7 @@ "name": "GalleryImageVersionsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -11697,6 +12003,24 @@ "text": "GalleryImageVersion", "canonicalReference": "compute-resource-manager!GalleryImageVersion:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -11710,7 +12034,7 @@ "name": "GalleryImageVersionsUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -12783,6 +13107,24 @@ "text": "Image", "canonicalReference": "compute-resource-manager!Image:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -12796,7 +13138,7 @@ "name": "ImagesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -13227,6 +13569,24 @@ "text": "Image", "canonicalReference": "compute-resource-manager!Image:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -13240,7 +13600,7 @@ "name": "ImagesUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -14019,8 +14379,26 @@ }, { "kind": "Reference", - "text": "LogAnalyticsOperationResult", - "canonicalReference": "compute-resource-manager!LogAnalyticsOperationResult:interface" + "text": "LogAnalyticsOperationResult", + "canonicalReference": "compute-resource-manager!LogAnalyticsOperationResult:interface" + }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" }, { "kind": "Content", @@ -14035,7 +14413,7 @@ "name": "LogAnalyticsExportRequestRateByIntervalResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -14070,6 +14448,24 @@ "text": "LogAnalyticsOperationResult", "canonicalReference": "compute-resource-manager!LogAnalyticsOperationResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -14083,7 +14479,7 @@ "name": "LogAnalyticsExportThrottledRequestsResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -20048,6 +20444,24 @@ "text": "Snapshot", "canonicalReference": "compute-resource-manager!Snapshot:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -20061,7 +20475,7 @@ "name": "SnapshotsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -20144,6 +20558,24 @@ "text": "AccessUri", "canonicalReference": "compute-resource-manager!AccessUri:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -20157,7 +20589,7 @@ "name": "SnapshotsGrantAccessResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -20476,6 +20908,24 @@ "text": "Snapshot", "canonicalReference": "compute-resource-manager!Snapshot:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -20489,7 +20939,7 @@ "name": "SnapshotsUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -24164,6 +24614,24 @@ "text": "VirtualMachineExtension", "canonicalReference": "compute-resource-manager!VirtualMachineExtension:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -24177,7 +24645,7 @@ "name": "VirtualMachineExtensionsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -24472,6 +24940,24 @@ "text": "VirtualMachineExtension", "canonicalReference": "compute-resource-manager!VirtualMachineExtension:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -24485,7 +24971,7 @@ "name": "VirtualMachineExtensionsUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -26315,6 +26801,24 @@ "text": "VirtualMachineScaleSetExtension", "canonicalReference": "compute-resource-manager!VirtualMachineScaleSetExtension:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -26328,7 +26832,7 @@ "name": "VirtualMachineScaleSetExtensionsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -26566,6 +27070,24 @@ "text": "VirtualMachineScaleSetExtension", "canonicalReference": "compute-resource-manager!VirtualMachineScaleSetExtension:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -26579,7 +27101,7 @@ "name": "VirtualMachineScaleSetExtensionsUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -28417,6 +28939,24 @@ "text": "VirtualMachineScaleSet", "canonicalReference": "compute-resource-manager!VirtualMachineScaleSet:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -28430,7 +28970,7 @@ "name": "VirtualMachineScaleSetsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -29831,6 +30371,24 @@ "text": "VirtualMachineScaleSet", "canonicalReference": "compute-resource-manager!VirtualMachineScaleSet:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -29844,7 +30402,7 @@ "name": "VirtualMachineScaleSetsUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -31064,6 +31622,24 @@ "text": "VirtualMachineExtension", "canonicalReference": "compute-resource-manager!VirtualMachineExtension:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -31077,7 +31653,7 @@ "name": "VirtualMachineScaleSetVMExtensionsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -31397,6 +31973,24 @@ "text": "VirtualMachineExtension", "canonicalReference": "compute-resource-manager!VirtualMachineExtension:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -31410,7 +32004,7 @@ "name": "VirtualMachineScaleSetVMExtensionsUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -32854,6 +33448,24 @@ "text": "RunCommandResult", "canonicalReference": "compute-resource-manager!RunCommandResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -32867,7 +33479,7 @@ "name": "VirtualMachineScaleSetVMsRunCommandResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -32902,6 +33514,24 @@ "text": "VirtualMachineScaleSetVM", "canonicalReference": "compute-resource-manager!VirtualMachineScaleSetVM:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -32915,7 +33545,7 @@ "name": "VirtualMachineScaleSetVMsUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -32950,6 +33580,24 @@ "text": "VirtualMachineCaptureResult", "canonicalReference": "compute-resource-manager!VirtualMachineCaptureResult:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -32963,7 +33611,7 @@ "name": "VirtualMachinesCaptureResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -32998,6 +33646,24 @@ "text": "VirtualMachine", "canonicalReference": "compute-resource-manager!VirtualMachine:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -33011,7 +33677,7 @@ "name": "VirtualMachinesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -34000,6 +34666,24 @@ "text": "RunCommandResult", "canonicalReference": "compute-resource-manager!RunCommandResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -34013,7 +34697,7 @@ "name": "VirtualMachinesRunCommandResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -34114,6 +34798,24 @@ "text": "VirtualMachine", "canonicalReference": "compute-resource-manager!VirtualMachine:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "compute-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "compute-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -34127,7 +34829,7 @@ "name": "VirtualMachinesUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { diff --git a/test/smoke/generated/compute-resource-manager/temp/compute-resource-manager.api.md b/test/smoke/generated/compute-resource-manager/temp/compute-resource-manager.api.md index 50052a5613..0442dcc236 100644 --- a/test/smoke/generated/compute-resource-manager/temp/compute-resource-manager.api.md +++ b/test/smoke/generated/compute-resource-manager/temp/compute-resource-manager.api.md @@ -6,6 +6,7 @@ import * as coreHttp from '@azure/core-http'; import { HttpMethods } from '@azure/core-http'; +import { HttpOperationResponse } from '@azure/core-http'; import { OperationArguments } from '@azure/core-http'; import { OperationSpec } from '@azure/core-http'; import { Poller } from '@azure/core-lro'; @@ -440,6 +441,7 @@ export type ContainerServicesCreateOrUpdateResponse = ContainerService & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ContainerService; + [LROSYM]: LROResponseInfo; }; }; @@ -667,6 +669,7 @@ export type DedicatedHostsCreateOrUpdateResponse = DedicatedHost & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DedicatedHost; + [LROSYM]: LROResponseInfo; }; }; @@ -699,6 +702,7 @@ export type DedicatedHostsUpdateResponse = DedicatedHost & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DedicatedHost; + [LROSYM]: LROResponseInfo; }; }; @@ -792,6 +796,7 @@ export type DiskEncryptionSetsCreateOrUpdateResponse = DiskEncryptionSet & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DiskEncryptionSet; + [LROSYM]: LROResponseInfo; }; }; @@ -840,6 +845,7 @@ export type DiskEncryptionSetsUpdateResponse = DiskEncryptionSet & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DiskEncryptionSet; + [LROSYM]: LROResponseInfo; }; }; @@ -881,6 +887,7 @@ export type DisksCreateOrUpdateResponse = Disk & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Disk; + [LROSYM]: LROResponseInfo; }; }; @@ -897,6 +904,7 @@ export type DisksGrantAccessResponse = AccessUri & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: AccessUri; + [LROSYM]: LROResponseInfo; }; }; @@ -949,6 +957,7 @@ export type DisksUpdateResponse = Disk & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Disk; + [LROSYM]: LROResponseInfo; }; }; @@ -1012,6 +1021,7 @@ export type GalleriesCreateOrUpdateResponse = Gallery & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Gallery; + [LROSYM]: LROResponseInfo; }; }; @@ -1060,6 +1070,7 @@ export type GalleriesUpdateResponse = Gallery & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Gallery; + [LROSYM]: LROResponseInfo; }; }; @@ -1091,6 +1102,7 @@ export type GalleryApplicationsCreateOrUpdateResponse = GalleryApplication & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GalleryApplication; + [LROSYM]: LROResponseInfo; }; }; @@ -1123,6 +1135,7 @@ export type GalleryApplicationsUpdateResponse = GalleryApplication & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GalleryApplication; + [LROSYM]: LROResponseInfo; }; }; @@ -1164,6 +1177,7 @@ export type GalleryApplicationVersionsCreateOrUpdateResponse = GalleryApplicatio _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GalleryApplicationVersion; + [LROSYM]: LROResponseInfo; }; }; @@ -1201,6 +1215,7 @@ export type GalleryApplicationVersionsUpdateResponse = GalleryApplicationVersion _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GalleryApplicationVersion; + [LROSYM]: LROResponseInfo; }; }; @@ -1286,6 +1301,7 @@ export type GalleryImagesCreateOrUpdateResponse = GalleryImage & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GalleryImage; + [LROSYM]: LROResponseInfo; }; }; @@ -1318,6 +1334,7 @@ export type GalleryImagesUpdateResponse = GalleryImage & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GalleryImage; + [LROSYM]: LROResponseInfo; }; }; @@ -1363,6 +1380,7 @@ export type GalleryImageVersionsCreateOrUpdateResponse = GalleryImageVersion & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GalleryImageVersion; + [LROSYM]: LROResponseInfo; }; }; @@ -1407,6 +1425,7 @@ export type GalleryImageVersionsUpdateResponse = GalleryImageVersion & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GalleryImageVersion; + [LROSYM]: LROResponseInfo; }; }; @@ -1526,6 +1545,7 @@ export type ImagesCreateOrUpdateResponse = Image_2 & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Image_2; + [LROSYM]: LROResponseInfo; }; }; @@ -1586,6 +1606,7 @@ export type ImagesUpdateResponse = Image_2 & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Image_2; + [LROSYM]: LROResponseInfo; }; }; @@ -1660,6 +1681,7 @@ export type LogAnalyticsExportRequestRateByIntervalResponse = LogAnalyticsOperat _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: LogAnalyticsOperationResult; + [LROSYM]: LROResponseInfo; }; }; @@ -1668,6 +1690,7 @@ export type LogAnalyticsExportThrottledRequestsResponse = LogAnalyticsOperationR _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: LogAnalyticsOperationResult; + [LROSYM]: LROResponseInfo; }; }; @@ -2205,6 +2228,7 @@ export type SnapshotsCreateOrUpdateResponse = Snapshot & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Snapshot; + [LROSYM]: LROResponseInfo; }; }; @@ -2221,6 +2245,7 @@ export type SnapshotsGrantAccessResponse = AccessUri & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: AccessUri; + [LROSYM]: LROResponseInfo; }; }; @@ -2270,6 +2295,7 @@ export type SnapshotsUpdateResponse = Snapshot & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Snapshot; + [LROSYM]: LROResponseInfo; }; }; @@ -2672,6 +2698,7 @@ export type VirtualMachineExtensionsCreateOrUpdateResponse = VirtualMachineExten _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachineExtension; + [LROSYM]: LROResponseInfo; }; }; @@ -2711,6 +2738,7 @@ export type VirtualMachineExtensionsUpdateResponse = VirtualMachineExtension & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachineExtension; + [LROSYM]: LROResponseInfo; }; }; @@ -2927,6 +2955,7 @@ export type VirtualMachineScaleSetExtensionsCreateOrUpdateResponse = VirtualMach _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachineScaleSetExtension; + [LROSYM]: LROResponseInfo; }; }; @@ -2964,6 +2993,7 @@ export type VirtualMachineScaleSetExtensionsUpdateResponse = VirtualMachineScale _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachineScaleSetExtension; + [LROSYM]: LROResponseInfo; }; }; @@ -3137,6 +3167,7 @@ export type VirtualMachineScaleSetsCreateOrUpdateResponse = VirtualMachineScaleS _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachineScaleSet; + [LROSYM]: LROResponseInfo; }; }; @@ -3299,6 +3330,7 @@ export type VirtualMachineScaleSetsUpdateResponse = VirtualMachineScaleSet & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachineScaleSet; + [LROSYM]: LROResponseInfo; }; }; @@ -3421,6 +3453,7 @@ export type VirtualMachineScaleSetVMExtensionsCreateOrUpdateResponse = VirtualMa _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachineExtension; + [LROSYM]: LROResponseInfo; }; }; @@ -3461,6 +3494,7 @@ export type VirtualMachineScaleSetVMExtensionsUpdateResponse = VirtualMachineExt _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachineExtension; + [LROSYM]: LROResponseInfo; }; }; @@ -3584,6 +3618,7 @@ export type VirtualMachineScaleSetVMsRunCommandResponse = RunCommandResult & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: RunCommandResult; + [LROSYM]: LROResponseInfo; }; }; @@ -3592,6 +3627,7 @@ export type VirtualMachineScaleSetVMsUpdateResponse = VirtualMachineScaleSetVM & _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachineScaleSetVM; + [LROSYM]: LROResponseInfo; }; }; @@ -3600,6 +3636,7 @@ export type VirtualMachinesCaptureResponse = VirtualMachineCaptureResult & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachineCaptureResult; + [LROSYM]: LROResponseInfo; }; }; @@ -3608,6 +3645,7 @@ export type VirtualMachinesCreateOrUpdateResponse = VirtualMachine & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachine; + [LROSYM]: LROResponseInfo; }; }; @@ -3734,6 +3772,7 @@ export type VirtualMachinesRunCommandResponse = RunCommandResult & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: RunCommandResult; + [LROSYM]: LROResponseInfo; }; }; @@ -3748,6 +3787,7 @@ export type VirtualMachinesUpdateResponse = VirtualMachine & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualMachine; + [LROSYM]: LROResponseInfo; }; }; @@ -3801,6 +3841,10 @@ export interface WinRMListener { } +// Warnings were encountered during analysis: +// +// src/models/index.ts:9774:5 - (ae-forgotten-export) The symbol "LROResponseInfo" needs to be exported by the entry point index.d.ts + // (No @packageDocumentation comment for this package) ``` diff --git a/test/smoke/generated/cosmos-db-resource-manager/review/cosmos-db-resource-manager.api.md b/test/smoke/generated/cosmos-db-resource-manager/review/cosmos-db-resource-manager.api.md index 229d070639..a7d3f2cc36 100644 --- a/test/smoke/generated/cosmos-db-resource-manager/review/cosmos-db-resource-manager.api.md +++ b/test/smoke/generated/cosmos-db-resource-manager/review/cosmos-db-resource-manager.api.md @@ -6,6 +6,7 @@ import * as coreHttp from '@azure/core-http'; import { HttpMethods } from '@azure/core-http'; +import { HttpOperationResponse } from '@azure/core-http'; import { OperationArguments } from '@azure/core-http'; import { OperationSpec } from '@azure/core-http'; import { Poller } from '@azure/core-lro'; @@ -78,6 +79,7 @@ export type CassandraResourcesCreateUpdateCassandraKeyspaceResponse = CassandraK _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: CassandraKeyspaceGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -86,6 +88,7 @@ export type CassandraResourcesCreateUpdateCassandraTableResponse = CassandraTabl _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: CassandraTableGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -142,6 +145,7 @@ export type CassandraResourcesUpdateCassandraKeyspaceThroughputResponse = Throug _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ThroughputSettingsGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -150,6 +154,7 @@ export type CassandraResourcesUpdateCassandraTableThroughputResponse = Throughpu _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ThroughputSettingsGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -502,6 +507,7 @@ export type DatabaseAccountsCreateOrUpdateResponse = DatabaseAccountGetResults & _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DatabaseAccountGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -600,6 +606,7 @@ export type DatabaseAccountsUpdateResponse = DatabaseAccountGetResults & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DatabaseAccountGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -755,6 +762,7 @@ export type GremlinResourcesCreateUpdateGremlinDatabaseResponse = GremlinDatabas _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GremlinDatabaseGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -763,6 +771,7 @@ export type GremlinResourcesCreateUpdateGremlinGraphResponse = GremlinGraphGetRe _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GremlinGraphGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -819,6 +828,7 @@ export type GremlinResourcesUpdateGremlinDatabaseThroughputResponse = Throughput _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ThroughputSettingsGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -827,6 +837,7 @@ export type GremlinResourcesUpdateGremlinGraphThroughputResponse = ThroughputSet _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ThroughputSettingsGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -990,6 +1001,7 @@ export type MongoDBResourcesCreateUpdateMongoDBCollectionResponse = MongoDBColle _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: MongoDBCollectionGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -998,6 +1010,7 @@ export type MongoDBResourcesCreateUpdateMongoDBDatabaseResponse = MongoDBDatabas _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: MongoDBDatabaseGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1054,6 +1067,7 @@ export type MongoDBResourcesUpdateMongoDBCollectionThroughputResponse = Throughp _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ThroughputSettingsGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1062,6 +1076,7 @@ export type MongoDBResourcesUpdateMongoDBDatabaseThroughputResponse = Throughput _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ThroughputSettingsGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1110,6 +1125,7 @@ export type NotebookWorkspacesCreateOrUpdateResponse = NotebookWorkspace & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NotebookWorkspace; + [LROSYM]: LROResponseInfo; }; }; @@ -1296,6 +1312,7 @@ export type PrivateEndpointConnectionsCreateOrUpdateResponse = PrivateEndpointCo _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PrivateEndpointConnectionAutoGenerated; + [LROSYM]: LROResponseInfo; }; }; @@ -1464,6 +1481,7 @@ export type SqlResourcesCreateUpdateSqlContainerResponse = SqlContainerGetResult _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SqlContainerGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1472,6 +1490,7 @@ export type SqlResourcesCreateUpdateSqlDatabaseResponse = SqlDatabaseGetResults _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SqlDatabaseGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1480,6 +1499,7 @@ export type SqlResourcesCreateUpdateSqlStoredProcedureResponse = SqlStoredProced _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SqlStoredProcedureGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1488,6 +1508,7 @@ export type SqlResourcesCreateUpdateSqlTriggerResponse = SqlTriggerGetResults & _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SqlTriggerGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1496,6 +1517,7 @@ export type SqlResourcesCreateUpdateSqlUserDefinedFunctionResponse = SqlUserDefi _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SqlUserDefinedFunctionGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1600,6 +1622,7 @@ export type SqlResourcesUpdateSqlContainerThroughputResponse = ThroughputSetting _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ThroughputSettingsGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1608,6 +1631,7 @@ export type SqlResourcesUpdateSqlDatabaseThroughputResponse = ThroughputSettings _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ThroughputSettingsGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1721,6 +1745,7 @@ export type TableResourcesCreateUpdateTableResponse = TableGetResults & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: TableGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1753,6 +1778,7 @@ export type TableResourcesUpdateTableThroughputResponse = ThroughputSettingsGetR _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ThroughputSettingsGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1823,6 +1849,10 @@ export interface VirtualNetworkRule { } +// Warnings were encountered during analysis: +// +// src/models/index.ts:3695:5 - (ae-forgotten-export) The symbol "LROResponseInfo" needs to be exported by the entry point index.d.ts + // (No @packageDocumentation comment for this package) ``` diff --git a/test/smoke/generated/cosmos-db-resource-manager/src/lro/azureAsyncOperationStrategy.ts b/test/smoke/generated/cosmos-db-resource-manager/src/lro/azureAsyncOperationStrategy.ts index ecdc300c1f..f54ccc954f 100644 --- a/test/smoke/generated/cosmos-db-resource-manager/src/lro/azureAsyncOperationStrategy.ts +++ b/test/smoke/generated/cosmos-db-resource-manager/src/lro/azureAsyncOperationStrategy.ts @@ -11,9 +11,14 @@ import { BaseResult, LROOperationStep, LROResponseInfo, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; -import { OperationSpec, OperationArguments } from "@azure/core-http"; +import { + OperationSpec, + OperationArguments, + OperationResponse +} from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "."; @@ -22,7 +27,7 @@ export function createAzureAsyncOperationStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -35,7 +40,7 @@ export function createAzureAsyncOperationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); @@ -51,16 +56,16 @@ export function createAzureAsyncOperationStrategy( return terminalStates.includes(status.toLowerCase()); }, sendFinalRequest: async () => { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - if (!currentOperation.result._lroData) { + if (!currentOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - const initialOperationResult = initialOperation.result._lroData; - const currentOperationResult = currentOperation.result._lroData; + const initialOperationResult = initialOperation.result._response[LROSYM]; + const currentOperationResult = currentOperation.result._response[LROSYM]; if ( !shouldPerformFinalGet(initialOperationResult, currentOperationResult) @@ -68,7 +73,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.requestMethod === "PUT") { + if (initialOperationResult?.requestMethod === "PUT") { currentOperation = await sendFinalGet( initialOperation, sendOperationFn @@ -77,7 +82,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.location) { + if (initialOperationResult?.location) { switch (finalStateVia) { case "original-uri": currentOperation = await sendFinalGet( @@ -92,7 +97,7 @@ export function createAzureAsyncOperationStrategy( default: const location = initialOperationResult.location || - currentOperationResult.location; + currentOperationResult?.location; if (!location) { throw new Error("Couldn't determine final GET URL from location"); @@ -116,9 +121,11 @@ export function createAzureAsyncOperationStrategy( const pollingArgs = currentOperation.args; // Make sure we don't send any body to the get request - const { requestBody, ...restSpec } = currentOperation.spec; + const { requestBody, responses, ...restSpec } = currentOperation.spec; + const pollingSpec: OperationSpec = { ...restSpec, + responses: getCompositeMappers(responses), httpMethod: "GET", path: lastKnownPollingUrl }; @@ -127,8 +134,8 @@ export function createAzureAsyncOperationStrategy( // Update latest polling url lastKnownPollingUrl = - result._lroData?.azureAsyncOperation || - result._lroData?.operationLocation || + result._response[LROSYM]?.azureAsyncOperation || + result._response[LROSYM]?.operationLocation || lastKnownPollingUrl; // Update lastOperation result @@ -143,12 +150,47 @@ export function createAzureAsyncOperationStrategy( }; } +/** + * Polling calls will always return a status object i.e. {"status": "success"} + * these intermediate responses are not described in the swagger so we need to + * pass custom mappers at runtime. + * This function replaces all the existing mappers to be able to deserialize a status object + * @param responses Original set of responses defined in the operation + */ +function getCompositeMappers(responses: { + [responseCode: string]: OperationResponse; +}): { + [responseCode: string]: OperationResponse; +} { + return Object.keys(responses).reduce((acc, statusCode) => { + return { + ...acc, + [statusCode]: { + ...responses[statusCode], + bodyMapper: { + type: { + name: "Composite", + modelProperties: { + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } + } + } + }; + }, {} as { [responseCode: string]: OperationResponse }); +} + function shouldPerformFinalGet( - initialResult: LROResponseInfo, - currentResult: LROResponseInfo + initialResult?: LROResponseInfo, + currentResult?: LROResponseInfo ) { - const { status } = currentResult; - const { requestMethod: initialRequestMethod, location } = initialResult; + const { status } = currentResult || {}; + const { requestMethod: initialRequestMethod, location } = initialResult || {}; if (status && status.toLowerCase() !== "succeeded") { return false; } diff --git a/test/smoke/generated/cosmos-db-resource-manager/src/lro/bodyPollingStrategy.ts b/test/smoke/generated/cosmos-db-resource-manager/src/lro/bodyPollingStrategy.ts index 35cc6bac2a..c9404330ed 100644 --- a/test/smoke/generated/cosmos-db-resource-manager/src/lro/bodyPollingStrategy.ts +++ b/test/smoke/generated/cosmos-db-resource-manager/src/lro/bodyPollingStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { LROStrategy, BaseResult, LROOperationStep } from "./models"; +import { LROStrategy, BaseResult, LROOperationStep, LROSYM } from "./models"; import { OperationSpec } from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "./lroPoller"; @@ -19,7 +19,7 @@ export function createBodyPollingStrategy( initialOperation: LROOperationStep, sendOperation: SendOperationFn ): LROStrategy { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to be defined for BodyPolling strategy"); } @@ -27,7 +27,7 @@ export function createBodyPollingStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } diff --git a/test/smoke/generated/cosmos-db-resource-manager/src/lro/locationStrategy.ts b/test/smoke/generated/cosmos-db-resource-manager/src/lro/locationStrategy.ts index 1a5c8d462e..6a763e37ec 100644 --- a/test/smoke/generated/cosmos-db-resource-manager/src/lro/locationStrategy.ts +++ b/test/smoke/generated/cosmos-db-resource-manager/src/lro/locationStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationStep, LROStrategy } from "./models"; +import { BaseResult, LROOperationStep, LROStrategy, LROSYM } from "./models"; import { SendOperationFn } from "./lroPoller"; import { OperationSpec } from "@azure/core-http"; @@ -14,7 +14,7 @@ export function createLocationStrategy( initialOperation: LROOperationStep, sendOperationFn: SendOperationFn ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -26,7 +26,7 @@ export function createLocationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } @@ -59,7 +59,8 @@ export function createLocationStrategy( const result = await sendOperationFn(pollingArgs, pollingSpec); // Update latest polling url - lastKnownPollingUrl = result._lroData?.location || lastKnownPollingUrl; + lastKnownPollingUrl = + result._response[LROSYM]?.location || lastKnownPollingUrl; // Update lastOperation result currentOperation = { diff --git a/test/smoke/generated/cosmos-db-resource-manager/src/lro/lroPolicy.ts b/test/smoke/generated/cosmos-db-resource-manager/src/lro/lroPolicy.ts index 0591f541b3..4d18c3b7f0 100644 --- a/test/smoke/generated/cosmos-db-resource-manager/src/lro/lroPolicy.ts +++ b/test/smoke/generated/cosmos-db-resource-manager/src/lro/lroPolicy.ts @@ -13,6 +13,7 @@ import { HttpOperationResponse, WebResource } from "@azure/core-http"; +import { LROOperationResponse, LROSYM } from "./models"; import { getLROData } from "./requestUtils"; export function lroPolicy() { @@ -31,12 +32,12 @@ class LROPolicy extends BaseRequestPolicy { public async sendRequest( webResource: WebResource ): Promise { - let result = await this._nextPolicy.sendRequest(webResource); + let result: LROOperationResponse = await this._nextPolicy.sendRequest( + webResource + ); + const _lroData = getLROData(result); - if (webResource.shouldDeserialize !== undefined) { - const _lroData = getLROData(result); - result.parsedBody = { ...result.parsedBody, _lroData }; - } + result[LROSYM] = _lroData; return result; } diff --git a/test/smoke/generated/cosmos-db-resource-manager/src/lro/lroPoller.ts b/test/smoke/generated/cosmos-db-resource-manager/src/lro/lroPoller.ts index bc2f2aa05a..8c0406cf24 100644 --- a/test/smoke/generated/cosmos-db-resource-manager/src/lro/lroPoller.ts +++ b/test/smoke/generated/cosmos-db-resource-manager/src/lro/lroPoller.ts @@ -17,7 +17,8 @@ import { BaseResult, LROOperationState, LROOperationStep, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; import { makeOperation } from "./operation"; import { createBodyPollingStrategy } from "./bodyPollingStrategy"; @@ -122,7 +123,7 @@ function getPollingStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ) { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { const error = new RestError( diff --git a/test/smoke/generated/cosmos-db-resource-manager/src/lro/models.ts b/test/smoke/generated/cosmos-db-resource-manager/src/lro/models.ts index a90afc5b41..c4b96664f6 100644 --- a/test/smoke/generated/cosmos-db-resource-manager/src/lro/models.ts +++ b/test/smoke/generated/cosmos-db-resource-manager/src/lro/models.ts @@ -10,9 +10,11 @@ import { OperationArguments, OperationSpec, RestResponse, - HttpMethods + HttpMethods, + HttpOperationResponse } from "@azure/core-http"; import { PollOperationState, PollOperation } from "@azure/core-lro"; +export const LROSYM = Symbol("LROData"); export type FinalStateVia = | "azure-async-operation" @@ -30,8 +32,21 @@ export interface LROResponseInfo { status?: string; } +/** + * Extended operation response for LROs + */ +export type LROOperationResponse = HttpOperationResponse & { + /** + * Symbol that contains LRO details + */ + [LROSYM]?: LROResponseInfo; +}; + export interface BaseResult extends RestResponse { - _lroData?: LROResponseInfo; + /** + * The underlying HTTP response containing both raw and deserialized response data. + */ + _response: LROOperationResponse; } export interface LROOperationStep { diff --git a/test/smoke/generated/cosmos-db-resource-manager/src/lro/operation.ts b/test/smoke/generated/cosmos-db-resource-manager/src/lro/operation.ts index 9cda560a02..0860f07df0 100644 --- a/test/smoke/generated/cosmos-db-resource-manager/src/lro/operation.ts +++ b/test/smoke/generated/cosmos-db-resource-manager/src/lro/operation.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationState, LROOperation } from "./models"; +import { BaseResult, LROOperationState, LROOperation, LROSYM } from "./models"; /** * Creates a copy of the operation from a given State @@ -46,7 +46,7 @@ async function update( const { sendFinalRequest, poll, isTerminal } = state.pollingStrategy; const currentResponse = state.lastOperation; - const currentLroData = currentResponse.result._lroData; + const currentLroData = currentResponse.result._response[LROSYM]; if (!currentLroData) { throw new Error( diff --git a/test/smoke/generated/cosmos-db-resource-manager/src/models/index.ts b/test/smoke/generated/cosmos-db-resource-manager/src/models/index.ts index cdef0e95c6..339654fdc5 100644 --- a/test/smoke/generated/cosmos-db-resource-manager/src/models/index.ts +++ b/test/smoke/generated/cosmos-db-resource-manager/src/models/index.ts @@ -7,6 +7,7 @@ */ import * as coreHttp from "@azure/core-http"; +import { LROSYM, LROResponseInfo } from "../lro/models"; /** * The consistency policy for the Cosmos DB database account. @@ -2284,6 +2285,10 @@ export type DatabaseAccountsUpdateResponse = DatabaseAccountGetResults & { * The response body as parsed JSON or XML */ parsedBody: DatabaseAccountGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2304,6 +2309,10 @@ export type DatabaseAccountsCreateOrUpdateResponse = DatabaseAccountGetResults & * The response body as parsed JSON or XML */ parsedBody: DatabaseAccountGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2948,6 +2957,10 @@ export type SqlResourcesCreateUpdateSqlDatabaseResponse = SqlDatabaseGetResults * The response body as parsed JSON or XML */ parsedBody: SqlDatabaseGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2988,6 +3001,10 @@ export type SqlResourcesUpdateSqlDatabaseThroughputResponse = ThroughputSettings * The response body as parsed JSON or XML */ parsedBody: ThroughputSettingsGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -3048,6 +3065,10 @@ export type SqlResourcesCreateUpdateSqlContainerResponse = SqlContainerGetResult * The response body as parsed JSON or XML */ parsedBody: SqlContainerGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -3088,6 +3109,10 @@ export type SqlResourcesUpdateSqlContainerThroughputResponse = ThroughputSetting * The response body as parsed JSON or XML */ parsedBody: ThroughputSettingsGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -3148,6 +3173,10 @@ export type SqlResourcesCreateUpdateSqlStoredProcedureResponse = SqlStoredProced * The response body as parsed JSON or XML */ parsedBody: SqlStoredProcedureGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -3208,6 +3237,10 @@ export type SqlResourcesCreateUpdateSqlUserDefinedFunctionResponse = SqlUserDefi * The response body as parsed JSON or XML */ parsedBody: SqlUserDefinedFunctionGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -3268,6 +3301,10 @@ export type SqlResourcesCreateUpdateSqlTriggerResponse = SqlTriggerGetResults & * The response body as parsed JSON or XML */ parsedBody: SqlTriggerGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -3328,6 +3365,10 @@ export type MongoDBResourcesCreateUpdateMongoDBDatabaseResponse = MongoDBDatabas * The response body as parsed JSON or XML */ parsedBody: MongoDBDatabaseGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -3368,6 +3409,10 @@ export type MongoDBResourcesUpdateMongoDBDatabaseThroughputResponse = Throughput * The response body as parsed JSON or XML */ parsedBody: ThroughputSettingsGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -3428,6 +3473,10 @@ export type MongoDBResourcesCreateUpdateMongoDBCollectionResponse = MongoDBColle * The response body as parsed JSON or XML */ parsedBody: MongoDBCollectionGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -3468,6 +3517,10 @@ export type MongoDBResourcesUpdateMongoDBCollectionThroughputResponse = Throughp * The response body as parsed JSON or XML */ parsedBody: ThroughputSettingsGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -3528,6 +3581,10 @@ export type TableResourcesCreateUpdateTableResponse = TableGetResults & { * The response body as parsed JSON or XML */ parsedBody: TableGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -3568,6 +3625,10 @@ export type TableResourcesUpdateTableThroughputResponse = ThroughputSettingsGetR * The response body as parsed JSON or XML */ parsedBody: ThroughputSettingsGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -3628,6 +3689,10 @@ export type CassandraResourcesCreateUpdateCassandraKeyspaceResponse = CassandraK * The response body as parsed JSON or XML */ parsedBody: CassandraKeyspaceGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -3668,6 +3733,10 @@ export type CassandraResourcesUpdateCassandraKeyspaceThroughputResponse = Throug * The response body as parsed JSON or XML */ parsedBody: ThroughputSettingsGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -3728,6 +3797,10 @@ export type CassandraResourcesCreateUpdateCassandraTableResponse = CassandraTabl * The response body as parsed JSON or XML */ parsedBody: CassandraTableGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -3768,6 +3841,10 @@ export type CassandraResourcesUpdateCassandraTableThroughputResponse = Throughpu * The response body as parsed JSON or XML */ parsedBody: ThroughputSettingsGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -3828,6 +3905,10 @@ export type GremlinResourcesCreateUpdateGremlinDatabaseResponse = GremlinDatabas * The response body as parsed JSON or XML */ parsedBody: GremlinDatabaseGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -3868,6 +3949,10 @@ export type GremlinResourcesUpdateGremlinDatabaseThroughputResponse = Throughput * The response body as parsed JSON or XML */ parsedBody: ThroughputSettingsGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -3928,6 +4013,10 @@ export type GremlinResourcesCreateUpdateGremlinGraphResponse = GremlinGraphGetRe * The response body as parsed JSON or XML */ parsedBody: GremlinGraphGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -3968,6 +4057,10 @@ export type GremlinResourcesUpdateGremlinGraphThroughputResponse = ThroughputSet * The response body as parsed JSON or XML */ parsedBody: ThroughputSettingsGetResults; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -4028,6 +4121,10 @@ export type NotebookWorkspacesCreateOrUpdateResponse = NotebookWorkspace & { * The response body as parsed JSON or XML */ parsedBody: NotebookWorkspace; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -4148,6 +4245,10 @@ export type PrivateEndpointConnectionsCreateOrUpdateResponse = PrivateEndpointCo * The response body as parsed JSON or XML */ parsedBody: PrivateEndpointConnectionAutoGenerated; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; diff --git a/test/smoke/generated/cosmos-db-resource-manager/temp/cosmos-db-resource-manager.api.json b/test/smoke/generated/cosmos-db-resource-manager/temp/cosmos-db-resource-manager.api.json index f3652f47e3..fd217de3dd 100644 --- a/test/smoke/generated/cosmos-db-resource-manager/temp/cosmos-db-resource-manager.api.json +++ b/test/smoke/generated/cosmos-db-resource-manager/temp/cosmos-db-resource-manager.api.json @@ -655,6 +655,24 @@ "text": "CassandraKeyspaceGetResults", "canonicalReference": "cosmos-db-resource-manager!CassandraKeyspaceGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -668,7 +686,7 @@ "name": "CassandraResourcesCreateUpdateCassandraKeyspaceResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -703,6 +721,24 @@ "text": "CassandraTableGetResults", "canonicalReference": "cosmos-db-resource-manager!CassandraTableGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -716,7 +752,7 @@ "name": "CassandraResourcesCreateUpdateCassandraTableResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -1039,6 +1075,24 @@ "text": "ThroughputSettingsGetResults", "canonicalReference": "cosmos-db-resource-manager!ThroughputSettingsGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -1052,7 +1106,7 @@ "name": "CassandraResourcesUpdateCassandraKeyspaceThroughputResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -1087,6 +1141,24 @@ "text": "ThroughputSettingsGetResults", "canonicalReference": "cosmos-db-resource-manager!ThroughputSettingsGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -1100,7 +1172,7 @@ "name": "CassandraResourcesUpdateCassandraTableThroughputResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -4091,6 +4163,24 @@ "text": "DatabaseAccountGetResults", "canonicalReference": "cosmos-db-resource-manager!DatabaseAccountGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -4104,7 +4194,7 @@ "name": "DatabaseAccountsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -4724,6 +4814,24 @@ "text": "DatabaseAccountGetResults", "canonicalReference": "cosmos-db-resource-manager!DatabaseAccountGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -4737,7 +4845,7 @@ "name": "DatabaseAccountsUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -6402,6 +6510,24 @@ "text": "GremlinDatabaseGetResults", "canonicalReference": "cosmos-db-resource-manager!GremlinDatabaseGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -6415,7 +6541,7 @@ "name": "GremlinResourcesCreateUpdateGremlinDatabaseResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -6450,6 +6576,24 @@ "text": "GremlinGraphGetResults", "canonicalReference": "cosmos-db-resource-manager!GremlinGraphGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -6463,7 +6607,7 @@ "name": "GremlinResourcesCreateUpdateGremlinGraphResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -6786,6 +6930,24 @@ "text": "ThroughputSettingsGetResults", "canonicalReference": "cosmos-db-resource-manager!ThroughputSettingsGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -6799,7 +6961,7 @@ "name": "GremlinResourcesUpdateGremlinDatabaseThroughputResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -6834,6 +6996,24 @@ "text": "ThroughputSettingsGetResults", "canonicalReference": "cosmos-db-resource-manager!ThroughputSettingsGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -6847,7 +7027,7 @@ "name": "GremlinResourcesUpdateGremlinGraphThroughputResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -8748,6 +8928,24 @@ "text": "MongoDBCollectionGetResults", "canonicalReference": "cosmos-db-resource-manager!MongoDBCollectionGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -8761,7 +8959,7 @@ "name": "MongoDBResourcesCreateUpdateMongoDBCollectionResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -8796,6 +8994,24 @@ "text": "MongoDBDatabaseGetResults", "canonicalReference": "cosmos-db-resource-manager!MongoDBDatabaseGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -8809,7 +9025,7 @@ "name": "MongoDBResourcesCreateUpdateMongoDBDatabaseResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -9132,6 +9348,24 @@ "text": "ThroughputSettingsGetResults", "canonicalReference": "cosmos-db-resource-manager!ThroughputSettingsGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -9145,7 +9379,7 @@ "name": "MongoDBResourcesUpdateMongoDBCollectionThroughputResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -9180,6 +9414,24 @@ "text": "ThroughputSettingsGetResults", "canonicalReference": "cosmos-db-resource-manager!ThroughputSettingsGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -9193,7 +9445,7 @@ "name": "MongoDBResourcesUpdateMongoDBDatabaseThroughputResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -9600,6 +9852,24 @@ "text": "NotebookWorkspace", "canonicalReference": "cosmos-db-resource-manager!NotebookWorkspace:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -9613,7 +9883,7 @@ "name": "NotebookWorkspacesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -11018,6 +11288,24 @@ "text": "PrivateEndpointConnectionAutoGenerated", "canonicalReference": "cosmos-db-resource-manager!PrivateEndpointConnectionAutoGenerated:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -11031,7 +11319,7 @@ "name": "PrivateEndpointConnectionsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -12540,6 +12828,24 @@ "text": "SqlContainerGetResults", "canonicalReference": "cosmos-db-resource-manager!SqlContainerGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -12553,7 +12859,7 @@ "name": "SqlResourcesCreateUpdateSqlContainerResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -12588,6 +12894,24 @@ "text": "SqlDatabaseGetResults", "canonicalReference": "cosmos-db-resource-manager!SqlDatabaseGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -12601,7 +12925,7 @@ "name": "SqlResourcesCreateUpdateSqlDatabaseResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -12636,6 +12960,24 @@ "text": "SqlStoredProcedureGetResults", "canonicalReference": "cosmos-db-resource-manager!SqlStoredProcedureGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -12649,7 +12991,7 @@ "name": "SqlResourcesCreateUpdateSqlStoredProcedureResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -12684,6 +13026,24 @@ "text": "SqlTriggerGetResults", "canonicalReference": "cosmos-db-resource-manager!SqlTriggerGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -12697,7 +13057,7 @@ "name": "SqlResourcesCreateUpdateSqlTriggerResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -12732,6 +13092,24 @@ "text": "SqlUserDefinedFunctionGetResults", "canonicalReference": "cosmos-db-resource-manager!SqlUserDefinedFunctionGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -12745,7 +13123,7 @@ "name": "SqlResourcesCreateUpdateSqlUserDefinedFunctionResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -13356,6 +13734,24 @@ "text": "ThroughputSettingsGetResults", "canonicalReference": "cosmos-db-resource-manager!ThroughputSettingsGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -13369,7 +13765,7 @@ "name": "SqlResourcesUpdateSqlContainerThroughputResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -13404,6 +13800,24 @@ "text": "ThroughputSettingsGetResults", "canonicalReference": "cosmos-db-resource-manager!ThroughputSettingsGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -13417,7 +13831,7 @@ "name": "SqlResourcesUpdateSqlDatabaseThroughputResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -14470,6 +14884,24 @@ "text": "TableGetResults", "canonicalReference": "cosmos-db-resource-manager!TableGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -14483,7 +14915,7 @@ "name": "TableResourcesCreateUpdateTableResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -14662,6 +15094,24 @@ "text": "ThroughputSettingsGetResults", "canonicalReference": "cosmos-db-resource-manager!ThroughputSettingsGetResults:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "cosmos-db-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "cosmos-db-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -14675,7 +15125,7 @@ "name": "TableResourcesUpdateTableThroughputResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { diff --git a/test/smoke/generated/cosmos-db-resource-manager/temp/cosmos-db-resource-manager.api.md b/test/smoke/generated/cosmos-db-resource-manager/temp/cosmos-db-resource-manager.api.md index 229d070639..a7d3f2cc36 100644 --- a/test/smoke/generated/cosmos-db-resource-manager/temp/cosmos-db-resource-manager.api.md +++ b/test/smoke/generated/cosmos-db-resource-manager/temp/cosmos-db-resource-manager.api.md @@ -6,6 +6,7 @@ import * as coreHttp from '@azure/core-http'; import { HttpMethods } from '@azure/core-http'; +import { HttpOperationResponse } from '@azure/core-http'; import { OperationArguments } from '@azure/core-http'; import { OperationSpec } from '@azure/core-http'; import { Poller } from '@azure/core-lro'; @@ -78,6 +79,7 @@ export type CassandraResourcesCreateUpdateCassandraKeyspaceResponse = CassandraK _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: CassandraKeyspaceGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -86,6 +88,7 @@ export type CassandraResourcesCreateUpdateCassandraTableResponse = CassandraTabl _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: CassandraTableGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -142,6 +145,7 @@ export type CassandraResourcesUpdateCassandraKeyspaceThroughputResponse = Throug _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ThroughputSettingsGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -150,6 +154,7 @@ export type CassandraResourcesUpdateCassandraTableThroughputResponse = Throughpu _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ThroughputSettingsGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -502,6 +507,7 @@ export type DatabaseAccountsCreateOrUpdateResponse = DatabaseAccountGetResults & _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DatabaseAccountGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -600,6 +606,7 @@ export type DatabaseAccountsUpdateResponse = DatabaseAccountGetResults & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DatabaseAccountGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -755,6 +762,7 @@ export type GremlinResourcesCreateUpdateGremlinDatabaseResponse = GremlinDatabas _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GremlinDatabaseGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -763,6 +771,7 @@ export type GremlinResourcesCreateUpdateGremlinGraphResponse = GremlinGraphGetRe _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GremlinGraphGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -819,6 +828,7 @@ export type GremlinResourcesUpdateGremlinDatabaseThroughputResponse = Throughput _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ThroughputSettingsGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -827,6 +837,7 @@ export type GremlinResourcesUpdateGremlinGraphThroughputResponse = ThroughputSet _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ThroughputSettingsGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -990,6 +1001,7 @@ export type MongoDBResourcesCreateUpdateMongoDBCollectionResponse = MongoDBColle _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: MongoDBCollectionGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -998,6 +1010,7 @@ export type MongoDBResourcesCreateUpdateMongoDBDatabaseResponse = MongoDBDatabas _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: MongoDBDatabaseGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1054,6 +1067,7 @@ export type MongoDBResourcesUpdateMongoDBCollectionThroughputResponse = Throughp _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ThroughputSettingsGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1062,6 +1076,7 @@ export type MongoDBResourcesUpdateMongoDBDatabaseThroughputResponse = Throughput _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ThroughputSettingsGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1110,6 +1125,7 @@ export type NotebookWorkspacesCreateOrUpdateResponse = NotebookWorkspace & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NotebookWorkspace; + [LROSYM]: LROResponseInfo; }; }; @@ -1296,6 +1312,7 @@ export type PrivateEndpointConnectionsCreateOrUpdateResponse = PrivateEndpointCo _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PrivateEndpointConnectionAutoGenerated; + [LROSYM]: LROResponseInfo; }; }; @@ -1464,6 +1481,7 @@ export type SqlResourcesCreateUpdateSqlContainerResponse = SqlContainerGetResult _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SqlContainerGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1472,6 +1490,7 @@ export type SqlResourcesCreateUpdateSqlDatabaseResponse = SqlDatabaseGetResults _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SqlDatabaseGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1480,6 +1499,7 @@ export type SqlResourcesCreateUpdateSqlStoredProcedureResponse = SqlStoredProced _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SqlStoredProcedureGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1488,6 +1508,7 @@ export type SqlResourcesCreateUpdateSqlTriggerResponse = SqlTriggerGetResults & _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SqlTriggerGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1496,6 +1517,7 @@ export type SqlResourcesCreateUpdateSqlUserDefinedFunctionResponse = SqlUserDefi _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SqlUserDefinedFunctionGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1600,6 +1622,7 @@ export type SqlResourcesUpdateSqlContainerThroughputResponse = ThroughputSetting _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ThroughputSettingsGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1608,6 +1631,7 @@ export type SqlResourcesUpdateSqlDatabaseThroughputResponse = ThroughputSettings _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ThroughputSettingsGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1721,6 +1745,7 @@ export type TableResourcesCreateUpdateTableResponse = TableGetResults & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: TableGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1753,6 +1778,7 @@ export type TableResourcesUpdateTableThroughputResponse = ThroughputSettingsGetR _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ThroughputSettingsGetResults; + [LROSYM]: LROResponseInfo; }; }; @@ -1823,6 +1849,10 @@ export interface VirtualNetworkRule { } +// Warnings were encountered during analysis: +// +// src/models/index.ts:3695:5 - (ae-forgotten-export) The symbol "LROResponseInfo" needs to be exported by the entry point index.d.ts + // (No @packageDocumentation comment for this package) ``` diff --git a/test/smoke/generated/keyvault-resource-manager/review/keyvault-resource-manager.api.md b/test/smoke/generated/keyvault-resource-manager/review/keyvault-resource-manager.api.md index b017a6c046..b04430893b 100644 --- a/test/smoke/generated/keyvault-resource-manager/review/keyvault-resource-manager.api.md +++ b/test/smoke/generated/keyvault-resource-manager/review/keyvault-resource-manager.api.md @@ -6,6 +6,7 @@ import * as coreHttp from '@azure/core-http'; import { HttpMethods } from '@azure/core-http'; +import { HttpOperationResponse } from '@azure/core-http'; import { OperationArguments } from '@azure/core-http'; import { OperationSpec } from '@azure/core-http'; import { Poller } from '@azure/core-lro'; @@ -221,6 +222,7 @@ export type PrivateEndpointConnectionsDeleteResponse = PrivateEndpointConnection _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PrivateEndpointConnection; + [LROSYM]: LROResponseInfo; }; }; @@ -422,6 +424,7 @@ export type VaultsCreateOrUpdateResponse = Vault & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Vault; + [LROSYM]: LROResponseInfo; }; }; @@ -557,6 +560,10 @@ export interface VirtualNetworkRule { } +// Warnings were encountered during analysis: +// +// src/models/index.ts:1270:5 - (ae-forgotten-export) The symbol "LROResponseInfo" needs to be exported by the entry point index.d.ts + // (No @packageDocumentation comment for this package) ``` diff --git a/test/smoke/generated/keyvault-resource-manager/src/lro/azureAsyncOperationStrategy.ts b/test/smoke/generated/keyvault-resource-manager/src/lro/azureAsyncOperationStrategy.ts index ecdc300c1f..f54ccc954f 100644 --- a/test/smoke/generated/keyvault-resource-manager/src/lro/azureAsyncOperationStrategy.ts +++ b/test/smoke/generated/keyvault-resource-manager/src/lro/azureAsyncOperationStrategy.ts @@ -11,9 +11,14 @@ import { BaseResult, LROOperationStep, LROResponseInfo, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; -import { OperationSpec, OperationArguments } from "@azure/core-http"; +import { + OperationSpec, + OperationArguments, + OperationResponse +} from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "."; @@ -22,7 +27,7 @@ export function createAzureAsyncOperationStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -35,7 +40,7 @@ export function createAzureAsyncOperationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); @@ -51,16 +56,16 @@ export function createAzureAsyncOperationStrategy( return terminalStates.includes(status.toLowerCase()); }, sendFinalRequest: async () => { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - if (!currentOperation.result._lroData) { + if (!currentOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - const initialOperationResult = initialOperation.result._lroData; - const currentOperationResult = currentOperation.result._lroData; + const initialOperationResult = initialOperation.result._response[LROSYM]; + const currentOperationResult = currentOperation.result._response[LROSYM]; if ( !shouldPerformFinalGet(initialOperationResult, currentOperationResult) @@ -68,7 +73,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.requestMethod === "PUT") { + if (initialOperationResult?.requestMethod === "PUT") { currentOperation = await sendFinalGet( initialOperation, sendOperationFn @@ -77,7 +82,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.location) { + if (initialOperationResult?.location) { switch (finalStateVia) { case "original-uri": currentOperation = await sendFinalGet( @@ -92,7 +97,7 @@ export function createAzureAsyncOperationStrategy( default: const location = initialOperationResult.location || - currentOperationResult.location; + currentOperationResult?.location; if (!location) { throw new Error("Couldn't determine final GET URL from location"); @@ -116,9 +121,11 @@ export function createAzureAsyncOperationStrategy( const pollingArgs = currentOperation.args; // Make sure we don't send any body to the get request - const { requestBody, ...restSpec } = currentOperation.spec; + const { requestBody, responses, ...restSpec } = currentOperation.spec; + const pollingSpec: OperationSpec = { ...restSpec, + responses: getCompositeMappers(responses), httpMethod: "GET", path: lastKnownPollingUrl }; @@ -127,8 +134,8 @@ export function createAzureAsyncOperationStrategy( // Update latest polling url lastKnownPollingUrl = - result._lroData?.azureAsyncOperation || - result._lroData?.operationLocation || + result._response[LROSYM]?.azureAsyncOperation || + result._response[LROSYM]?.operationLocation || lastKnownPollingUrl; // Update lastOperation result @@ -143,12 +150,47 @@ export function createAzureAsyncOperationStrategy( }; } +/** + * Polling calls will always return a status object i.e. {"status": "success"} + * these intermediate responses are not described in the swagger so we need to + * pass custom mappers at runtime. + * This function replaces all the existing mappers to be able to deserialize a status object + * @param responses Original set of responses defined in the operation + */ +function getCompositeMappers(responses: { + [responseCode: string]: OperationResponse; +}): { + [responseCode: string]: OperationResponse; +} { + return Object.keys(responses).reduce((acc, statusCode) => { + return { + ...acc, + [statusCode]: { + ...responses[statusCode], + bodyMapper: { + type: { + name: "Composite", + modelProperties: { + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } + } + } + }; + }, {} as { [responseCode: string]: OperationResponse }); +} + function shouldPerformFinalGet( - initialResult: LROResponseInfo, - currentResult: LROResponseInfo + initialResult?: LROResponseInfo, + currentResult?: LROResponseInfo ) { - const { status } = currentResult; - const { requestMethod: initialRequestMethod, location } = initialResult; + const { status } = currentResult || {}; + const { requestMethod: initialRequestMethod, location } = initialResult || {}; if (status && status.toLowerCase() !== "succeeded") { return false; } diff --git a/test/smoke/generated/keyvault-resource-manager/src/lro/bodyPollingStrategy.ts b/test/smoke/generated/keyvault-resource-manager/src/lro/bodyPollingStrategy.ts index 35cc6bac2a..c9404330ed 100644 --- a/test/smoke/generated/keyvault-resource-manager/src/lro/bodyPollingStrategy.ts +++ b/test/smoke/generated/keyvault-resource-manager/src/lro/bodyPollingStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { LROStrategy, BaseResult, LROOperationStep } from "./models"; +import { LROStrategy, BaseResult, LROOperationStep, LROSYM } from "./models"; import { OperationSpec } from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "./lroPoller"; @@ -19,7 +19,7 @@ export function createBodyPollingStrategy( initialOperation: LROOperationStep, sendOperation: SendOperationFn ): LROStrategy { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to be defined for BodyPolling strategy"); } @@ -27,7 +27,7 @@ export function createBodyPollingStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } diff --git a/test/smoke/generated/keyvault-resource-manager/src/lro/locationStrategy.ts b/test/smoke/generated/keyvault-resource-manager/src/lro/locationStrategy.ts index 1a5c8d462e..6a763e37ec 100644 --- a/test/smoke/generated/keyvault-resource-manager/src/lro/locationStrategy.ts +++ b/test/smoke/generated/keyvault-resource-manager/src/lro/locationStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationStep, LROStrategy } from "./models"; +import { BaseResult, LROOperationStep, LROStrategy, LROSYM } from "./models"; import { SendOperationFn } from "./lroPoller"; import { OperationSpec } from "@azure/core-http"; @@ -14,7 +14,7 @@ export function createLocationStrategy( initialOperation: LROOperationStep, sendOperationFn: SendOperationFn ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -26,7 +26,7 @@ export function createLocationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } @@ -59,7 +59,8 @@ export function createLocationStrategy( const result = await sendOperationFn(pollingArgs, pollingSpec); // Update latest polling url - lastKnownPollingUrl = result._lroData?.location || lastKnownPollingUrl; + lastKnownPollingUrl = + result._response[LROSYM]?.location || lastKnownPollingUrl; // Update lastOperation result currentOperation = { diff --git a/test/smoke/generated/keyvault-resource-manager/src/lro/lroPolicy.ts b/test/smoke/generated/keyvault-resource-manager/src/lro/lroPolicy.ts index 0591f541b3..4d18c3b7f0 100644 --- a/test/smoke/generated/keyvault-resource-manager/src/lro/lroPolicy.ts +++ b/test/smoke/generated/keyvault-resource-manager/src/lro/lroPolicy.ts @@ -13,6 +13,7 @@ import { HttpOperationResponse, WebResource } from "@azure/core-http"; +import { LROOperationResponse, LROSYM } from "./models"; import { getLROData } from "./requestUtils"; export function lroPolicy() { @@ -31,12 +32,12 @@ class LROPolicy extends BaseRequestPolicy { public async sendRequest( webResource: WebResource ): Promise { - let result = await this._nextPolicy.sendRequest(webResource); + let result: LROOperationResponse = await this._nextPolicy.sendRequest( + webResource + ); + const _lroData = getLROData(result); - if (webResource.shouldDeserialize !== undefined) { - const _lroData = getLROData(result); - result.parsedBody = { ...result.parsedBody, _lroData }; - } + result[LROSYM] = _lroData; return result; } diff --git a/test/smoke/generated/keyvault-resource-manager/src/lro/lroPoller.ts b/test/smoke/generated/keyvault-resource-manager/src/lro/lroPoller.ts index bc2f2aa05a..8c0406cf24 100644 --- a/test/smoke/generated/keyvault-resource-manager/src/lro/lroPoller.ts +++ b/test/smoke/generated/keyvault-resource-manager/src/lro/lroPoller.ts @@ -17,7 +17,8 @@ import { BaseResult, LROOperationState, LROOperationStep, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; import { makeOperation } from "./operation"; import { createBodyPollingStrategy } from "./bodyPollingStrategy"; @@ -122,7 +123,7 @@ function getPollingStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ) { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { const error = new RestError( diff --git a/test/smoke/generated/keyvault-resource-manager/src/lro/models.ts b/test/smoke/generated/keyvault-resource-manager/src/lro/models.ts index a90afc5b41..c4b96664f6 100644 --- a/test/smoke/generated/keyvault-resource-manager/src/lro/models.ts +++ b/test/smoke/generated/keyvault-resource-manager/src/lro/models.ts @@ -10,9 +10,11 @@ import { OperationArguments, OperationSpec, RestResponse, - HttpMethods + HttpMethods, + HttpOperationResponse } from "@azure/core-http"; import { PollOperationState, PollOperation } from "@azure/core-lro"; +export const LROSYM = Symbol("LROData"); export type FinalStateVia = | "azure-async-operation" @@ -30,8 +32,21 @@ export interface LROResponseInfo { status?: string; } +/** + * Extended operation response for LROs + */ +export type LROOperationResponse = HttpOperationResponse & { + /** + * Symbol that contains LRO details + */ + [LROSYM]?: LROResponseInfo; +}; + export interface BaseResult extends RestResponse { - _lroData?: LROResponseInfo; + /** + * The underlying HTTP response containing both raw and deserialized response data. + */ + _response: LROOperationResponse; } export interface LROOperationStep { diff --git a/test/smoke/generated/keyvault-resource-manager/src/lro/operation.ts b/test/smoke/generated/keyvault-resource-manager/src/lro/operation.ts index 9cda560a02..0860f07df0 100644 --- a/test/smoke/generated/keyvault-resource-manager/src/lro/operation.ts +++ b/test/smoke/generated/keyvault-resource-manager/src/lro/operation.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationState, LROOperation } from "./models"; +import { BaseResult, LROOperationState, LROOperation, LROSYM } from "./models"; /** * Creates a copy of the operation from a given State @@ -46,7 +46,7 @@ async function update( const { sendFinalRequest, poll, isTerminal } = state.pollingStrategy; const currentResponse = state.lastOperation; - const currentLroData = currentResponse.result._lroData; + const currentLroData = currentResponse.result._response[LROSYM]; if (!currentLroData) { throw new Error( diff --git a/test/smoke/generated/keyvault-resource-manager/src/models/index.ts b/test/smoke/generated/keyvault-resource-manager/src/models/index.ts index 19292b5c77..c20d32ff8e 100644 --- a/test/smoke/generated/keyvault-resource-manager/src/models/index.ts +++ b/test/smoke/generated/keyvault-resource-manager/src/models/index.ts @@ -7,6 +7,7 @@ */ import * as coreHttp from "@azure/core-http"; +import { LROSYM, LROResponseInfo } from "../lro/models"; /** * Parameters for creating or updating a vault @@ -869,6 +870,10 @@ export type VaultsCreateOrUpdateResponse = Vault & { * The response body as parsed JSON or XML */ parsedBody: Vault; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -1259,6 +1264,10 @@ export type PrivateEndpointConnectionsDeleteResponse = PrivateEndpointConnection * The response body as parsed JSON or XML */ parsedBody: PrivateEndpointConnection; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; diff --git a/test/smoke/generated/keyvault-resource-manager/temp/keyvault-resource-manager.api.json b/test/smoke/generated/keyvault-resource-manager/temp/keyvault-resource-manager.api.json index 17214a181a..f5d7109f2b 100644 --- a/test/smoke/generated/keyvault-resource-manager/temp/keyvault-resource-manager.api.json +++ b/test/smoke/generated/keyvault-resource-manager/temp/keyvault-resource-manager.api.json @@ -2432,6 +2432,24 @@ "text": "PrivateEndpointConnection", "canonicalReference": "keyvault-resource-manager!PrivateEndpointConnection:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "keyvault-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "keyvault-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -2445,7 +2463,7 @@ "name": "PrivateEndpointConnectionsDeleteResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -4754,6 +4772,24 @@ "text": "Vault", "canonicalReference": "keyvault-resource-manager!Vault:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "keyvault-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "keyvault-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -4767,7 +4803,7 @@ "name": "VaultsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { diff --git a/test/smoke/generated/keyvault-resource-manager/temp/keyvault-resource-manager.api.md b/test/smoke/generated/keyvault-resource-manager/temp/keyvault-resource-manager.api.md index b017a6c046..b04430893b 100644 --- a/test/smoke/generated/keyvault-resource-manager/temp/keyvault-resource-manager.api.md +++ b/test/smoke/generated/keyvault-resource-manager/temp/keyvault-resource-manager.api.md @@ -6,6 +6,7 @@ import * as coreHttp from '@azure/core-http'; import { HttpMethods } from '@azure/core-http'; +import { HttpOperationResponse } from '@azure/core-http'; import { OperationArguments } from '@azure/core-http'; import { OperationSpec } from '@azure/core-http'; import { Poller } from '@azure/core-lro'; @@ -221,6 +222,7 @@ export type PrivateEndpointConnectionsDeleteResponse = PrivateEndpointConnection _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PrivateEndpointConnection; + [LROSYM]: LROResponseInfo; }; }; @@ -422,6 +424,7 @@ export type VaultsCreateOrUpdateResponse = Vault & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Vault; + [LROSYM]: LROResponseInfo; }; }; @@ -557,6 +560,10 @@ export interface VirtualNetworkRule { } +// Warnings were encountered during analysis: +// +// src/models/index.ts:1270:5 - (ae-forgotten-export) The symbol "LROResponseInfo" needs to be exported by the entry point index.d.ts + // (No @packageDocumentation comment for this package) ``` diff --git a/test/smoke/generated/network-resource-manager/review/network-resource-manager.api.md b/test/smoke/generated/network-resource-manager/review/network-resource-manager.api.md index aa2b2ae1ca..929c73611d 100644 --- a/test/smoke/generated/network-resource-manager/review/network-resource-manager.api.md +++ b/test/smoke/generated/network-resource-manager/review/network-resource-manager.api.md @@ -6,6 +6,7 @@ import * as coreHttp from '@azure/core-http'; import { HttpMethods } from '@azure/core-http'; +import { HttpOperationResponse } from '@azure/core-http'; import { OperationArguments } from '@azure/core-http'; import { OperationSpec } from '@azure/core-http'; import { Poller } from '@azure/core-lro'; @@ -413,6 +414,7 @@ export type ApplicationGatewaysBackendHealthOnDemandResponse = ApplicationGatewa _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ApplicationGatewayBackendHealthOnDemand; + [LROSYM]: LROResponseInfo; }; }; @@ -426,6 +428,7 @@ export type ApplicationGatewaysBackendHealthResponse = ApplicationGatewayBackend _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ApplicationGatewayBackendHealth; + [LROSYM]: LROResponseInfo; }; }; @@ -434,6 +437,7 @@ export type ApplicationGatewaysCreateOrUpdateResponse = ApplicationGateway & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ApplicationGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -678,6 +682,7 @@ export type ApplicationSecurityGroupsCreateOrUpdateResponse = ApplicationSecurit _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ApplicationSecurityGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -1135,6 +1140,7 @@ export type AzureFirewallsCreateOrUpdateResponse = AzureFirewall & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: AzureFirewall; + [LROSYM]: LROResponseInfo; }; }; @@ -1195,6 +1201,7 @@ export type AzureFirewallsUpdateTagsResponse = AzureFirewall & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: AzureFirewall; + [LROSYM]: LROResponseInfo; }; }; @@ -1304,6 +1311,7 @@ export type BastionHostsCreateOrUpdateResponse = BastionHost & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: BastionHost; + [LROSYM]: LROResponseInfo; }; }; @@ -1605,6 +1613,7 @@ export type ConnectionMonitorsCreateOrUpdateResponse = ConnectionMonitorResult & _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ConnectionMonitorResult; + [LROSYM]: LROResponseInfo; }; }; @@ -1638,6 +1647,7 @@ export type ConnectionMonitorsQueryResponse = ConnectionMonitorQueryResult & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ConnectionMonitorQueryResult; + [LROSYM]: LROResponseInfo; }; }; @@ -1819,6 +1829,7 @@ export type DdosCustomPoliciesCreateOrUpdateResponse = DdosCustomPolicy & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DdosCustomPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -1879,6 +1890,7 @@ export type DdosProtectionPlansCreateOrUpdateResponse = DdosProtectionPlan & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DdosProtectionPlan; + [LROSYM]: LROResponseInfo; }; }; @@ -2155,6 +2167,7 @@ export type ExpressRouteCircuitAuthorizationsCreateOrUpdateResponse = ExpressRou _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCircuitAuthorization; + [LROSYM]: LROResponseInfo; }; }; @@ -2207,6 +2220,7 @@ export type ExpressRouteCircuitConnectionsCreateOrUpdateResponse = ExpressRouteC _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCircuitConnection; + [LROSYM]: LROResponseInfo; }; }; @@ -2296,6 +2310,7 @@ export type ExpressRouteCircuitPeeringsCreateOrUpdateResponse = ExpressRouteCirc _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCircuitPeering; + [LROSYM]: LROResponseInfo; }; }; @@ -2360,6 +2375,7 @@ export type ExpressRouteCircuitsCreateOrUpdateResponse = ExpressRouteCircuit & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCircuit; + [LROSYM]: LROResponseInfo; }; }; @@ -2428,6 +2444,7 @@ export type ExpressRouteCircuitsListArpTableResponse = ExpressRouteCircuitsArpTa _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCircuitsArpTableListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -2452,6 +2469,7 @@ export type ExpressRouteCircuitsListRoutesTableResponse = ExpressRouteCircuitsRo _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCircuitsRoutesTableListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -2460,6 +2478,7 @@ export type ExpressRouteCircuitsListRoutesTableSummaryResponse = ExpressRouteCir _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCircuitsRoutesTableSummaryListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -2517,6 +2536,7 @@ export type ExpressRouteConnectionsCreateOrUpdateResponse = ExpressRouteConnecti _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteConnection; + [LROSYM]: LROResponseInfo; }; }; @@ -2589,6 +2609,7 @@ export type ExpressRouteCrossConnectionPeeringsCreateOrUpdateResponse = ExpressR _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCrossConnectionPeering; + [LROSYM]: LROResponseInfo; }; }; @@ -2629,6 +2650,7 @@ export type ExpressRouteCrossConnectionsCreateOrUpdateResponse = ExpressRouteCro _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCrossConnection; + [LROSYM]: LROResponseInfo; }; }; @@ -2645,6 +2667,7 @@ export type ExpressRouteCrossConnectionsListArpTableResponse = ExpressRouteCircu _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCircuitsArpTableListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -2685,6 +2708,7 @@ export type ExpressRouteCrossConnectionsListRoutesTableResponse = ExpressRouteCi _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCircuitsRoutesTableListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -2693,6 +2717,7 @@ export type ExpressRouteCrossConnectionsListRoutesTableSummaryResponse = Express _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCrossConnectionsRoutesTableSummaryListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -2740,6 +2765,7 @@ export type ExpressRouteGatewaysCreateOrUpdateResponse = ExpressRouteGateway & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -2861,6 +2887,7 @@ export type ExpressRoutePortsCreateOrUpdateResponse = ExpressRoutePort & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRoutePort; + [LROSYM]: LROResponseInfo; }; }; @@ -2999,6 +3026,7 @@ export type FirewallPoliciesCreateOrUpdateResponse = FirewallPolicy & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FirewallPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -3160,6 +3188,7 @@ export type FirewallPolicyRuleGroupsCreateOrUpdateResponse = FirewallPolicyRuleG _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FirewallPolicyRuleGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -3255,6 +3284,7 @@ export type FlowLogsCreateOrUpdateResponse = FlowLog & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FlowLog; + [LROSYM]: LROResponseInfo; }; }; @@ -3379,6 +3409,7 @@ export type HubRouteTablesCreateOrUpdateResponse = HubRouteTable & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: HubRouteTable; + [LROSYM]: LROResponseInfo; }; }; @@ -3494,6 +3525,7 @@ export type InboundNatRulesCreateOrUpdateResponse = InboundNatRule & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: InboundNatRule; + [LROSYM]: LROResponseInfo; }; }; @@ -3561,6 +3593,7 @@ export type IpAllocationsCreateOrUpdateResponse = IpAllocation & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: IpAllocation; + [LROSYM]: LROResponseInfo; }; }; @@ -3670,6 +3703,7 @@ export type IpGroupsCreateOrUpdateResponse = IpGroup & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: IpGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -3877,6 +3911,7 @@ export type LoadBalancerBackendAddressPoolsCreateOrUpdateResponse = BackendAddre _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: BackendAddressPool; + [LROSYM]: LROResponseInfo; }; }; @@ -4054,6 +4089,7 @@ export type LoadBalancersCreateOrUpdateResponse = LoadBalancer & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: LoadBalancer; + [LROSYM]: LROResponseInfo; }; }; @@ -4162,6 +4198,7 @@ export type LocalNetworkGatewaysCreateOrUpdateResponse = LocalNetworkGateway & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: LocalNetworkGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -4305,6 +4342,7 @@ export type NatGatewaysCreateOrUpdateResponse = NatGateway & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NatGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -4539,6 +4577,7 @@ export type NetworkInterfacesCreateOrUpdateResponse = NetworkInterface & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NetworkInterface; + [LROSYM]: LROResponseInfo; }; }; @@ -4547,6 +4586,7 @@ export type NetworkInterfacesGetEffectiveRouteTableResponse = EffectiveRouteList _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: EffectiveRouteListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -4610,6 +4650,7 @@ export type NetworkInterfacesListEffectiveNetworkSecurityGroupsResponse = Effect _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: EffectiveNetworkSecurityGroupListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -4715,6 +4756,7 @@ export type NetworkInterfaceTapConfigurationsCreateOrUpdateResponse = NetworkInt _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NetworkInterfaceTapConfiguration; + [LROSYM]: LROResponseInfo; }; }; @@ -5174,6 +5216,7 @@ export type NetworkManagementClientGeneratevirtualwanvpnserverconfigurationvpnpr _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnProfileResponse; + [LROSYM]: LROResponseInfo; }; }; @@ -5190,6 +5233,7 @@ export type NetworkManagementClientGetActiveSessionsResponse = BastionActiveSess _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: BastionActiveSessionListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -5228,6 +5272,7 @@ export type NetworkManagementClientPutBastionShareableLinkResponse = BastionShar _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: BastionShareableLinkListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -5357,6 +5402,7 @@ export type NetworkSecurityGroupsCreateOrUpdateResponse = NetworkSecurityGroup & _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NetworkSecurityGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -5447,6 +5493,7 @@ export type NetworkVirtualAppliancesCreateOrUpdateResponse = NetworkVirtualAppli _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NetworkVirtualAppliance; + [LROSYM]: LROResponseInfo; }; }; @@ -5519,6 +5566,7 @@ export type NetworkWatchersCheckConnectivityResponse = ConnectivityInformation & _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ConnectivityInformation; + [LROSYM]: LROResponseInfo; }; }; @@ -5535,6 +5583,7 @@ export type NetworkWatchersGetAzureReachabilityReportResponse = AzureReachabilit _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: AzureReachabilityReport; + [LROSYM]: LROResponseInfo; }; }; @@ -5543,6 +5592,7 @@ export type NetworkWatchersGetFlowLogStatusResponse = FlowLogInformation & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FlowLogInformation; + [LROSYM]: LROResponseInfo; }; }; @@ -5551,6 +5601,7 @@ export type NetworkWatchersGetNetworkConfigurationDiagnosticResponse = NetworkCo _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NetworkConfigurationDiagnosticResponse; + [LROSYM]: LROResponseInfo; }; }; @@ -5559,6 +5610,7 @@ export type NetworkWatchersGetNextHopResponse = NextHopResult & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NextHopResult; + [LROSYM]: LROResponseInfo; }; }; @@ -5583,6 +5635,7 @@ export type NetworkWatchersGetTroubleshootingResponse = TroubleshootingResult & _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: TroubleshootingResult; + [LROSYM]: LROResponseInfo; }; }; @@ -5591,6 +5644,7 @@ export type NetworkWatchersGetTroubleshootingResultResponse = TroubleshootingRes _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: TroubleshootingResult; + [LROSYM]: LROResponseInfo; }; }; @@ -5599,6 +5653,7 @@ export type NetworkWatchersGetVMSecurityRulesResponse = SecurityGroupViewResult _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SecurityGroupViewResult; + [LROSYM]: LROResponseInfo; }; }; @@ -5615,6 +5670,7 @@ export type NetworkWatchersListAvailableProvidersResponse = AvailableProvidersLi _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: AvailableProvidersList; + [LROSYM]: LROResponseInfo; }; }; @@ -5631,6 +5687,7 @@ export type NetworkWatchersSetFlowLogConfigurationResponse = FlowLogInformation _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FlowLogInformation; + [LROSYM]: LROResponseInfo; }; }; @@ -5647,6 +5704,7 @@ export type NetworkWatchersVerifyIPFlowResponse = VerificationIPFlowResult & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VerificationIPFlowResult; + [LROSYM]: LROResponseInfo; }; }; @@ -5789,6 +5847,7 @@ export type P2SVpnGatewaysCreateOrUpdateResponse = P2SVpnGateway & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: P2SVpnGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -5797,6 +5856,7 @@ export type P2SVpnGatewaysGenerateVpnProfileResponse = VpnProfileResponse & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnProfileResponse; + [LROSYM]: LROResponseInfo; }; }; @@ -5805,6 +5865,7 @@ export type P2SVpnGatewaysGetP2SVpnConnectionHealthDetailedResponse = P2SVpnConn _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: P2SVpnConnectionHealth; + [LROSYM]: LROResponseInfo; }; }; @@ -5813,6 +5874,7 @@ export type P2SVpnGatewaysGetP2SVpnConnectionHealthResponse = P2SVpnGateway & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: P2SVpnGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -5937,6 +5999,7 @@ export type PacketCapturesCreateResponse = PacketCaptureResult & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PacketCaptureResult; + [LROSYM]: LROResponseInfo; }; }; @@ -5953,6 +6016,7 @@ export type PacketCapturesGetStatusResponse = PacketCaptureQueryStatusResult & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PacketCaptureQueryStatusResult; + [LROSYM]: LROResponseInfo; }; }; @@ -6095,6 +6159,7 @@ export type PrivateDnsZoneGroupsCreateOrUpdateResponse = PrivateDnsZoneGroup & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PrivateDnsZoneGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -6161,6 +6226,7 @@ export type PrivateEndpointsCreateOrUpdateResponse = PrivateEndpoint & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PrivateEndpoint; + [LROSYM]: LROResponseInfo; }; }; @@ -6289,6 +6355,7 @@ export type PrivateLinkServicesCreateOrUpdateResponse = PrivateLinkService & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PrivateLinkService; + [LROSYM]: LROResponseInfo; }; }; @@ -6486,6 +6553,7 @@ export type PublicIPAddressesCreateOrUpdateResponse = PublicIPAddress & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PublicIPAddress; + [LROSYM]: LROResponseInfo; }; }; @@ -6621,6 +6689,7 @@ export type PublicIPPrefixesCreateOrUpdateResponse = PublicIPPrefix & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PublicIPPrefix; + [LROSYM]: LROResponseInfo; }; }; @@ -6814,6 +6883,7 @@ export type RouteFilterRulesCreateOrUpdateResponse = RouteFilterRule & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: RouteFilterRule; + [LROSYM]: LROResponseInfo; }; }; @@ -6849,6 +6919,7 @@ export type RouteFiltersCreateOrUpdateResponse = RouteFilter & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: RouteFilter; + [LROSYM]: LROResponseInfo; }; }; @@ -6919,6 +6990,7 @@ export type RoutesCreateOrUpdateResponse = Route & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Route; + [LROSYM]: LROResponseInfo; }; }; @@ -6966,6 +7038,7 @@ export type RouteTablesCreateOrUpdateResponse = RouteTable & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: RouteTable; + [LROSYM]: LROResponseInfo; }; }; @@ -7068,6 +7141,7 @@ export type SecurityPartnerProvidersCreateOrUpdateResponse = SecurityPartnerProv _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SecurityPartnerProvider; + [LROSYM]: LROResponseInfo; }; }; @@ -7172,6 +7246,7 @@ export type SecurityRulesCreateOrUpdateResponse = SecurityRule & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SecurityRule; + [LROSYM]: LROResponseInfo; }; }; @@ -7230,6 +7305,7 @@ export type ServiceEndpointPoliciesCreateOrUpdateResponse = ServiceEndpointPolic _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ServiceEndpointPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -7316,6 +7392,7 @@ export type ServiceEndpointPolicyDefinitionsCreateOrUpdateResponse = ServiceEndp _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ServiceEndpointPolicyDefinition; + [LROSYM]: LROResponseInfo; }; }; @@ -7448,6 +7525,7 @@ export type SubnetsCreateOrUpdateResponse = Subnet & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Subnet; + [LROSYM]: LROResponseInfo; }; }; @@ -7717,6 +7795,7 @@ export type VirtualHubRouteTableV2SCreateOrUpdateResponse = VirtualHubRouteTable _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualHubRouteTableV2; + [LROSYM]: LROResponseInfo; }; }; @@ -7757,6 +7836,7 @@ export type VirtualHubsCreateOrUpdateResponse = VirtualHub & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualHub; + [LROSYM]: LROResponseInfo; }; }; @@ -7922,6 +8002,7 @@ export type VirtualNetworkGatewayConnectionsCreateOrUpdateResponse = VirtualNetw _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualNetworkGatewayConnection; + [LROSYM]: LROResponseInfo; }; }; @@ -7962,6 +8043,7 @@ export type VirtualNetworkGatewayConnectionsResetSharedKeyResponse = ConnectionR _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ConnectionResetSharedKey; + [LROSYM]: LROResponseInfo; }; }; @@ -7970,6 +8052,7 @@ export type VirtualNetworkGatewayConnectionsSetSharedKeyResponse = ConnectionSha _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ConnectionSharedKey; + [LROSYM]: LROResponseInfo; }; }; @@ -7984,6 +8067,7 @@ export type VirtualNetworkGatewayConnectionsStartPacketCaptureResponse = { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: string; + [LROSYM]: LROResponseInfo; }; }; @@ -7993,6 +8077,7 @@ export type VirtualNetworkGatewayConnectionsStopPacketCaptureResponse = { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: string; + [LROSYM]: LROResponseInfo; }; }; @@ -8004,6 +8089,7 @@ export type VirtualNetworkGatewayConnectionsUpdateTagsResponse = VirtualNetworkG _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualNetworkGatewayConnection; + [LROSYM]: LROResponseInfo; }; }; @@ -8038,6 +8124,7 @@ export type VirtualNetworkGatewaysCreateOrUpdateResponse = VirtualNetworkGateway _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualNetworkGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -8047,6 +8134,7 @@ export type VirtualNetworkGatewaysGeneratevpnclientpackageResponse = { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: string; + [LROSYM]: LROResponseInfo; }; }; @@ -8056,6 +8144,7 @@ export type VirtualNetworkGatewaysGenerateVpnProfileResponse = { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: string; + [LROSYM]: LROResponseInfo; }; }; @@ -8064,6 +8153,7 @@ export type VirtualNetworkGatewaysGetAdvertisedRoutesResponse = GatewayRouteList _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GatewayRouteListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -8077,6 +8167,7 @@ export type VirtualNetworkGatewaysGetBgpPeerStatusResponse = BgpPeerStatusListRe _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: BgpPeerStatusListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -8085,6 +8176,7 @@ export type VirtualNetworkGatewaysGetLearnedRoutesResponse = GatewayRouteListRes _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GatewayRouteListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -8101,6 +8193,7 @@ export type VirtualNetworkGatewaysGetVpnclientConnectionHealthResponse = VpnClie _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnClientConnectionHealthDetailListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -8109,6 +8202,7 @@ export type VirtualNetworkGatewaysGetVpnclientIpsecParametersResponse = VpnClien _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnClientIPsecParameters; + [LROSYM]: LROResponseInfo; }; }; @@ -8118,6 +8212,7 @@ export type VirtualNetworkGatewaysGetVpnProfilePackageUrlResponse = { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: string; + [LROSYM]: LROResponseInfo; }; }; @@ -8176,6 +8271,7 @@ export type VirtualNetworkGatewaysResetResponse = VirtualNetworkGateway & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualNetworkGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -8184,6 +8280,7 @@ export type VirtualNetworkGatewaysSetVpnclientIpsecParametersResponse = VpnClien _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnClientIPsecParameters; + [LROSYM]: LROResponseInfo; }; }; @@ -8198,6 +8295,7 @@ export type VirtualNetworkGatewaysStartPacketCaptureResponse = { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: string; + [LROSYM]: LROResponseInfo; }; }; @@ -8207,6 +8305,7 @@ export type VirtualNetworkGatewaysStopPacketCaptureResponse = { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: string; + [LROSYM]: LROResponseInfo; }; }; @@ -8224,6 +8323,7 @@ export type VirtualNetworkGatewaysUpdateTagsResponse = VirtualNetworkGateway & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualNetworkGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -8276,6 +8376,7 @@ export type VirtualNetworkPeeringsCreateOrUpdateResponse = VirtualNetworkPeering _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualNetworkPeering; + [LROSYM]: LROResponseInfo; }; }; @@ -8319,6 +8420,7 @@ export type VirtualNetworksCreateOrUpdateResponse = VirtualNetwork & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualNetwork; + [LROSYM]: LROResponseInfo; }; }; @@ -8413,6 +8515,7 @@ export type VirtualNetworkTapsCreateOrUpdateResponse = VirtualNetworkTap & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualNetworkTap; + [LROSYM]: LROResponseInfo; }; }; @@ -8517,6 +8620,7 @@ export type VirtualRouterPeeringsCreateOrUpdateResponse = VirtualRouterPeering & _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualRouterPeering; + [LROSYM]: LROResponseInfo; }; }; @@ -8549,6 +8653,7 @@ export type VirtualRoutersCreateOrUpdateResponse = VirtualRouter & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualRouter; + [LROSYM]: LROResponseInfo; }; }; @@ -8615,6 +8720,7 @@ export type VirtualWansCreateOrUpdateResponse = VirtualWAN & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualWAN; + [LROSYM]: LROResponseInfo; }; }; @@ -8810,6 +8916,7 @@ export type VpnConnectionsCreateOrUpdateResponse = VpnConnection & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnConnection; + [LROSYM]: LROResponseInfo; }; }; @@ -8865,6 +8972,7 @@ export type VpnGatewaysCreateOrUpdateResponse = VpnGateway & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -8913,6 +9021,7 @@ export type VpnGatewaysResetResponse = VpnGateway & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -9007,6 +9116,7 @@ export type VpnServerConfigurationsAssociatedWithVirtualWanListResponse = VpnSer _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnServerConfigurationsResponse; + [LROSYM]: LROResponseInfo; }; }; @@ -9015,6 +9125,7 @@ export type VpnServerConfigurationsCreateOrUpdateResponse = VpnServerConfigurati _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnServerConfiguration; + [LROSYM]: LROResponseInfo; }; }; @@ -9172,6 +9283,7 @@ export type VpnSitesCreateOrUpdateResponse = VpnSite & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnSite; + [LROSYM]: LROResponseInfo; }; }; @@ -9328,6 +9440,10 @@ export type WebApplicationFirewallRuleType = "MatchRule" | "Invalid" | string; export type WebApplicationFirewallTransform = "Lowercase" | "Trim" | "UrlDecode" | "UrlEncode" | "RemoveNulls" | "HtmlEntityDecode" | string; +// Warnings were encountered during analysis: +// +// src/models/index.ts:13368:5 - (ae-forgotten-export) The symbol "LROResponseInfo" needs to be exported by the entry point index.d.ts + // (No @packageDocumentation comment for this package) ``` diff --git a/test/smoke/generated/network-resource-manager/src/lro/azureAsyncOperationStrategy.ts b/test/smoke/generated/network-resource-manager/src/lro/azureAsyncOperationStrategy.ts index ecdc300c1f..f54ccc954f 100644 --- a/test/smoke/generated/network-resource-manager/src/lro/azureAsyncOperationStrategy.ts +++ b/test/smoke/generated/network-resource-manager/src/lro/azureAsyncOperationStrategy.ts @@ -11,9 +11,14 @@ import { BaseResult, LROOperationStep, LROResponseInfo, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; -import { OperationSpec, OperationArguments } from "@azure/core-http"; +import { + OperationSpec, + OperationArguments, + OperationResponse +} from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "."; @@ -22,7 +27,7 @@ export function createAzureAsyncOperationStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -35,7 +40,7 @@ export function createAzureAsyncOperationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); @@ -51,16 +56,16 @@ export function createAzureAsyncOperationStrategy( return terminalStates.includes(status.toLowerCase()); }, sendFinalRequest: async () => { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - if (!currentOperation.result._lroData) { + if (!currentOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - const initialOperationResult = initialOperation.result._lroData; - const currentOperationResult = currentOperation.result._lroData; + const initialOperationResult = initialOperation.result._response[LROSYM]; + const currentOperationResult = currentOperation.result._response[LROSYM]; if ( !shouldPerformFinalGet(initialOperationResult, currentOperationResult) @@ -68,7 +73,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.requestMethod === "PUT") { + if (initialOperationResult?.requestMethod === "PUT") { currentOperation = await sendFinalGet( initialOperation, sendOperationFn @@ -77,7 +82,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.location) { + if (initialOperationResult?.location) { switch (finalStateVia) { case "original-uri": currentOperation = await sendFinalGet( @@ -92,7 +97,7 @@ export function createAzureAsyncOperationStrategy( default: const location = initialOperationResult.location || - currentOperationResult.location; + currentOperationResult?.location; if (!location) { throw new Error("Couldn't determine final GET URL from location"); @@ -116,9 +121,11 @@ export function createAzureAsyncOperationStrategy( const pollingArgs = currentOperation.args; // Make sure we don't send any body to the get request - const { requestBody, ...restSpec } = currentOperation.spec; + const { requestBody, responses, ...restSpec } = currentOperation.spec; + const pollingSpec: OperationSpec = { ...restSpec, + responses: getCompositeMappers(responses), httpMethod: "GET", path: lastKnownPollingUrl }; @@ -127,8 +134,8 @@ export function createAzureAsyncOperationStrategy( // Update latest polling url lastKnownPollingUrl = - result._lroData?.azureAsyncOperation || - result._lroData?.operationLocation || + result._response[LROSYM]?.azureAsyncOperation || + result._response[LROSYM]?.operationLocation || lastKnownPollingUrl; // Update lastOperation result @@ -143,12 +150,47 @@ export function createAzureAsyncOperationStrategy( }; } +/** + * Polling calls will always return a status object i.e. {"status": "success"} + * these intermediate responses are not described in the swagger so we need to + * pass custom mappers at runtime. + * This function replaces all the existing mappers to be able to deserialize a status object + * @param responses Original set of responses defined in the operation + */ +function getCompositeMappers(responses: { + [responseCode: string]: OperationResponse; +}): { + [responseCode: string]: OperationResponse; +} { + return Object.keys(responses).reduce((acc, statusCode) => { + return { + ...acc, + [statusCode]: { + ...responses[statusCode], + bodyMapper: { + type: { + name: "Composite", + modelProperties: { + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } + } + } + }; + }, {} as { [responseCode: string]: OperationResponse }); +} + function shouldPerformFinalGet( - initialResult: LROResponseInfo, - currentResult: LROResponseInfo + initialResult?: LROResponseInfo, + currentResult?: LROResponseInfo ) { - const { status } = currentResult; - const { requestMethod: initialRequestMethod, location } = initialResult; + const { status } = currentResult || {}; + const { requestMethod: initialRequestMethod, location } = initialResult || {}; if (status && status.toLowerCase() !== "succeeded") { return false; } diff --git a/test/smoke/generated/network-resource-manager/src/lro/bodyPollingStrategy.ts b/test/smoke/generated/network-resource-manager/src/lro/bodyPollingStrategy.ts index 35cc6bac2a..c9404330ed 100644 --- a/test/smoke/generated/network-resource-manager/src/lro/bodyPollingStrategy.ts +++ b/test/smoke/generated/network-resource-manager/src/lro/bodyPollingStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { LROStrategy, BaseResult, LROOperationStep } from "./models"; +import { LROStrategy, BaseResult, LROOperationStep, LROSYM } from "./models"; import { OperationSpec } from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "./lroPoller"; @@ -19,7 +19,7 @@ export function createBodyPollingStrategy( initialOperation: LROOperationStep, sendOperation: SendOperationFn ): LROStrategy { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to be defined for BodyPolling strategy"); } @@ -27,7 +27,7 @@ export function createBodyPollingStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } diff --git a/test/smoke/generated/network-resource-manager/src/lro/locationStrategy.ts b/test/smoke/generated/network-resource-manager/src/lro/locationStrategy.ts index 1a5c8d462e..6a763e37ec 100644 --- a/test/smoke/generated/network-resource-manager/src/lro/locationStrategy.ts +++ b/test/smoke/generated/network-resource-manager/src/lro/locationStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationStep, LROStrategy } from "./models"; +import { BaseResult, LROOperationStep, LROStrategy, LROSYM } from "./models"; import { SendOperationFn } from "./lroPoller"; import { OperationSpec } from "@azure/core-http"; @@ -14,7 +14,7 @@ export function createLocationStrategy( initialOperation: LROOperationStep, sendOperationFn: SendOperationFn ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -26,7 +26,7 @@ export function createLocationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } @@ -59,7 +59,8 @@ export function createLocationStrategy( const result = await sendOperationFn(pollingArgs, pollingSpec); // Update latest polling url - lastKnownPollingUrl = result._lroData?.location || lastKnownPollingUrl; + lastKnownPollingUrl = + result._response[LROSYM]?.location || lastKnownPollingUrl; // Update lastOperation result currentOperation = { diff --git a/test/smoke/generated/network-resource-manager/src/lro/lroPolicy.ts b/test/smoke/generated/network-resource-manager/src/lro/lroPolicy.ts index 0591f541b3..4d18c3b7f0 100644 --- a/test/smoke/generated/network-resource-manager/src/lro/lroPolicy.ts +++ b/test/smoke/generated/network-resource-manager/src/lro/lroPolicy.ts @@ -13,6 +13,7 @@ import { HttpOperationResponse, WebResource } from "@azure/core-http"; +import { LROOperationResponse, LROSYM } from "./models"; import { getLROData } from "./requestUtils"; export function lroPolicy() { @@ -31,12 +32,12 @@ class LROPolicy extends BaseRequestPolicy { public async sendRequest( webResource: WebResource ): Promise { - let result = await this._nextPolicy.sendRequest(webResource); + let result: LROOperationResponse = await this._nextPolicy.sendRequest( + webResource + ); + const _lroData = getLROData(result); - if (webResource.shouldDeserialize !== undefined) { - const _lroData = getLROData(result); - result.parsedBody = { ...result.parsedBody, _lroData }; - } + result[LROSYM] = _lroData; return result; } diff --git a/test/smoke/generated/network-resource-manager/src/lro/lroPoller.ts b/test/smoke/generated/network-resource-manager/src/lro/lroPoller.ts index bc2f2aa05a..8c0406cf24 100644 --- a/test/smoke/generated/network-resource-manager/src/lro/lroPoller.ts +++ b/test/smoke/generated/network-resource-manager/src/lro/lroPoller.ts @@ -17,7 +17,8 @@ import { BaseResult, LROOperationState, LROOperationStep, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; import { makeOperation } from "./operation"; import { createBodyPollingStrategy } from "./bodyPollingStrategy"; @@ -122,7 +123,7 @@ function getPollingStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ) { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { const error = new RestError( diff --git a/test/smoke/generated/network-resource-manager/src/lro/models.ts b/test/smoke/generated/network-resource-manager/src/lro/models.ts index a90afc5b41..c4b96664f6 100644 --- a/test/smoke/generated/network-resource-manager/src/lro/models.ts +++ b/test/smoke/generated/network-resource-manager/src/lro/models.ts @@ -10,9 +10,11 @@ import { OperationArguments, OperationSpec, RestResponse, - HttpMethods + HttpMethods, + HttpOperationResponse } from "@azure/core-http"; import { PollOperationState, PollOperation } from "@azure/core-lro"; +export const LROSYM = Symbol("LROData"); export type FinalStateVia = | "azure-async-operation" @@ -30,8 +32,21 @@ export interface LROResponseInfo { status?: string; } +/** + * Extended operation response for LROs + */ +export type LROOperationResponse = HttpOperationResponse & { + /** + * Symbol that contains LRO details + */ + [LROSYM]?: LROResponseInfo; +}; + export interface BaseResult extends RestResponse { - _lroData?: LROResponseInfo; + /** + * The underlying HTTP response containing both raw and deserialized response data. + */ + _response: LROOperationResponse; } export interface LROOperationStep { diff --git a/test/smoke/generated/network-resource-manager/src/lro/operation.ts b/test/smoke/generated/network-resource-manager/src/lro/operation.ts index 9cda560a02..0860f07df0 100644 --- a/test/smoke/generated/network-resource-manager/src/lro/operation.ts +++ b/test/smoke/generated/network-resource-manager/src/lro/operation.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationState, LROOperation } from "./models"; +import { BaseResult, LROOperationState, LROOperation, LROSYM } from "./models"; /** * Creates a copy of the operation from a given State @@ -46,7 +46,7 @@ async function update( const { sendFinalRequest, poll, isTerminal } = state.pollingStrategy; const currentResponse = state.lastOperation; - const currentLroData = currentResponse.result._lroData; + const currentLroData = currentResponse.result._response[LROSYM]; if (!currentLroData) { throw new Error( diff --git a/test/smoke/generated/network-resource-manager/src/models/index.ts b/test/smoke/generated/network-resource-manager/src/models/index.ts index 3ad52eae75..d36425275b 100644 --- a/test/smoke/generated/network-resource-manager/src/models/index.ts +++ b/test/smoke/generated/network-resource-manager/src/models/index.ts @@ -7,6 +7,7 @@ */ import * as coreHttp from "@azure/core-http"; +import { LROSYM, LROResponseInfo } from "../lro/models"; export type FirewallPolicyRuleUnion = | FirewallPolicyNatRule @@ -13231,6 +13232,10 @@ export type ApplicationGatewaysCreateOrUpdateResponse = ApplicationGateway & { * The response body as parsed JSON or XML */ parsedBody: ApplicationGateway; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -13322,6 +13327,10 @@ export type ApplicationGatewaysBackendHealthResponse = ApplicationGatewayBackend * The response body as parsed JSON or XML */ parsedBody: ApplicationGatewayBackendHealth; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -13353,6 +13362,10 @@ export type ApplicationGatewaysBackendHealthOnDemandResponse = ApplicationGatewa * The response body as parsed JSON or XML */ parsedBody: ApplicationGatewayBackendHealthOnDemand; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -13608,6 +13621,10 @@ export type ApplicationSecurityGroupsCreateOrUpdateResponse = ApplicationSecurit * The response body as parsed JSON or XML */ parsedBody: ApplicationSecurityGroup; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -13908,6 +13925,10 @@ export type AzureFirewallsCreateOrUpdateResponse = AzureFirewall & { * The response body as parsed JSON or XML */ parsedBody: AzureFirewall; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -13928,6 +13949,10 @@ export type AzureFirewallsUpdateTagsResponse = AzureFirewall & { * The response body as parsed JSON or XML */ parsedBody: AzureFirewall; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -14088,6 +14113,10 @@ export type BastionHostsCreateOrUpdateResponse = BastionHost & { * The response body as parsed JSON or XML */ parsedBody: BastionHost; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -14188,6 +14217,10 @@ export type NetworkManagementClientPutBastionShareableLinkResponse = BastionShar * The response body as parsed JSON or XML */ parsedBody: BastionShareableLinkListResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -14228,6 +14261,10 @@ export type NetworkManagementClientGetActiveSessionsResponse = BastionActiveSess * The response body as parsed JSON or XML */ parsedBody: BastionActiveSessionListResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -14308,6 +14345,10 @@ export type NetworkManagementClientGeneratevirtualwanvpnserverconfigurationvpnpr * The response body as parsed JSON or XML */ parsedBody: VpnProfileResponse; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -14428,6 +14469,10 @@ export type DdosCustomPoliciesCreateOrUpdateResponse = DdosCustomPolicy & { * The response body as parsed JSON or XML */ parsedBody: DdosCustomPolicy; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -14488,6 +14533,10 @@ export type DdosProtectionPlansCreateOrUpdateResponse = DdosProtectionPlan & { * The response body as parsed JSON or XML */ parsedBody: DdosProtectionPlan; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -14668,6 +14717,10 @@ export type ExpressRouteCircuitAuthorizationsCreateOrUpdateResponse = ExpressRou * The response body as parsed JSON or XML */ parsedBody: ExpressRouteCircuitAuthorization; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -14748,6 +14801,10 @@ export type ExpressRouteCircuitPeeringsCreateOrUpdateResponse = ExpressRouteCirc * The response body as parsed JSON or XML */ parsedBody: ExpressRouteCircuitPeering; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -14828,6 +14885,10 @@ export type ExpressRouteCircuitConnectionsCreateOrUpdateResponse = ExpressRouteC * The response body as parsed JSON or XML */ parsedBody: ExpressRouteCircuitConnection; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -14968,6 +15029,10 @@ export type ExpressRouteCircuitsCreateOrUpdateResponse = ExpressRouteCircuit & { * The response body as parsed JSON or XML */ parsedBody: ExpressRouteCircuit; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -15008,6 +15073,10 @@ export type ExpressRouteCircuitsListArpTableResponse = ExpressRouteCircuitsArpTa * The response body as parsed JSON or XML */ parsedBody: ExpressRouteCircuitsArpTableListResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -15028,6 +15097,10 @@ export type ExpressRouteCircuitsListRoutesTableResponse = ExpressRouteCircuitsRo * The response body as parsed JSON or XML */ parsedBody: ExpressRouteCircuitsRoutesTableListResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -15048,6 +15121,10 @@ export type ExpressRouteCircuitsListRoutesTableSummaryResponse = ExpressRouteCir * The response body as parsed JSON or XML */ parsedBody: ExpressRouteCircuitsRoutesTableSummaryListResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -15288,6 +15365,10 @@ export type ExpressRouteCrossConnectionsCreateOrUpdateResponse = ExpressRouteCro * The response body as parsed JSON or XML */ parsedBody: ExpressRouteCrossConnection; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -15328,6 +15409,10 @@ export type ExpressRouteCrossConnectionsListArpTableResponse = ExpressRouteCircu * The response body as parsed JSON or XML */ parsedBody: ExpressRouteCircuitsArpTableListResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -15348,6 +15433,10 @@ export type ExpressRouteCrossConnectionsListRoutesTableSummaryResponse = Express * The response body as parsed JSON or XML */ parsedBody: ExpressRouteCrossConnectionsRoutesTableSummaryListResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -15368,6 +15457,10 @@ export type ExpressRouteCrossConnectionsListRoutesTableResponse = ExpressRouteCi * The response body as parsed JSON or XML */ parsedBody: ExpressRouteCircuitsRoutesTableListResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -15468,6 +15561,10 @@ export type ExpressRouteCrossConnectionPeeringsCreateOrUpdateResponse = ExpressR * The response body as parsed JSON or XML */ parsedBody: ExpressRouteCrossConnectionPeering; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -15588,6 +15685,10 @@ export type ExpressRoutePortsCreateOrUpdateResponse = ExpressRoutePort & { * The response body as parsed JSON or XML */ parsedBody: ExpressRoutePort; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -15799,6 +15900,10 @@ export type FirewallPoliciesCreateOrUpdateResponse = FirewallPolicy & { * The response body as parsed JSON or XML */ parsedBody: FirewallPolicy; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -15919,6 +16024,10 @@ export type FirewallPolicyRuleGroupsCreateOrUpdateResponse = FirewallPolicyRuleG * The response body as parsed JSON or XML */ parsedBody: FirewallPolicyRuleGroup; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -16010,6 +16119,10 @@ export type IpAllocationsCreateOrUpdateResponse = IpAllocation & { * The response body as parsed JSON or XML */ parsedBody: IpAllocation; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -16160,6 +16273,10 @@ export type IpGroupsCreateOrUpdateResponse = IpGroup & { * The response body as parsed JSON or XML */ parsedBody: IpGroup; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -16311,6 +16428,10 @@ export type LoadBalancersCreateOrUpdateResponse = LoadBalancer & { * The response body as parsed JSON or XML */ parsedBody: LoadBalancer; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -16471,6 +16592,10 @@ export type LoadBalancerBackendAddressPoolsCreateOrUpdateResponse = BackendAddre * The response body as parsed JSON or XML */ parsedBody: BackendAddressPool; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -16622,6 +16747,10 @@ export type InboundNatRulesCreateOrUpdateResponse = InboundNatRule & { * The response body as parsed JSON or XML */ parsedBody: InboundNatRule; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -16913,6 +17042,10 @@ export type NatGatewaysCreateOrUpdateResponse = NatGateway & { * The response body as parsed JSON or XML */ parsedBody: NatGateway; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -17064,6 +17197,10 @@ export type NetworkInterfacesCreateOrUpdateResponse = NetworkInterface & { * The response body as parsed JSON or XML */ parsedBody: NetworkInterface; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -17144,6 +17281,10 @@ export type NetworkInterfacesGetEffectiveRouteTableResponse = EffectiveRouteList * The response body as parsed JSON or XML */ parsedBody: EffectiveRouteListResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -17164,6 +17305,10 @@ export type NetworkInterfacesListEffectiveNetworkSecurityGroupsResponse = Effect * The response body as parsed JSON or XML */ parsedBody: EffectiveNetworkSecurityGroupListResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -17548,6 +17693,10 @@ export type NetworkInterfaceTapConfigurationsCreateOrUpdateResponse = NetworkInt * The response body as parsed JSON or XML */ parsedBody: NetworkInterfaceTapConfiguration; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -17790,6 +17939,10 @@ export type NetworkSecurityGroupsCreateOrUpdateResponse = NetworkSecurityGroup & * The response body as parsed JSON or XML */ parsedBody: NetworkSecurityGroup; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -17930,6 +18083,10 @@ export type SecurityRulesCreateOrUpdateResponse = SecurityRule & { * The response body as parsed JSON or XML */ parsedBody: SecurityRule; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -18101,6 +18258,10 @@ export type NetworkVirtualAppliancesCreateOrUpdateResponse = NetworkVirtualAppli * The response body as parsed JSON or XML */ parsedBody: NetworkVirtualAppliance; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -18321,6 +18482,10 @@ export type NetworkWatchersVerifyIPFlowResponse = VerificationIPFlowResult & { * The response body as parsed JSON or XML */ parsedBody: VerificationIPFlowResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -18341,6 +18506,10 @@ export type NetworkWatchersGetNextHopResponse = NextHopResult & { * The response body as parsed JSON or XML */ parsedBody: NextHopResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -18361,6 +18530,10 @@ export type NetworkWatchersGetVMSecurityRulesResponse = SecurityGroupViewResult * The response body as parsed JSON or XML */ parsedBody: SecurityGroupViewResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -18381,6 +18554,10 @@ export type NetworkWatchersGetTroubleshootingResponse = TroubleshootingResult & * The response body as parsed JSON or XML */ parsedBody: TroubleshootingResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -18401,6 +18578,10 @@ export type NetworkWatchersGetTroubleshootingResultResponse = TroubleshootingRes * The response body as parsed JSON or XML */ parsedBody: TroubleshootingResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -18421,6 +18602,10 @@ export type NetworkWatchersSetFlowLogConfigurationResponse = FlowLogInformation * The response body as parsed JSON or XML */ parsedBody: FlowLogInformation; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -18441,6 +18626,10 @@ export type NetworkWatchersGetFlowLogStatusResponse = FlowLogInformation & { * The response body as parsed JSON or XML */ parsedBody: FlowLogInformation; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -18461,6 +18650,10 @@ export type NetworkWatchersCheckConnectivityResponse = ConnectivityInformation & * The response body as parsed JSON or XML */ parsedBody: ConnectivityInformation; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -18481,6 +18674,10 @@ export type NetworkWatchersGetAzureReachabilityReportResponse = AzureReachabilit * The response body as parsed JSON or XML */ parsedBody: AzureReachabilityReport; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -18501,6 +18698,10 @@ export type NetworkWatchersListAvailableProvidersResponse = AvailableProvidersLi * The response body as parsed JSON or XML */ parsedBody: AvailableProvidersList; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -18521,6 +18722,10 @@ export type NetworkWatchersGetNetworkConfigurationDiagnosticResponse = NetworkCo * The response body as parsed JSON or XML */ parsedBody: NetworkConfigurationDiagnosticResponse; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -18541,6 +18746,10 @@ export type PacketCapturesCreateResponse = PacketCaptureResult & { * The response body as parsed JSON or XML */ parsedBody: PacketCaptureResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -18581,6 +18790,10 @@ export type PacketCapturesGetStatusResponse = PacketCaptureQueryStatusResult & { * The response body as parsed JSON or XML */ parsedBody: PacketCaptureQueryStatusResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -18621,6 +18834,10 @@ export type ConnectionMonitorsCreateOrUpdateResponse = ConnectionMonitorResult & * The response body as parsed JSON or XML */ parsedBody: ConnectionMonitorResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -18681,6 +18898,10 @@ export type ConnectionMonitorsQueryResponse = ConnectionMonitorQueryResult & { * The response body as parsed JSON or XML */ parsedBody: ConnectionMonitorQueryResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -18721,6 +18942,10 @@ export type FlowLogsCreateOrUpdateResponse = FlowLog & { * The response body as parsed JSON or XML */ parsedBody: FlowLog; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -18872,6 +19097,10 @@ export type PrivateEndpointsCreateOrUpdateResponse = PrivateEndpoint & { * The response body as parsed JSON or XML */ parsedBody: PrivateEndpoint; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -19072,6 +19301,10 @@ export type PrivateDnsZoneGroupsCreateOrUpdateResponse = PrivateDnsZoneGroup & { * The response body as parsed JSON or XML */ parsedBody: PrivateDnsZoneGroup; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -19163,6 +19396,10 @@ export type PrivateLinkServicesCreateOrUpdateResponse = PrivateLinkService & { * The response body as parsed JSON or XML */ parsedBody: PrivateLinkService; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -19505,6 +19742,10 @@ export type PublicIPAddressesCreateOrUpdateResponse = PublicIPAddress & { * The response body as parsed JSON or XML */ parsedBody: PublicIPAddress; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -19767,6 +20008,10 @@ export type PublicIPPrefixesCreateOrUpdateResponse = PublicIPPrefix & { * The response body as parsed JSON or XML */ parsedBody: PublicIPPrefix; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -19918,6 +20163,10 @@ export type RouteFiltersCreateOrUpdateResponse = RouteFilter & { * The response body as parsed JSON or XML */ parsedBody: RouteFilter; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -20058,6 +20307,10 @@ export type RouteFilterRulesCreateOrUpdateResponse = RouteFilterRule & { * The response body as parsed JSON or XML */ parsedBody: RouteFilterRule; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -20149,6 +20402,10 @@ export type RouteTablesCreateOrUpdateResponse = RouteTable & { * The response body as parsed JSON or XML */ parsedBody: RouteTable; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -20289,6 +20546,10 @@ export type RoutesCreateOrUpdateResponse = Route & { * The response body as parsed JSON or XML */ parsedBody: Route; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -20369,6 +20630,10 @@ export type SecurityPartnerProvidersCreateOrUpdateResponse = SecurityPartnerProv * The response body as parsed JSON or XML */ parsedBody: SecurityPartnerProvider; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -20560,6 +20825,10 @@ export type ServiceEndpointPoliciesCreateOrUpdateResponse = ServiceEndpointPolic * The response body as parsed JSON or XML */ parsedBody: ServiceEndpointPolicy; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -20700,6 +20969,10 @@ export type ServiceEndpointPolicyDefinitionsCreateOrUpdateResponse = ServiceEndp * The response body as parsed JSON or XML */ parsedBody: ServiceEndpointPolicyDefinition; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -20851,6 +21124,10 @@ export type VirtualNetworksCreateOrUpdateResponse = VirtualNetwork & { * The response body as parsed JSON or XML */ parsedBody: VirtualNetwork; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21061,6 +21338,10 @@ export type SubnetsCreateOrUpdateResponse = Subnet & { * The response body as parsed JSON or XML */ parsedBody: Subnet; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21181,6 +21462,10 @@ export type VirtualNetworkPeeringsCreateOrUpdateResponse = VirtualNetworkPeering * The response body as parsed JSON or XML */ parsedBody: VirtualNetworkPeering; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21241,6 +21526,10 @@ export type VirtualNetworkGatewaysCreateOrUpdateResponse = VirtualNetworkGateway * The response body as parsed JSON or XML */ parsedBody: VirtualNetworkGateway; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21281,6 +21570,10 @@ export type VirtualNetworkGatewaysUpdateTagsResponse = VirtualNetworkGateway & { * The response body as parsed JSON or XML */ parsedBody: VirtualNetworkGateway; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21352,6 +21645,10 @@ export type VirtualNetworkGatewaysResetResponse = VirtualNetworkGateway & { * The response body as parsed JSON or XML */ parsedBody: VirtualNetworkGateway; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21377,6 +21674,10 @@ export type VirtualNetworkGatewaysGeneratevpnclientpackageResponse = { * The response body as parsed JSON or XML */ parsedBody: string; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21402,6 +21703,10 @@ export type VirtualNetworkGatewaysGenerateVpnProfileResponse = { * The response body as parsed JSON or XML */ parsedBody: string; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21427,6 +21732,10 @@ export type VirtualNetworkGatewaysGetVpnProfilePackageUrlResponse = { * The response body as parsed JSON or XML */ parsedBody: string; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21458,6 +21767,10 @@ export type VirtualNetworkGatewaysGetBgpPeerStatusResponse = BgpPeerStatusListRe * The response body as parsed JSON or XML */ parsedBody: BgpPeerStatusListResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21503,6 +21816,10 @@ export type VirtualNetworkGatewaysGetLearnedRoutesResponse = GatewayRouteListRes * The response body as parsed JSON or XML */ parsedBody: GatewayRouteListResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21523,6 +21840,10 @@ export type VirtualNetworkGatewaysGetAdvertisedRoutesResponse = GatewayRouteList * The response body as parsed JSON or XML */ parsedBody: GatewayRouteListResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21543,6 +21864,10 @@ export type VirtualNetworkGatewaysSetVpnclientIpsecParametersResponse = VpnClien * The response body as parsed JSON or XML */ parsedBody: VpnClientIPsecParameters; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21563,6 +21888,10 @@ export type VirtualNetworkGatewaysGetVpnclientIpsecParametersResponse = VpnClien * The response body as parsed JSON or XML */ parsedBody: VpnClientIPsecParameters; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21624,6 +21953,10 @@ export type VirtualNetworkGatewaysStartPacketCaptureResponse = { * The response body as parsed JSON or XML */ parsedBody: string; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21649,6 +21982,10 @@ export type VirtualNetworkGatewaysStopPacketCaptureResponse = { * The response body as parsed JSON or XML */ parsedBody: string; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21669,6 +22006,10 @@ export type VirtualNetworkGatewaysGetVpnclientConnectionHealthResponse = VpnClie * The response body as parsed JSON or XML */ parsedBody: VpnClientConnectionHealthDetailListResult; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21729,6 +22070,10 @@ export type VirtualNetworkGatewayConnectionsCreateOrUpdateResponse = VirtualNetw * The response body as parsed JSON or XML */ parsedBody: VirtualNetworkGatewayConnection; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21769,6 +22114,10 @@ export type VirtualNetworkGatewayConnectionsUpdateTagsResponse = VirtualNetworkG * The response body as parsed JSON or XML */ parsedBody: VirtualNetworkGatewayConnection; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21789,6 +22138,10 @@ export type VirtualNetworkGatewayConnectionsSetSharedKeyResponse = ConnectionSha * The response body as parsed JSON or XML */ parsedBody: ConnectionSharedKey; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21849,6 +22202,10 @@ export type VirtualNetworkGatewayConnectionsResetSharedKeyResponse = ConnectionR * The response body as parsed JSON or XML */ parsedBody: ConnectionResetSharedKey; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21885,6 +22242,10 @@ export type VirtualNetworkGatewayConnectionsStartPacketCaptureResponse = { * The response body as parsed JSON or XML */ parsedBody: string; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21910,6 +22271,10 @@ export type VirtualNetworkGatewayConnectionsStopPacketCaptureResponse = { * The response body as parsed JSON or XML */ parsedBody: string; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -21950,6 +22315,10 @@ export type LocalNetworkGatewaysCreateOrUpdateResponse = LocalNetworkGateway & { * The response body as parsed JSON or XML */ parsedBody: LocalNetworkGateway; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -22070,6 +22439,10 @@ export type VirtualNetworkTapsCreateOrUpdateResponse = VirtualNetworkTap & { * The response body as parsed JSON or XML */ parsedBody: VirtualNetworkTap; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -22221,6 +22594,10 @@ export type VirtualRoutersCreateOrUpdateResponse = VirtualRouter & { * The response body as parsed JSON or XML */ parsedBody: VirtualRouter; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -22341,6 +22718,10 @@ export type VirtualRouterPeeringsCreateOrUpdateResponse = VirtualRouterPeering & * The response body as parsed JSON or XML */ parsedBody: VirtualRouterPeering; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -22421,6 +22802,10 @@ export type VirtualWansCreateOrUpdateResponse = VirtualWAN & { * The response body as parsed JSON or XML */ parsedBody: VirtualWAN; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -22561,6 +22946,10 @@ export type VpnSitesCreateOrUpdateResponse = VpnSite & { * The response body as parsed JSON or XML */ parsedBody: VpnSite; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -22761,6 +23150,10 @@ export type VpnServerConfigurationsCreateOrUpdateResponse = VpnServerConfigurati * The response body as parsed JSON or XML */ parsedBody: VpnServerConfiguration; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -22901,6 +23294,10 @@ export type VirtualHubsCreateOrUpdateResponse = VirtualHub & { * The response body as parsed JSON or XML */ parsedBody: VirtualHub; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -23101,6 +23498,10 @@ export type VpnGatewaysCreateOrUpdateResponse = VpnGateway & { * The response body as parsed JSON or XML */ parsedBody: VpnGateway; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -23141,6 +23542,10 @@ export type VpnGatewaysResetResponse = VpnGateway & { * The response body as parsed JSON or XML */ parsedBody: VpnGateway; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -23261,6 +23666,10 @@ export type VpnConnectionsCreateOrUpdateResponse = VpnConnection & { * The response body as parsed JSON or XML */ parsedBody: VpnConnection; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -23401,6 +23810,10 @@ export type P2SVpnGatewaysCreateOrUpdateResponse = P2SVpnGateway & { * The response body as parsed JSON or XML */ parsedBody: P2SVpnGateway; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -23481,6 +23894,10 @@ export type P2SVpnGatewaysGenerateVpnProfileResponse = VpnProfileResponse & { * The response body as parsed JSON or XML */ parsedBody: VpnProfileResponse; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -23501,6 +23918,10 @@ export type P2SVpnGatewaysGetP2SVpnConnectionHealthResponse = P2SVpnGateway & { * The response body as parsed JSON or XML */ parsedBody: P2SVpnGateway; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -23521,6 +23942,10 @@ export type P2SVpnGatewaysGetP2SVpnConnectionHealthDetailedResponse = P2SVpnConn * The response body as parsed JSON or XML */ parsedBody: P2SVpnConnectionHealth; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -23581,6 +24006,10 @@ export type VpnServerConfigurationsAssociatedWithVirtualWanListResponse = VpnSer * The response body as parsed JSON or XML */ parsedBody: VpnServerConfigurationsResponse; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -23621,6 +24050,10 @@ export type VirtualHubRouteTableV2SCreateOrUpdateResponse = VirtualHubRouteTable * The response body as parsed JSON or XML */ parsedBody: VirtualHubRouteTableV2; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -23721,6 +24154,10 @@ export type ExpressRouteGatewaysCreateOrUpdateResponse = ExpressRouteGateway & { * The response body as parsed JSON or XML */ parsedBody: ExpressRouteGateway; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -23761,6 +24198,10 @@ export type ExpressRouteConnectionsCreateOrUpdateResponse = ExpressRouteConnecti * The response body as parsed JSON or XML */ parsedBody: ExpressRouteConnection; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -23821,6 +24262,10 @@ export type HubRouteTablesCreateOrUpdateResponse = HubRouteTable & { * The response body as parsed JSON or XML */ parsedBody: HubRouteTable; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; diff --git a/test/smoke/generated/network-resource-manager/temp/network-resource-manager.api.json b/test/smoke/generated/network-resource-manager/temp/network-resource-manager.api.json index d71e356f1c..664c5c37a4 100644 --- a/test/smoke/generated/network-resource-manager/temp/network-resource-manager.api.json +++ b/test/smoke/generated/network-resource-manager/temp/network-resource-manager.api.json @@ -3455,6 +3455,24 @@ "text": "ApplicationGatewayBackendHealthOnDemand", "canonicalReference": "network-resource-manager!ApplicationGatewayBackendHealthOnDemand:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -3468,7 +3486,7 @@ "name": "ApplicationGatewaysBackendHealthOnDemandResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -3562,6 +3580,24 @@ "text": "ApplicationGatewayBackendHealth", "canonicalReference": "network-resource-manager!ApplicationGatewayBackendHealth:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -3575,7 +3611,7 @@ "name": "ApplicationGatewaysBackendHealthResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -3610,6 +3646,24 @@ "text": "ApplicationGateway", "canonicalReference": "network-resource-manager!ApplicationGateway:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -3623,7 +3677,7 @@ "name": "ApplicationGatewaysCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -5412,6 +5466,24 @@ "text": "ApplicationSecurityGroup", "canonicalReference": "network-resource-manager!ApplicationSecurityGroup:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -5425,7 +5497,7 @@ "name": "ApplicationSecurityGroupsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -9557,6 +9629,24 @@ "text": "AzureFirewall", "canonicalReference": "network-resource-manager!AzureFirewall:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -9570,7 +9660,7 @@ "name": "AzureFirewallsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -9963,6 +10053,24 @@ "text": "AzureFirewall", "canonicalReference": "network-resource-manager!AzureFirewall:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -9976,7 +10084,7 @@ "name": "AzureFirewallsUpdateTagsResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -11188,6 +11296,24 @@ "text": "BastionHost", "canonicalReference": "network-resource-manager!BastionHost:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -11201,7 +11327,7 @@ "name": "BastionHostsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -14893,6 +15019,24 @@ "text": "ConnectionMonitorResult", "canonicalReference": "network-resource-manager!ConnectionMonitorResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -14906,7 +15050,7 @@ "name": "ConnectionMonitorsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -15128,6 +15272,24 @@ "text": "ConnectionMonitorQueryResult", "canonicalReference": "network-resource-manager!ConnectionMonitorQueryResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -15141,7 +15303,7 @@ "name": "ConnectionMonitorsQueryResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -17332,6 +17494,24 @@ "text": "DdosCustomPolicy", "canonicalReference": "network-resource-manager!DdosCustomPolicy:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -17345,7 +17525,7 @@ "name": "DdosCustomPoliciesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -17901,6 +18081,24 @@ "text": "DdosProtectionPlan", "canonicalReference": "network-resource-manager!DdosProtectionPlan:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -17914,7 +18112,7 @@ "name": "DdosProtectionPlansCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -20632,6 +20830,24 @@ "text": "ExpressRouteCircuitAuthorization", "canonicalReference": "network-resource-manager!ExpressRouteCircuitAuthorization:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -20645,7 +20861,7 @@ "name": "ExpressRouteCircuitAuthorizationsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -20970,6 +21186,24 @@ "text": "ExpressRouteCircuitConnection", "canonicalReference": "network-resource-manager!ExpressRouteCircuitConnection:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -20983,7 +21217,7 @@ "name": "ExpressRouteCircuitConnectionsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -21657,6 +21891,24 @@ "text": "ExpressRouteCircuitPeering", "canonicalReference": "network-resource-manager!ExpressRouteCircuitPeering:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -21670,7 +21922,7 @@ "name": "ExpressRouteCircuitPeeringsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -22268,6 +22520,24 @@ "text": "ExpressRouteCircuit", "canonicalReference": "network-resource-manager!ExpressRouteCircuit:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -22281,7 +22551,7 @@ "name": "ExpressRouteCircuitsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -22790,6 +23060,24 @@ "text": "ExpressRouteCircuitsArpTableListResult", "canonicalReference": "network-resource-manager!ExpressRouteCircuitsArpTableListResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -22803,7 +23091,7 @@ "name": "ExpressRouteCircuitsListArpTableResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -22934,6 +23222,24 @@ "text": "ExpressRouteCircuitsRoutesTableListResult", "canonicalReference": "network-resource-manager!ExpressRouteCircuitsRoutesTableListResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -22947,7 +23253,7 @@ "name": "ExpressRouteCircuitsListRoutesTableResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -22982,6 +23288,24 @@ "text": "ExpressRouteCircuitsRoutesTableSummaryListResult", "canonicalReference": "network-resource-manager!ExpressRouteCircuitsRoutesTableSummaryListResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -22995,7 +23319,7 @@ "name": "ExpressRouteCircuitsListRoutesTableSummaryResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -23480,6 +23804,24 @@ "text": "ExpressRouteConnection", "canonicalReference": "network-resource-manager!ExpressRouteConnection:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -23493,7 +23835,7 @@ "name": "ExpressRouteConnectionsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -23907,6 +24249,24 @@ "text": "ExpressRouteCrossConnectionPeering", "canonicalReference": "network-resource-manager!ExpressRouteCrossConnectionPeering:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -23920,7 +24280,7 @@ "name": "ExpressRouteCrossConnectionPeeringsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -24215,6 +24575,24 @@ "text": "ExpressRouteCrossConnection", "canonicalReference": "network-resource-manager!ExpressRouteCrossConnection:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -24228,7 +24606,7 @@ "name": "ExpressRouteCrossConnectionsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -24311,6 +24689,24 @@ "text": "ExpressRouteCircuitsArpTableListResult", "canonicalReference": "network-resource-manager!ExpressRouteCircuitsArpTableListResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -24324,7 +24720,7 @@ "name": "ExpressRouteCrossConnectionsListArpTableResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -24551,6 +24947,24 @@ "text": "ExpressRouteCircuitsRoutesTableListResult", "canonicalReference": "network-resource-manager!ExpressRouteCircuitsRoutesTableListResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -24564,7 +24978,7 @@ "name": "ExpressRouteCrossConnectionsListRoutesTableResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -24599,6 +25013,24 @@ "text": "ExpressRouteCrossConnectionsRoutesTableSummaryListResult", "canonicalReference": "network-resource-manager!ExpressRouteCrossConnectionsRoutesTableSummaryListResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -24612,7 +25044,7 @@ "name": "ExpressRouteCrossConnectionsListRoutesTableSummaryResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -24986,6 +25418,24 @@ "text": "ExpressRouteGateway", "canonicalReference": "network-resource-manager!ExpressRouteGateway:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -24999,7 +25449,7 @@ "name": "ExpressRouteGatewaysCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -25822,6 +26272,24 @@ "text": "ExpressRoutePort", "canonicalReference": "network-resource-manager!ExpressRoutePort:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -25835,7 +26303,7 @@ "name": "ExpressRoutePortsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -26793,6 +27261,24 @@ "text": "FirewallPolicy", "canonicalReference": "network-resource-manager!FirewallPolicy:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -26806,7 +27292,7 @@ "name": "FirewallPoliciesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -28139,6 +28625,24 @@ "text": "FirewallPolicyRuleGroup", "canonicalReference": "network-resource-manager!FirewallPolicyRuleGroup:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -28152,7 +28656,7 @@ "name": "FirewallPolicyRuleGroupsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -29018,6 +29522,24 @@ "text": "FlowLog", "canonicalReference": "network-resource-manager!FlowLog:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -29031,7 +29553,7 @@ "name": "FlowLogsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -30165,6 +30687,24 @@ "text": "HubRouteTable", "canonicalReference": "network-resource-manager!HubRouteTable:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -30178,7 +30718,7 @@ "name": "HubRouteTablesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -30827,6 +31367,24 @@ "text": "InboundNatRule", "canonicalReference": "network-resource-manager!InboundNatRule:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -30840,7 +31398,7 @@ "name": "InboundNatRulesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -31306,6 +31864,24 @@ "text": "IpAllocation", "canonicalReference": "network-resource-manager!IpAllocation:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -31319,7 +31895,7 @@ "name": "IpAllocationsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -32100,6 +32676,24 @@ "text": "IpGroup", "canonicalReference": "network-resource-manager!IpGroup:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -32113,7 +32707,7 @@ "name": "IpGroupsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -34246,6 +34840,24 @@ "text": "BackendAddressPool", "canonicalReference": "network-resource-manager!BackendAddressPool:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -34259,7 +34871,7 @@ "name": "LoadBalancerBackendAddressPoolsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -35490,6 +36102,24 @@ "text": "LoadBalancer", "canonicalReference": "network-resource-manager!LoadBalancer:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -35503,7 +36133,7 @@ "name": "LoadBalancersCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -36189,6 +36819,24 @@ "text": "LocalNetworkGateway", "canonicalReference": "network-resource-manager!LocalNetworkGateway:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -36202,7 +36850,7 @@ "name": "LocalNetworkGatewaysCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -37788,6 +38436,24 @@ "text": "NatGateway", "canonicalReference": "network-resource-manager!NatGateway:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -37801,7 +38467,7 @@ "name": "NatGatewaysCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -39717,6 +40383,24 @@ "text": "NetworkInterface", "canonicalReference": "network-resource-manager!NetworkInterface:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -39730,7 +40414,7 @@ "name": "NetworkInterfacesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -39765,6 +40449,24 @@ "text": "EffectiveRouteListResult", "canonicalReference": "network-resource-manager!EffectiveRouteListResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -39778,7 +40480,7 @@ "name": "NetworkInterfacesGetEffectiveRouteTableResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -40230,6 +40932,24 @@ "text": "EffectiveNetworkSecurityGroupListResult", "canonicalReference": "network-resource-manager!EffectiveNetworkSecurityGroupListResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -40243,7 +40963,7 @@ "name": "NetworkInterfacesListEffectiveNetworkSecurityGroupsResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -40947,6 +41667,24 @@ "text": "NetworkInterfaceTapConfiguration", "canonicalReference": "network-resource-manager!NetworkInterfaceTapConfiguration:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -40960,7 +41698,7 @@ "name": "NetworkInterfaceTapConfigurationsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -45425,6 +46163,24 @@ "text": "VpnProfileResponse", "canonicalReference": "network-resource-manager!VpnProfileResponse:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -45438,7 +46194,7 @@ "name": "NetworkManagementClientGeneratevirtualwanvpnserverconfigurationvpnprofileResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -45521,6 +46277,24 @@ "text": "BastionActiveSessionListResult", "canonicalReference": "network-resource-manager!BastionActiveSessionListResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -45534,7 +46308,7 @@ "name": "NetworkManagementClientGetActiveSessionsResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -45797,6 +46571,24 @@ "text": "BastionShareableLinkListResult", "canonicalReference": "network-resource-manager!BastionShareableLinkListResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -45810,7 +46602,7 @@ "name": "NetworkManagementClientPutBastionShareableLinkResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -46707,6 +47499,24 @@ "text": "NetworkSecurityGroup", "canonicalReference": "network-resource-manager!NetworkSecurityGroup:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -46720,7 +47530,7 @@ "name": "NetworkSecurityGroupsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -47414,6 +48224,24 @@ "text": "NetworkVirtualAppliance", "canonicalReference": "network-resource-manager!NetworkVirtualAppliance:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -47427,7 +48255,7 @@ "name": "NetworkVirtualAppliancesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -47894,6 +48722,24 @@ "text": "ConnectivityInformation", "canonicalReference": "network-resource-manager!ConnectivityInformation:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -47907,7 +48753,7 @@ "name": "NetworkWatchersCheckConnectivityResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -47990,6 +48836,24 @@ "text": "AzureReachabilityReport", "canonicalReference": "network-resource-manager!AzureReachabilityReport:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -48003,7 +48867,7 @@ "name": "NetworkWatchersGetAzureReachabilityReportResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -48038,6 +48902,24 @@ "text": "FlowLogInformation", "canonicalReference": "network-resource-manager!FlowLogInformation:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -48051,7 +48933,7 @@ "name": "NetworkWatchersGetFlowLogStatusResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -48086,6 +48968,24 @@ "text": "NetworkConfigurationDiagnosticResponse", "canonicalReference": "network-resource-manager!NetworkConfigurationDiagnosticResponse:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -48099,7 +48999,7 @@ "name": "NetworkWatchersGetNetworkConfigurationDiagnosticResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -48134,6 +49034,24 @@ "text": "NextHopResult", "canonicalReference": "network-resource-manager!NextHopResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -48147,7 +49065,7 @@ "name": "NetworkWatchersGetNextHopResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -48278,6 +49196,24 @@ "text": "TroubleshootingResult", "canonicalReference": "network-resource-manager!TroubleshootingResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -48291,7 +49227,7 @@ "name": "NetworkWatchersGetTroubleshootingResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -48326,6 +49262,24 @@ "text": "TroubleshootingResult", "canonicalReference": "network-resource-manager!TroubleshootingResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -48339,7 +49293,7 @@ "name": "NetworkWatchersGetTroubleshootingResultResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -48374,6 +49328,24 @@ "text": "SecurityGroupViewResult", "canonicalReference": "network-resource-manager!SecurityGroupViewResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -48387,7 +49359,7 @@ "name": "NetworkWatchersGetVMSecurityRulesResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -48470,6 +49442,24 @@ "text": "AvailableProvidersList", "canonicalReference": "network-resource-manager!AvailableProvidersList:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -48483,7 +49473,7 @@ "name": "NetworkWatchersListAvailableProvidersResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -48566,6 +49556,24 @@ "text": "FlowLogInformation", "canonicalReference": "network-resource-manager!FlowLogInformation:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -48579,7 +49587,7 @@ "name": "NetworkWatchersSetFlowLogConfigurationResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -48662,6 +49670,24 @@ "text": "VerificationIPFlowResult", "canonicalReference": "network-resource-manager!VerificationIPFlowResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -48675,7 +49701,7 @@ "name": "NetworkWatchersVerifyIPFlowResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -49984,6 +51010,24 @@ "text": "P2SVpnGateway", "canonicalReference": "network-resource-manager!P2SVpnGateway:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -49997,7 +51041,7 @@ "name": "P2SVpnGatewaysCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -50032,6 +51076,24 @@ "text": "VpnProfileResponse", "canonicalReference": "network-resource-manager!VpnProfileResponse:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -50045,7 +51107,7 @@ "name": "P2SVpnGatewaysGenerateVpnProfileResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -50080,6 +51142,24 @@ "text": "P2SVpnConnectionHealth", "canonicalReference": "network-resource-manager!P2SVpnConnectionHealth:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -50093,7 +51173,7 @@ "name": "P2SVpnGatewaysGetP2SVpnConnectionHealthDetailedResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -50128,6 +51208,24 @@ "text": "P2SVpnGateway", "canonicalReference": "network-resource-manager!P2SVpnGateway:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -50141,7 +51239,7 @@ "name": "P2SVpnGatewaysGetP2SVpnConnectionHealthResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -51523,6 +52621,24 @@ "text": "PacketCaptureResult", "canonicalReference": "network-resource-manager!PacketCaptureResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -51536,7 +52652,7 @@ "name": "PacketCapturesCreateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -51619,6 +52735,24 @@ "text": "PacketCaptureQueryStatusResult", "canonicalReference": "network-resource-manager!PacketCaptureQueryStatusResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -51632,7 +52766,7 @@ "name": "PacketCapturesGetStatusResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -52764,6 +53898,24 @@ "text": "PrivateDnsZoneGroup", "canonicalReference": "network-resource-manager!PrivateDnsZoneGroup:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -52777,7 +53929,7 @@ "name": "PrivateDnsZoneGroupsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -53239,6 +54391,24 @@ "text": "PrivateEndpoint", "canonicalReference": "network-resource-manager!PrivateEndpoint:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -53252,7 +54422,7 @@ "name": "PrivateEndpointsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -54111,6 +55281,24 @@ "text": "PrivateLinkService", "canonicalReference": "network-resource-manager!PrivateLinkService:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -54124,7 +55312,7 @@ "name": "PrivateLinkServicesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -55532,6 +56720,24 @@ "text": "PublicIPAddress", "canonicalReference": "network-resource-manager!PublicIPAddress:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -55545,7 +56751,7 @@ "name": "PublicIPAddressesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -56448,6 +57654,24 @@ "text": "PublicIPPrefix", "canonicalReference": "network-resource-manager!PublicIPPrefix:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -56461,7 +57685,7 @@ "name": "PublicIPPrefixesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -58065,6 +59289,24 @@ "text": "RouteFilterRule", "canonicalReference": "network-resource-manager!RouteFilterRule:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -58078,7 +59320,7 @@ "name": "RouteFilterRulesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -58282,6 +59524,24 @@ "text": "RouteFilter", "canonicalReference": "network-resource-manager!RouteFilter:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -58295,7 +59555,7 @@ "name": "RouteFiltersCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -58773,6 +60033,24 @@ "text": "Route", "canonicalReference": "network-resource-manager!Route:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -58786,7 +60064,7 @@ "name": "RoutesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -59093,6 +60371,24 @@ "text": "RouteTable", "canonicalReference": "network-resource-manager!RouteTable:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -59106,7 +60402,7 @@ "name": "RouteTablesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -59898,6 +61194,24 @@ "text": "SecurityPartnerProvider", "canonicalReference": "network-resource-manager!SecurityPartnerProvider:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -59911,7 +61225,7 @@ "name": "SecurityPartnerProvidersCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -60617,6 +61931,24 @@ "text": "SecurityRule", "canonicalReference": "network-resource-manager!SecurityRule:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -60630,7 +61962,7 @@ "name": "SecurityRulesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -60967,6 +62299,24 @@ "text": "ServiceEndpointPolicy", "canonicalReference": "network-resource-manager!ServiceEndpointPolicy:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -60980,7 +62330,7 @@ "name": "ServiceEndpointPoliciesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -61529,6 +62879,24 @@ "text": "ServiceEndpointPolicyDefinition", "canonicalReference": "network-resource-manager!ServiceEndpointPolicyDefinition:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -61542,7 +62910,7 @@ "name": "ServiceEndpointPolicyDefinitionsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -62782,6 +64150,24 @@ "text": "Subnet", "canonicalReference": "network-resource-manager!Subnet:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -62795,7 +64181,7 @@ "name": "SubnetsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -65716,6 +67102,24 @@ "text": "VirtualHubRouteTableV2", "canonicalReference": "network-resource-manager!VirtualHubRouteTableV2:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -65729,7 +67133,7 @@ "name": "VirtualHubRouteTableV2SCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -66024,6 +67428,24 @@ "text": "VirtualHub", "canonicalReference": "network-resource-manager!VirtualHub:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -66037,7 +67459,7 @@ "name": "VirtualHubsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -67043,6 +68465,24 @@ "text": "VirtualNetworkGatewayConnection", "canonicalReference": "network-resource-manager!VirtualNetworkGatewayConnection:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -67056,7 +68496,7 @@ "name": "VirtualNetworkGatewayConnectionsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -67283,6 +68723,24 @@ "text": "ConnectionResetSharedKey", "canonicalReference": "network-resource-manager!ConnectionResetSharedKey:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -67296,7 +68754,7 @@ "name": "VirtualNetworkGatewayConnectionsResetSharedKeyResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -67331,6 +68789,24 @@ "text": "ConnectionSharedKey", "canonicalReference": "network-resource-manager!ConnectionSharedKey:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -67344,7 +68820,7 @@ "name": "VirtualNetworkGatewayConnectionsSetSharedKeyResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -67427,7 +68903,25 @@ }, { "kind": "Content", - "text": " & {\n bodyAsText: string;\n parsedBody: string;\n };\n}" + "text": " & {\n bodyAsText: string;\n parsedBody: string;\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, + { + "kind": "Content", + "text": ";\n };\n}" }, { "kind": "Content", @@ -67438,7 +68932,7 @@ "name": "VirtualNetworkGatewayConnectionsStartPacketCaptureResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 4 + "endIndex": 8 } }, { @@ -67461,7 +68955,25 @@ }, { "kind": "Content", - "text": " & {\n bodyAsText: string;\n parsedBody: string;\n };\n}" + "text": " & {\n bodyAsText: string;\n parsedBody: string;\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, + { + "kind": "Content", + "text": ";\n };\n}" }, { "kind": "Content", @@ -67472,7 +68984,7 @@ "name": "VirtualNetworkGatewayConnectionsStopPacketCaptureResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 4 + "endIndex": 8 } }, { @@ -67532,6 +69044,24 @@ "text": "VirtualNetworkGatewayConnection", "canonicalReference": "network-resource-manager!VirtualNetworkGatewayConnection:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -67545,7 +69075,7 @@ "name": "VirtualNetworkGatewayConnectionsUpdateTagsResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -67813,6 +69343,24 @@ "text": "VirtualNetworkGateway", "canonicalReference": "network-resource-manager!VirtualNetworkGateway:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -67826,7 +69374,7 @@ "name": "VirtualNetworkGatewaysCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -67849,7 +69397,25 @@ }, { "kind": "Content", - "text": " & {\n bodyAsText: string;\n parsedBody: string;\n };\n}" + "text": " & {\n bodyAsText: string;\n parsedBody: string;\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, + { + "kind": "Content", + "text": ";\n };\n}" }, { "kind": "Content", @@ -67860,7 +69426,7 @@ "name": "VirtualNetworkGatewaysGeneratevpnclientpackageResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 4 + "endIndex": 8 } }, { @@ -67883,7 +69449,25 @@ }, { "kind": "Content", - "text": " & {\n bodyAsText: string;\n parsedBody: string;\n };\n}" + "text": " & {\n bodyAsText: string;\n parsedBody: string;\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, + { + "kind": "Content", + "text": ";\n };\n}" }, { "kind": "Content", @@ -67894,7 +69478,7 @@ "name": "VirtualNetworkGatewaysGenerateVpnProfileResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 4 + "endIndex": 8 } }, { @@ -67929,6 +69513,24 @@ "text": "GatewayRouteListResult", "canonicalReference": "network-resource-manager!GatewayRouteListResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -67942,7 +69544,7 @@ "name": "VirtualNetworkGatewaysGetAdvertisedRoutesResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -68036,6 +69638,24 @@ "text": "BgpPeerStatusListResult", "canonicalReference": "network-resource-manager!BgpPeerStatusListResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -68049,7 +69669,7 @@ "name": "VirtualNetworkGatewaysGetBgpPeerStatusResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -68084,6 +69704,24 @@ "text": "GatewayRouteListResult", "canonicalReference": "network-resource-manager!GatewayRouteListResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -68097,7 +69735,7 @@ "name": "VirtualNetworkGatewaysGetLearnedRoutesResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -68180,6 +69818,24 @@ "text": "VpnClientConnectionHealthDetailListResult", "canonicalReference": "network-resource-manager!VpnClientConnectionHealthDetailListResult:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -68193,7 +69849,7 @@ "name": "VirtualNetworkGatewaysGetVpnclientConnectionHealthResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -68228,6 +69884,24 @@ "text": "VpnClientIPsecParameters", "canonicalReference": "network-resource-manager!VpnClientIPsecParameters:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -68241,7 +69915,7 @@ "name": "VirtualNetworkGatewaysGetVpnclientIpsecParametersResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -68264,7 +69938,25 @@ }, { "kind": "Content", - "text": " & {\n bodyAsText: string;\n parsedBody: string;\n };\n}" + "text": " & {\n bodyAsText: string;\n parsedBody: string;\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, + { + "kind": "Content", + "text": ";\n };\n}" }, { "kind": "Content", @@ -68275,7 +69967,7 @@ "name": "VirtualNetworkGatewaysGetVpnProfilePackageUrlResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 4 + "endIndex": 8 } }, { @@ -68704,6 +70396,24 @@ "text": "VirtualNetworkGateway", "canonicalReference": "network-resource-manager!VirtualNetworkGateway:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -68717,7 +70427,7 @@ "name": "VirtualNetworkGatewaysResetResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -68752,6 +70462,24 @@ "text": "VpnClientIPsecParameters", "canonicalReference": "network-resource-manager!VpnClientIPsecParameters:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -68765,7 +70493,7 @@ "name": "VirtualNetworkGatewaysSetVpnclientIpsecParametersResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -68848,7 +70576,25 @@ }, { "kind": "Content", - "text": " & {\n bodyAsText: string;\n parsedBody: string;\n };\n}" + "text": " & {\n bodyAsText: string;\n parsedBody: string;\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, + { + "kind": "Content", + "text": ";\n };\n}" }, { "kind": "Content", @@ -68859,7 +70605,7 @@ "name": "VirtualNetworkGatewaysStartPacketCaptureResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 4 + "endIndex": 8 } }, { @@ -68882,7 +70628,25 @@ }, { "kind": "Content", - "text": " & {\n bodyAsText: string;\n parsedBody: string;\n };\n}" + "text": " & {\n bodyAsText: string;\n parsedBody: string;\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, + { + "kind": "Content", + "text": ";\n };\n}" }, { "kind": "Content", @@ -68893,7 +70657,7 @@ "name": "VirtualNetworkGatewaysStopPacketCaptureResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 4 + "endIndex": 8 } }, { @@ -68962,6 +70726,24 @@ "text": "VirtualNetworkGateway", "canonicalReference": "network-resource-manager!VirtualNetworkGateway:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -68975,7 +70757,7 @@ "name": "VirtualNetworkGatewaysUpdateTagsResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -69348,6 +71130,24 @@ "text": "VirtualNetworkPeering", "canonicalReference": "network-resource-manager!VirtualNetworkPeering:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -69361,7 +71161,7 @@ "name": "VirtualNetworkPeeringsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -69613,6 +71413,24 @@ "text": "VirtualNetwork", "canonicalReference": "network-resource-manager!VirtualNetwork:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -69626,7 +71444,7 @@ "name": "VirtualNetworksCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -70241,6 +72059,24 @@ "text": "VirtualNetworkTap", "canonicalReference": "network-resource-manager!VirtualNetworkTap:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -70254,7 +72090,7 @@ "name": "VirtualNetworkTapsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -71032,6 +72868,24 @@ "text": "VirtualRouterPeering", "canonicalReference": "network-resource-manager!VirtualRouterPeering:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -71045,7 +72899,7 @@ "name": "VirtualRouterPeeringsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -71224,6 +73078,24 @@ "text": "VirtualRouter", "canonicalReference": "network-resource-manager!VirtualRouter:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -71237,7 +73109,7 @@ "name": "VirtualRoutersCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -71637,6 +73509,24 @@ "text": "VirtualWAN", "canonicalReference": "network-resource-manager!VirtualWAN:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -71650,7 +73540,7 @@ "name": "VirtualWansCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -73635,6 +75525,24 @@ "text": "VpnConnection", "canonicalReference": "network-resource-manager!VpnConnection:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -73648,7 +75556,7 @@ "name": "VpnConnectionsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -74034,6 +75942,24 @@ "text": "VpnGateway", "canonicalReference": "network-resource-manager!VpnGateway:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -74047,7 +75973,7 @@ "name": "VpnGatewaysCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -74322,6 +76248,24 @@ "text": "VpnGateway", "canonicalReference": "network-resource-manager!VpnGateway:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -74335,7 +76279,7 @@ "name": "VpnGatewaysResetResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -75046,6 +76990,24 @@ "text": "VpnServerConfigurationsResponse", "canonicalReference": "network-resource-manager!VpnServerConfigurationsResponse:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -75059,7 +77021,7 @@ "name": "VpnServerConfigurationsAssociatedWithVirtualWanListResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -75094,6 +77056,24 @@ "text": "VpnServerConfiguration", "canonicalReference": "network-resource-manager!VpnServerConfiguration:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -75107,7 +77087,7 @@ "name": "VpnServerConfigurationsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -76052,6 +78032,24 @@ "text": "VpnSite", "canonicalReference": "network-resource-manager!VpnSite:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "network-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "network-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -76065,7 +78063,7 @@ "name": "VpnSitesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { diff --git a/test/smoke/generated/network-resource-manager/temp/network-resource-manager.api.md b/test/smoke/generated/network-resource-manager/temp/network-resource-manager.api.md index aa2b2ae1ca..929c73611d 100644 --- a/test/smoke/generated/network-resource-manager/temp/network-resource-manager.api.md +++ b/test/smoke/generated/network-resource-manager/temp/network-resource-manager.api.md @@ -6,6 +6,7 @@ import * as coreHttp from '@azure/core-http'; import { HttpMethods } from '@azure/core-http'; +import { HttpOperationResponse } from '@azure/core-http'; import { OperationArguments } from '@azure/core-http'; import { OperationSpec } from '@azure/core-http'; import { Poller } from '@azure/core-lro'; @@ -413,6 +414,7 @@ export type ApplicationGatewaysBackendHealthOnDemandResponse = ApplicationGatewa _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ApplicationGatewayBackendHealthOnDemand; + [LROSYM]: LROResponseInfo; }; }; @@ -426,6 +428,7 @@ export type ApplicationGatewaysBackendHealthResponse = ApplicationGatewayBackend _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ApplicationGatewayBackendHealth; + [LROSYM]: LROResponseInfo; }; }; @@ -434,6 +437,7 @@ export type ApplicationGatewaysCreateOrUpdateResponse = ApplicationGateway & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ApplicationGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -678,6 +682,7 @@ export type ApplicationSecurityGroupsCreateOrUpdateResponse = ApplicationSecurit _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ApplicationSecurityGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -1135,6 +1140,7 @@ export type AzureFirewallsCreateOrUpdateResponse = AzureFirewall & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: AzureFirewall; + [LROSYM]: LROResponseInfo; }; }; @@ -1195,6 +1201,7 @@ export type AzureFirewallsUpdateTagsResponse = AzureFirewall & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: AzureFirewall; + [LROSYM]: LROResponseInfo; }; }; @@ -1304,6 +1311,7 @@ export type BastionHostsCreateOrUpdateResponse = BastionHost & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: BastionHost; + [LROSYM]: LROResponseInfo; }; }; @@ -1605,6 +1613,7 @@ export type ConnectionMonitorsCreateOrUpdateResponse = ConnectionMonitorResult & _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ConnectionMonitorResult; + [LROSYM]: LROResponseInfo; }; }; @@ -1638,6 +1647,7 @@ export type ConnectionMonitorsQueryResponse = ConnectionMonitorQueryResult & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ConnectionMonitorQueryResult; + [LROSYM]: LROResponseInfo; }; }; @@ -1819,6 +1829,7 @@ export type DdosCustomPoliciesCreateOrUpdateResponse = DdosCustomPolicy & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DdosCustomPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -1879,6 +1890,7 @@ export type DdosProtectionPlansCreateOrUpdateResponse = DdosProtectionPlan & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: DdosProtectionPlan; + [LROSYM]: LROResponseInfo; }; }; @@ -2155,6 +2167,7 @@ export type ExpressRouteCircuitAuthorizationsCreateOrUpdateResponse = ExpressRou _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCircuitAuthorization; + [LROSYM]: LROResponseInfo; }; }; @@ -2207,6 +2220,7 @@ export type ExpressRouteCircuitConnectionsCreateOrUpdateResponse = ExpressRouteC _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCircuitConnection; + [LROSYM]: LROResponseInfo; }; }; @@ -2296,6 +2310,7 @@ export type ExpressRouteCircuitPeeringsCreateOrUpdateResponse = ExpressRouteCirc _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCircuitPeering; + [LROSYM]: LROResponseInfo; }; }; @@ -2360,6 +2375,7 @@ export type ExpressRouteCircuitsCreateOrUpdateResponse = ExpressRouteCircuit & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCircuit; + [LROSYM]: LROResponseInfo; }; }; @@ -2428,6 +2444,7 @@ export type ExpressRouteCircuitsListArpTableResponse = ExpressRouteCircuitsArpTa _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCircuitsArpTableListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -2452,6 +2469,7 @@ export type ExpressRouteCircuitsListRoutesTableResponse = ExpressRouteCircuitsRo _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCircuitsRoutesTableListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -2460,6 +2478,7 @@ export type ExpressRouteCircuitsListRoutesTableSummaryResponse = ExpressRouteCir _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCircuitsRoutesTableSummaryListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -2517,6 +2536,7 @@ export type ExpressRouteConnectionsCreateOrUpdateResponse = ExpressRouteConnecti _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteConnection; + [LROSYM]: LROResponseInfo; }; }; @@ -2589,6 +2609,7 @@ export type ExpressRouteCrossConnectionPeeringsCreateOrUpdateResponse = ExpressR _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCrossConnectionPeering; + [LROSYM]: LROResponseInfo; }; }; @@ -2629,6 +2650,7 @@ export type ExpressRouteCrossConnectionsCreateOrUpdateResponse = ExpressRouteCro _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCrossConnection; + [LROSYM]: LROResponseInfo; }; }; @@ -2645,6 +2667,7 @@ export type ExpressRouteCrossConnectionsListArpTableResponse = ExpressRouteCircu _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCircuitsArpTableListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -2685,6 +2708,7 @@ export type ExpressRouteCrossConnectionsListRoutesTableResponse = ExpressRouteCi _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCircuitsRoutesTableListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -2693,6 +2717,7 @@ export type ExpressRouteCrossConnectionsListRoutesTableSummaryResponse = Express _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteCrossConnectionsRoutesTableSummaryListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -2740,6 +2765,7 @@ export type ExpressRouteGatewaysCreateOrUpdateResponse = ExpressRouteGateway & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRouteGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -2861,6 +2887,7 @@ export type ExpressRoutePortsCreateOrUpdateResponse = ExpressRoutePort & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExpressRoutePort; + [LROSYM]: LROResponseInfo; }; }; @@ -2999,6 +3026,7 @@ export type FirewallPoliciesCreateOrUpdateResponse = FirewallPolicy & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FirewallPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -3160,6 +3188,7 @@ export type FirewallPolicyRuleGroupsCreateOrUpdateResponse = FirewallPolicyRuleG _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FirewallPolicyRuleGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -3255,6 +3284,7 @@ export type FlowLogsCreateOrUpdateResponse = FlowLog & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FlowLog; + [LROSYM]: LROResponseInfo; }; }; @@ -3379,6 +3409,7 @@ export type HubRouteTablesCreateOrUpdateResponse = HubRouteTable & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: HubRouteTable; + [LROSYM]: LROResponseInfo; }; }; @@ -3494,6 +3525,7 @@ export type InboundNatRulesCreateOrUpdateResponse = InboundNatRule & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: InboundNatRule; + [LROSYM]: LROResponseInfo; }; }; @@ -3561,6 +3593,7 @@ export type IpAllocationsCreateOrUpdateResponse = IpAllocation & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: IpAllocation; + [LROSYM]: LROResponseInfo; }; }; @@ -3670,6 +3703,7 @@ export type IpGroupsCreateOrUpdateResponse = IpGroup & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: IpGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -3877,6 +3911,7 @@ export type LoadBalancerBackendAddressPoolsCreateOrUpdateResponse = BackendAddre _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: BackendAddressPool; + [LROSYM]: LROResponseInfo; }; }; @@ -4054,6 +4089,7 @@ export type LoadBalancersCreateOrUpdateResponse = LoadBalancer & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: LoadBalancer; + [LROSYM]: LROResponseInfo; }; }; @@ -4162,6 +4198,7 @@ export type LocalNetworkGatewaysCreateOrUpdateResponse = LocalNetworkGateway & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: LocalNetworkGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -4305,6 +4342,7 @@ export type NatGatewaysCreateOrUpdateResponse = NatGateway & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NatGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -4539,6 +4577,7 @@ export type NetworkInterfacesCreateOrUpdateResponse = NetworkInterface & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NetworkInterface; + [LROSYM]: LROResponseInfo; }; }; @@ -4547,6 +4586,7 @@ export type NetworkInterfacesGetEffectiveRouteTableResponse = EffectiveRouteList _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: EffectiveRouteListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -4610,6 +4650,7 @@ export type NetworkInterfacesListEffectiveNetworkSecurityGroupsResponse = Effect _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: EffectiveNetworkSecurityGroupListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -4715,6 +4756,7 @@ export type NetworkInterfaceTapConfigurationsCreateOrUpdateResponse = NetworkInt _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NetworkInterfaceTapConfiguration; + [LROSYM]: LROResponseInfo; }; }; @@ -5174,6 +5216,7 @@ export type NetworkManagementClientGeneratevirtualwanvpnserverconfigurationvpnpr _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnProfileResponse; + [LROSYM]: LROResponseInfo; }; }; @@ -5190,6 +5233,7 @@ export type NetworkManagementClientGetActiveSessionsResponse = BastionActiveSess _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: BastionActiveSessionListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -5228,6 +5272,7 @@ export type NetworkManagementClientPutBastionShareableLinkResponse = BastionShar _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: BastionShareableLinkListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -5357,6 +5402,7 @@ export type NetworkSecurityGroupsCreateOrUpdateResponse = NetworkSecurityGroup & _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NetworkSecurityGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -5447,6 +5493,7 @@ export type NetworkVirtualAppliancesCreateOrUpdateResponse = NetworkVirtualAppli _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NetworkVirtualAppliance; + [LROSYM]: LROResponseInfo; }; }; @@ -5519,6 +5566,7 @@ export type NetworkWatchersCheckConnectivityResponse = ConnectivityInformation & _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ConnectivityInformation; + [LROSYM]: LROResponseInfo; }; }; @@ -5535,6 +5583,7 @@ export type NetworkWatchersGetAzureReachabilityReportResponse = AzureReachabilit _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: AzureReachabilityReport; + [LROSYM]: LROResponseInfo; }; }; @@ -5543,6 +5592,7 @@ export type NetworkWatchersGetFlowLogStatusResponse = FlowLogInformation & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FlowLogInformation; + [LROSYM]: LROResponseInfo; }; }; @@ -5551,6 +5601,7 @@ export type NetworkWatchersGetNetworkConfigurationDiagnosticResponse = NetworkCo _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NetworkConfigurationDiagnosticResponse; + [LROSYM]: LROResponseInfo; }; }; @@ -5559,6 +5610,7 @@ export type NetworkWatchersGetNextHopResponse = NextHopResult & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NextHopResult; + [LROSYM]: LROResponseInfo; }; }; @@ -5583,6 +5635,7 @@ export type NetworkWatchersGetTroubleshootingResponse = TroubleshootingResult & _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: TroubleshootingResult; + [LROSYM]: LROResponseInfo; }; }; @@ -5591,6 +5644,7 @@ export type NetworkWatchersGetTroubleshootingResultResponse = TroubleshootingRes _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: TroubleshootingResult; + [LROSYM]: LROResponseInfo; }; }; @@ -5599,6 +5653,7 @@ export type NetworkWatchersGetVMSecurityRulesResponse = SecurityGroupViewResult _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SecurityGroupViewResult; + [LROSYM]: LROResponseInfo; }; }; @@ -5615,6 +5670,7 @@ export type NetworkWatchersListAvailableProvidersResponse = AvailableProvidersLi _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: AvailableProvidersList; + [LROSYM]: LROResponseInfo; }; }; @@ -5631,6 +5687,7 @@ export type NetworkWatchersSetFlowLogConfigurationResponse = FlowLogInformation _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FlowLogInformation; + [LROSYM]: LROResponseInfo; }; }; @@ -5647,6 +5704,7 @@ export type NetworkWatchersVerifyIPFlowResponse = VerificationIPFlowResult & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VerificationIPFlowResult; + [LROSYM]: LROResponseInfo; }; }; @@ -5789,6 +5847,7 @@ export type P2SVpnGatewaysCreateOrUpdateResponse = P2SVpnGateway & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: P2SVpnGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -5797,6 +5856,7 @@ export type P2SVpnGatewaysGenerateVpnProfileResponse = VpnProfileResponse & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnProfileResponse; + [LROSYM]: LROResponseInfo; }; }; @@ -5805,6 +5865,7 @@ export type P2SVpnGatewaysGetP2SVpnConnectionHealthDetailedResponse = P2SVpnConn _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: P2SVpnConnectionHealth; + [LROSYM]: LROResponseInfo; }; }; @@ -5813,6 +5874,7 @@ export type P2SVpnGatewaysGetP2SVpnConnectionHealthResponse = P2SVpnGateway & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: P2SVpnGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -5937,6 +5999,7 @@ export type PacketCapturesCreateResponse = PacketCaptureResult & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PacketCaptureResult; + [LROSYM]: LROResponseInfo; }; }; @@ -5953,6 +6016,7 @@ export type PacketCapturesGetStatusResponse = PacketCaptureQueryStatusResult & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PacketCaptureQueryStatusResult; + [LROSYM]: LROResponseInfo; }; }; @@ -6095,6 +6159,7 @@ export type PrivateDnsZoneGroupsCreateOrUpdateResponse = PrivateDnsZoneGroup & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PrivateDnsZoneGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -6161,6 +6226,7 @@ export type PrivateEndpointsCreateOrUpdateResponse = PrivateEndpoint & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PrivateEndpoint; + [LROSYM]: LROResponseInfo; }; }; @@ -6289,6 +6355,7 @@ export type PrivateLinkServicesCreateOrUpdateResponse = PrivateLinkService & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PrivateLinkService; + [LROSYM]: LROResponseInfo; }; }; @@ -6486,6 +6553,7 @@ export type PublicIPAddressesCreateOrUpdateResponse = PublicIPAddress & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PublicIPAddress; + [LROSYM]: LROResponseInfo; }; }; @@ -6621,6 +6689,7 @@ export type PublicIPPrefixesCreateOrUpdateResponse = PublicIPPrefix & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PublicIPPrefix; + [LROSYM]: LROResponseInfo; }; }; @@ -6814,6 +6883,7 @@ export type RouteFilterRulesCreateOrUpdateResponse = RouteFilterRule & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: RouteFilterRule; + [LROSYM]: LROResponseInfo; }; }; @@ -6849,6 +6919,7 @@ export type RouteFiltersCreateOrUpdateResponse = RouteFilter & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: RouteFilter; + [LROSYM]: LROResponseInfo; }; }; @@ -6919,6 +6990,7 @@ export type RoutesCreateOrUpdateResponse = Route & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Route; + [LROSYM]: LROResponseInfo; }; }; @@ -6966,6 +7038,7 @@ export type RouteTablesCreateOrUpdateResponse = RouteTable & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: RouteTable; + [LROSYM]: LROResponseInfo; }; }; @@ -7068,6 +7141,7 @@ export type SecurityPartnerProvidersCreateOrUpdateResponse = SecurityPartnerProv _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SecurityPartnerProvider; + [LROSYM]: LROResponseInfo; }; }; @@ -7172,6 +7246,7 @@ export type SecurityRulesCreateOrUpdateResponse = SecurityRule & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SecurityRule; + [LROSYM]: LROResponseInfo; }; }; @@ -7230,6 +7305,7 @@ export type ServiceEndpointPoliciesCreateOrUpdateResponse = ServiceEndpointPolic _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ServiceEndpointPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -7316,6 +7392,7 @@ export type ServiceEndpointPolicyDefinitionsCreateOrUpdateResponse = ServiceEndp _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ServiceEndpointPolicyDefinition; + [LROSYM]: LROResponseInfo; }; }; @@ -7448,6 +7525,7 @@ export type SubnetsCreateOrUpdateResponse = Subnet & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Subnet; + [LROSYM]: LROResponseInfo; }; }; @@ -7717,6 +7795,7 @@ export type VirtualHubRouteTableV2SCreateOrUpdateResponse = VirtualHubRouteTable _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualHubRouteTableV2; + [LROSYM]: LROResponseInfo; }; }; @@ -7757,6 +7836,7 @@ export type VirtualHubsCreateOrUpdateResponse = VirtualHub & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualHub; + [LROSYM]: LROResponseInfo; }; }; @@ -7922,6 +8002,7 @@ export type VirtualNetworkGatewayConnectionsCreateOrUpdateResponse = VirtualNetw _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualNetworkGatewayConnection; + [LROSYM]: LROResponseInfo; }; }; @@ -7962,6 +8043,7 @@ export type VirtualNetworkGatewayConnectionsResetSharedKeyResponse = ConnectionR _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ConnectionResetSharedKey; + [LROSYM]: LROResponseInfo; }; }; @@ -7970,6 +8052,7 @@ export type VirtualNetworkGatewayConnectionsSetSharedKeyResponse = ConnectionSha _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ConnectionSharedKey; + [LROSYM]: LROResponseInfo; }; }; @@ -7984,6 +8067,7 @@ export type VirtualNetworkGatewayConnectionsStartPacketCaptureResponse = { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: string; + [LROSYM]: LROResponseInfo; }; }; @@ -7993,6 +8077,7 @@ export type VirtualNetworkGatewayConnectionsStopPacketCaptureResponse = { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: string; + [LROSYM]: LROResponseInfo; }; }; @@ -8004,6 +8089,7 @@ export type VirtualNetworkGatewayConnectionsUpdateTagsResponse = VirtualNetworkG _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualNetworkGatewayConnection; + [LROSYM]: LROResponseInfo; }; }; @@ -8038,6 +8124,7 @@ export type VirtualNetworkGatewaysCreateOrUpdateResponse = VirtualNetworkGateway _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualNetworkGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -8047,6 +8134,7 @@ export type VirtualNetworkGatewaysGeneratevpnclientpackageResponse = { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: string; + [LROSYM]: LROResponseInfo; }; }; @@ -8056,6 +8144,7 @@ export type VirtualNetworkGatewaysGenerateVpnProfileResponse = { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: string; + [LROSYM]: LROResponseInfo; }; }; @@ -8064,6 +8153,7 @@ export type VirtualNetworkGatewaysGetAdvertisedRoutesResponse = GatewayRouteList _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GatewayRouteListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -8077,6 +8167,7 @@ export type VirtualNetworkGatewaysGetBgpPeerStatusResponse = BgpPeerStatusListRe _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: BgpPeerStatusListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -8085,6 +8176,7 @@ export type VirtualNetworkGatewaysGetLearnedRoutesResponse = GatewayRouteListRes _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: GatewayRouteListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -8101,6 +8193,7 @@ export type VirtualNetworkGatewaysGetVpnclientConnectionHealthResponse = VpnClie _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnClientConnectionHealthDetailListResult; + [LROSYM]: LROResponseInfo; }; }; @@ -8109,6 +8202,7 @@ export type VirtualNetworkGatewaysGetVpnclientIpsecParametersResponse = VpnClien _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnClientIPsecParameters; + [LROSYM]: LROResponseInfo; }; }; @@ -8118,6 +8212,7 @@ export type VirtualNetworkGatewaysGetVpnProfilePackageUrlResponse = { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: string; + [LROSYM]: LROResponseInfo; }; }; @@ -8176,6 +8271,7 @@ export type VirtualNetworkGatewaysResetResponse = VirtualNetworkGateway & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualNetworkGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -8184,6 +8280,7 @@ export type VirtualNetworkGatewaysSetVpnclientIpsecParametersResponse = VpnClien _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnClientIPsecParameters; + [LROSYM]: LROResponseInfo; }; }; @@ -8198,6 +8295,7 @@ export type VirtualNetworkGatewaysStartPacketCaptureResponse = { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: string; + [LROSYM]: LROResponseInfo; }; }; @@ -8207,6 +8305,7 @@ export type VirtualNetworkGatewaysStopPacketCaptureResponse = { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: string; + [LROSYM]: LROResponseInfo; }; }; @@ -8224,6 +8323,7 @@ export type VirtualNetworkGatewaysUpdateTagsResponse = VirtualNetworkGateway & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualNetworkGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -8276,6 +8376,7 @@ export type VirtualNetworkPeeringsCreateOrUpdateResponse = VirtualNetworkPeering _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualNetworkPeering; + [LROSYM]: LROResponseInfo; }; }; @@ -8319,6 +8420,7 @@ export type VirtualNetworksCreateOrUpdateResponse = VirtualNetwork & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualNetwork; + [LROSYM]: LROResponseInfo; }; }; @@ -8413,6 +8515,7 @@ export type VirtualNetworkTapsCreateOrUpdateResponse = VirtualNetworkTap & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualNetworkTap; + [LROSYM]: LROResponseInfo; }; }; @@ -8517,6 +8620,7 @@ export type VirtualRouterPeeringsCreateOrUpdateResponse = VirtualRouterPeering & _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualRouterPeering; + [LROSYM]: LROResponseInfo; }; }; @@ -8549,6 +8653,7 @@ export type VirtualRoutersCreateOrUpdateResponse = VirtualRouter & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualRouter; + [LROSYM]: LROResponseInfo; }; }; @@ -8615,6 +8720,7 @@ export type VirtualWansCreateOrUpdateResponse = VirtualWAN & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualWAN; + [LROSYM]: LROResponseInfo; }; }; @@ -8810,6 +8916,7 @@ export type VpnConnectionsCreateOrUpdateResponse = VpnConnection & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnConnection; + [LROSYM]: LROResponseInfo; }; }; @@ -8865,6 +8972,7 @@ export type VpnGatewaysCreateOrUpdateResponse = VpnGateway & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -8913,6 +9021,7 @@ export type VpnGatewaysResetResponse = VpnGateway & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnGateway; + [LROSYM]: LROResponseInfo; }; }; @@ -9007,6 +9116,7 @@ export type VpnServerConfigurationsAssociatedWithVirtualWanListResponse = VpnSer _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnServerConfigurationsResponse; + [LROSYM]: LROResponseInfo; }; }; @@ -9015,6 +9125,7 @@ export type VpnServerConfigurationsCreateOrUpdateResponse = VpnServerConfigurati _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnServerConfiguration; + [LROSYM]: LROResponseInfo; }; }; @@ -9172,6 +9283,7 @@ export type VpnSitesCreateOrUpdateResponse = VpnSite & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VpnSite; + [LROSYM]: LROResponseInfo; }; }; @@ -9328,6 +9440,10 @@ export type WebApplicationFirewallRuleType = "MatchRule" | "Invalid" | string; export type WebApplicationFirewallTransform = "Lowercase" | "Trim" | "UrlDecode" | "UrlEncode" | "RemoveNulls" | "HtmlEntityDecode" | string; +// Warnings were encountered during analysis: +// +// src/models/index.ts:13368:5 - (ae-forgotten-export) The symbol "LROResponseInfo" needs to be exported by the entry point index.d.ts + // (No @packageDocumentation comment for this package) ``` diff --git a/test/smoke/generated/sql-resource-manager/review/sql-resource-manager.api.md b/test/smoke/generated/sql-resource-manager/review/sql-resource-manager.api.md index 75a7c9f81a..ca46ad0fe4 100644 --- a/test/smoke/generated/sql-resource-manager/review/sql-resource-manager.api.md +++ b/test/smoke/generated/sql-resource-manager/review/sql-resource-manager.api.md @@ -6,6 +6,7 @@ import * as coreHttp from '@azure/core-http'; import { HttpMethods } from '@azure/core-http'; +import { HttpOperationResponse } from '@azure/core-http'; import { OperationArguments } from '@azure/core-http'; import { OperationSpec } from '@azure/core-http'; import { Poller } from '@azure/core-lro'; @@ -76,6 +77,7 @@ export type BackupLongTermRetentionPoliciesCreateOrUpdateResponse = BackupLongTe _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: BackupLongTermRetentionPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -108,6 +110,7 @@ export type BackupShortTermRetentionPoliciesCreateOrUpdateResponse = BackupShort _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: BackupShortTermRetentionPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -140,6 +143,7 @@ export type BackupShortTermRetentionPoliciesUpdateResponse = BackupShortTermRete _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: BackupShortTermRetentionPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -389,6 +393,7 @@ export type DatabasesCreateImportOperationResponse = ImportExportResponse & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ImportExportResponse; + [LROSYM]: LROResponseInfo; }; }; @@ -397,6 +402,7 @@ export type DatabasesCreateOrUpdateResponse = Database & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Database; + [LROSYM]: LROResponseInfo; }; }; @@ -419,6 +425,7 @@ export type DatabasesExportResponse = ImportExportResponse & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ImportExportResponse; + [LROSYM]: LROResponseInfo; }; }; @@ -440,6 +447,7 @@ export type DatabasesImportResponse = ImportExportResponse & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ImportExportResponse; + [LROSYM]: LROResponseInfo; }; }; @@ -496,6 +504,7 @@ export type DatabasesPauseResponse = Database & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Database; + [LROSYM]: LROResponseInfo; }; }; @@ -504,6 +513,7 @@ export type DatabasesResumeResponse = Database & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Database; + [LROSYM]: LROResponseInfo; }; }; @@ -518,6 +528,7 @@ export type DatabasesUpdateResponse = Database & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Database; + [LROSYM]: LROResponseInfo; }; }; @@ -981,6 +992,7 @@ export type ElasticPoolsCreateOrUpdateResponse = ElasticPool & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ElasticPool; + [LROSYM]: LROResponseInfo; }; }; @@ -1042,6 +1054,7 @@ export type ElasticPoolsUpdateResponse = ElasticPool & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ElasticPool; + [LROSYM]: LROResponseInfo; }; }; @@ -1082,6 +1095,7 @@ export type EncryptionProtectorsCreateOrUpdateResponse = EncryptionProtector & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: EncryptionProtector; + [LROSYM]: LROResponseInfo; }; }; @@ -1179,6 +1193,7 @@ export type ExtendedServerBlobAuditingPoliciesCreateOrUpdateResponse = ExtendedS _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExtendedServerBlobAuditingPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -1268,6 +1283,7 @@ export type FailoverGroupsCreateOrUpdateResponse = FailoverGroup & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FailoverGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -1276,6 +1292,7 @@ export type FailoverGroupsFailoverResponse = FailoverGroup & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FailoverGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -1284,6 +1301,7 @@ export type FailoverGroupsForceFailoverAllowDataLossResponse = FailoverGroup & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FailoverGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -1316,6 +1334,7 @@ export type FailoverGroupsUpdateResponse = FailoverGroup & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FailoverGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -1486,6 +1505,7 @@ export type InstanceFailoverGroupsCreateOrUpdateResponse = InstanceFailoverGroup _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: InstanceFailoverGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -1494,6 +1514,7 @@ export type InstanceFailoverGroupsFailoverResponse = InstanceFailoverGroup & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: InstanceFailoverGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -1502,6 +1523,7 @@ export type InstanceFailoverGroupsForceFailoverAllowDataLossResponse = InstanceF _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: InstanceFailoverGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -1568,6 +1590,7 @@ export type InstancePoolsCreateOrUpdateResponse = InstancePool & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: InstancePool; + [LROSYM]: LROResponseInfo; }; }; @@ -1616,6 +1639,7 @@ export type InstancePoolsUpdateResponse = InstancePool & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: InstancePool; + [LROSYM]: LROResponseInfo; }; }; @@ -1660,6 +1684,7 @@ export type JobAgentsCreateOrUpdateResponse = JobAgent & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: JobAgent; + [LROSYM]: LROResponseInfo; }; }; @@ -1695,6 +1720,7 @@ export type JobAgentsUpdateResponse = JobAgent & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: JobAgent; + [LROSYM]: LROResponseInfo; }; }; @@ -1780,6 +1806,7 @@ export type JobExecutionsCreateOrUpdateResponse = JobExecution & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: JobExecution; + [LROSYM]: LROResponseInfo; }; }; @@ -1788,6 +1815,7 @@ export type JobExecutionsCreateResponse = JobExecution & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: JobExecution; + [LROSYM]: LROResponseInfo; }; }; @@ -2690,6 +2718,7 @@ export type ManagedBackupShortTermRetentionPoliciesCreateOrUpdateResponse = Mana _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedBackupShortTermRetentionPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -2722,6 +2751,7 @@ export type ManagedBackupShortTermRetentionPoliciesUpdateResponse = ManagedBacku _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedBackupShortTermRetentionPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -2791,6 +2821,7 @@ export type ManagedDatabasesCreateOrUpdateResponse = ManagedDatabase & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedDatabase; + [LROSYM]: LROResponseInfo; }; }; @@ -2966,6 +2997,7 @@ export type ManagedDatabasesUpdateResponse = ManagedDatabase & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedDatabase; + [LROSYM]: LROResponseInfo; }; }; @@ -3115,6 +3147,7 @@ export type ManagedInstanceAdministratorsCreateOrUpdateResponse = ManagedInstanc _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedInstanceAdministrator; + [LROSYM]: LROResponseInfo; }; }; @@ -3173,6 +3206,7 @@ export type ManagedInstanceEncryptionProtectorsCreateOrUpdateResponse = ManagedI _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedInstanceEncryptionProtector; + [LROSYM]: LROResponseInfo; }; }; @@ -3230,6 +3264,7 @@ export type ManagedInstanceKeysCreateOrUpdateResponse = ManagedInstanceKey & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedInstanceKey; + [LROSYM]: LROResponseInfo; }; }; @@ -3297,6 +3332,7 @@ export type ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateResponse = Man _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedInstanceLongTermRetentionPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -3402,6 +3438,7 @@ export type ManagedInstancesCreateOrUpdateResponse = ManagedInstance & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedInstance; + [LROSYM]: LROResponseInfo; }; }; @@ -3466,6 +3503,7 @@ export type ManagedInstancesUpdateResponse = ManagedInstance & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedInstance; + [LROSYM]: LROResponseInfo; }; }; @@ -3568,6 +3606,7 @@ export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCrea _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedBackupShortTermRetentionPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -3600,6 +3639,7 @@ export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpda _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedBackupShortTermRetentionPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -3611,6 +3651,7 @@ export type ManagedServerSecurityAlertPoliciesCreateOrUpdateResponse = ManagedSe _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedServerSecurityAlertPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -3849,6 +3890,7 @@ export type PrivateEndpointConnectionsCreateOrUpdateResponse = PrivateEndpointCo _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PrivateEndpointConnection; + [LROSYM]: LROResponseInfo; }; }; @@ -4268,6 +4310,7 @@ export type RestorePointsCreateResponse = RestorePoint & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: RestorePoint; + [LROSYM]: LROResponseInfo; }; }; @@ -4457,6 +4500,7 @@ export type ServerAzureADAdministratorsCreateOrUpdateResponse = ServerAzureADAdm _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ServerAzureADAdministrator; + [LROSYM]: LROResponseInfo; }; }; @@ -4465,6 +4509,7 @@ export type ServerAzureADAdministratorsDisableAzureADOnlyAuthenticationResponse _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ServerAzureADAdministrator; + [LROSYM]: LROResponseInfo; }; }; @@ -4497,6 +4542,7 @@ export type ServerBlobAuditingPoliciesCreateOrUpdateResponse = ServerBlobAuditin _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ServerBlobAuditingPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -4561,6 +4607,7 @@ export type ServerCommunicationLinksCreateOrUpdateResponse = ServerCommunication _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ServerCommunicationLink; + [LROSYM]: LROResponseInfo; }; }; @@ -4621,6 +4668,7 @@ export type ServerDnsAliasesCreateOrUpdateResponse = ServerDnsAlias & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ServerDnsAlias; + [LROSYM]: LROResponseInfo; }; }; @@ -4676,6 +4724,7 @@ export type ServerKeysCreateOrUpdateResponse = ServerKey & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ServerKey; + [LROSYM]: LROResponseInfo; }; }; @@ -4734,6 +4783,7 @@ export type ServersCreateOrUpdateResponse = Server & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Server; + [LROSYM]: LROResponseInfo; }; }; @@ -4742,6 +4792,7 @@ export type ServerSecurityAlertPoliciesCreateOrUpdateResponse = ServerSecurityAl _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ServerSecurityAlertPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -4826,6 +4877,7 @@ export type ServersUpdateResponse = Server & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Server; + [LROSYM]: LROResponseInfo; }; }; @@ -5514,6 +5566,7 @@ export type SyncAgentsCreateOrUpdateResponse = SyncAgent & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SyncAgent; + [LROSYM]: LROResponseInfo; }; }; @@ -5678,6 +5731,7 @@ export type SyncGroupsCreateOrUpdateResponse = SyncGroup & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SyncGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -5771,6 +5825,7 @@ export type SyncGroupsUpdateResponse = SyncGroup & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SyncGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -5801,6 +5856,7 @@ export type SyncMembersCreateOrUpdateResponse = SyncMember & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SyncMember; + [LROSYM]: LROResponseInfo; }; }; @@ -5852,6 +5908,7 @@ export type SyncMembersUpdateResponse = SyncMember & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SyncMember; + [LROSYM]: LROResponseInfo; }; }; @@ -6032,6 +6089,7 @@ export type VirtualClustersUpdateResponse = VirtualCluster & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualCluster; + [LROSYM]: LROResponseInfo; }; }; @@ -6063,6 +6121,7 @@ export type VirtualNetworkRulesCreateOrUpdateResponse = VirtualNetworkRule & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualNetworkRule; + [LROSYM]: LROResponseInfo; }; }; @@ -6157,6 +6216,7 @@ export type WorkloadClassifiersCreateOrUpdateResponse = WorkloadClassifier & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: WorkloadClassifier; + [LROSYM]: LROResponseInfo; }; }; @@ -6205,6 +6265,7 @@ export type WorkloadGroupsCreateOrUpdateResponse = WorkloadGroup & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: WorkloadGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -6233,6 +6294,10 @@ export type WorkloadGroupsListByDatabaseResponse = WorkloadGroupListResult & { }; +// Warnings were encountered during analysis: +// +// src/models/index.ts:12501:5 - (ae-forgotten-export) The symbol "LROResponseInfo" needs to be exported by the entry point index.d.ts + // (No @packageDocumentation comment for this package) ``` diff --git a/test/smoke/generated/sql-resource-manager/src/lro/azureAsyncOperationStrategy.ts b/test/smoke/generated/sql-resource-manager/src/lro/azureAsyncOperationStrategy.ts index ecdc300c1f..f54ccc954f 100644 --- a/test/smoke/generated/sql-resource-manager/src/lro/azureAsyncOperationStrategy.ts +++ b/test/smoke/generated/sql-resource-manager/src/lro/azureAsyncOperationStrategy.ts @@ -11,9 +11,14 @@ import { BaseResult, LROOperationStep, LROResponseInfo, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; -import { OperationSpec, OperationArguments } from "@azure/core-http"; +import { + OperationSpec, + OperationArguments, + OperationResponse +} from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "."; @@ -22,7 +27,7 @@ export function createAzureAsyncOperationStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -35,7 +40,7 @@ export function createAzureAsyncOperationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); @@ -51,16 +56,16 @@ export function createAzureAsyncOperationStrategy( return terminalStates.includes(status.toLowerCase()); }, sendFinalRequest: async () => { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - if (!currentOperation.result._lroData) { + if (!currentOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - const initialOperationResult = initialOperation.result._lroData; - const currentOperationResult = currentOperation.result._lroData; + const initialOperationResult = initialOperation.result._response[LROSYM]; + const currentOperationResult = currentOperation.result._response[LROSYM]; if ( !shouldPerformFinalGet(initialOperationResult, currentOperationResult) @@ -68,7 +73,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.requestMethod === "PUT") { + if (initialOperationResult?.requestMethod === "PUT") { currentOperation = await sendFinalGet( initialOperation, sendOperationFn @@ -77,7 +82,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.location) { + if (initialOperationResult?.location) { switch (finalStateVia) { case "original-uri": currentOperation = await sendFinalGet( @@ -92,7 +97,7 @@ export function createAzureAsyncOperationStrategy( default: const location = initialOperationResult.location || - currentOperationResult.location; + currentOperationResult?.location; if (!location) { throw new Error("Couldn't determine final GET URL from location"); @@ -116,9 +121,11 @@ export function createAzureAsyncOperationStrategy( const pollingArgs = currentOperation.args; // Make sure we don't send any body to the get request - const { requestBody, ...restSpec } = currentOperation.spec; + const { requestBody, responses, ...restSpec } = currentOperation.spec; + const pollingSpec: OperationSpec = { ...restSpec, + responses: getCompositeMappers(responses), httpMethod: "GET", path: lastKnownPollingUrl }; @@ -127,8 +134,8 @@ export function createAzureAsyncOperationStrategy( // Update latest polling url lastKnownPollingUrl = - result._lroData?.azureAsyncOperation || - result._lroData?.operationLocation || + result._response[LROSYM]?.azureAsyncOperation || + result._response[LROSYM]?.operationLocation || lastKnownPollingUrl; // Update lastOperation result @@ -143,12 +150,47 @@ export function createAzureAsyncOperationStrategy( }; } +/** + * Polling calls will always return a status object i.e. {"status": "success"} + * these intermediate responses are not described in the swagger so we need to + * pass custom mappers at runtime. + * This function replaces all the existing mappers to be able to deserialize a status object + * @param responses Original set of responses defined in the operation + */ +function getCompositeMappers(responses: { + [responseCode: string]: OperationResponse; +}): { + [responseCode: string]: OperationResponse; +} { + return Object.keys(responses).reduce((acc, statusCode) => { + return { + ...acc, + [statusCode]: { + ...responses[statusCode], + bodyMapper: { + type: { + name: "Composite", + modelProperties: { + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } + } + } + }; + }, {} as { [responseCode: string]: OperationResponse }); +} + function shouldPerformFinalGet( - initialResult: LROResponseInfo, - currentResult: LROResponseInfo + initialResult?: LROResponseInfo, + currentResult?: LROResponseInfo ) { - const { status } = currentResult; - const { requestMethod: initialRequestMethod, location } = initialResult; + const { status } = currentResult || {}; + const { requestMethod: initialRequestMethod, location } = initialResult || {}; if (status && status.toLowerCase() !== "succeeded") { return false; } diff --git a/test/smoke/generated/sql-resource-manager/src/lro/bodyPollingStrategy.ts b/test/smoke/generated/sql-resource-manager/src/lro/bodyPollingStrategy.ts index 35cc6bac2a..c9404330ed 100644 --- a/test/smoke/generated/sql-resource-manager/src/lro/bodyPollingStrategy.ts +++ b/test/smoke/generated/sql-resource-manager/src/lro/bodyPollingStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { LROStrategy, BaseResult, LROOperationStep } from "./models"; +import { LROStrategy, BaseResult, LROOperationStep, LROSYM } from "./models"; import { OperationSpec } from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "./lroPoller"; @@ -19,7 +19,7 @@ export function createBodyPollingStrategy( initialOperation: LROOperationStep, sendOperation: SendOperationFn ): LROStrategy { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to be defined for BodyPolling strategy"); } @@ -27,7 +27,7 @@ export function createBodyPollingStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } diff --git a/test/smoke/generated/sql-resource-manager/src/lro/locationStrategy.ts b/test/smoke/generated/sql-resource-manager/src/lro/locationStrategy.ts index 1a5c8d462e..6a763e37ec 100644 --- a/test/smoke/generated/sql-resource-manager/src/lro/locationStrategy.ts +++ b/test/smoke/generated/sql-resource-manager/src/lro/locationStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationStep, LROStrategy } from "./models"; +import { BaseResult, LROOperationStep, LROStrategy, LROSYM } from "./models"; import { SendOperationFn } from "./lroPoller"; import { OperationSpec } from "@azure/core-http"; @@ -14,7 +14,7 @@ export function createLocationStrategy( initialOperation: LROOperationStep, sendOperationFn: SendOperationFn ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -26,7 +26,7 @@ export function createLocationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } @@ -59,7 +59,8 @@ export function createLocationStrategy( const result = await sendOperationFn(pollingArgs, pollingSpec); // Update latest polling url - lastKnownPollingUrl = result._lroData?.location || lastKnownPollingUrl; + lastKnownPollingUrl = + result._response[LROSYM]?.location || lastKnownPollingUrl; // Update lastOperation result currentOperation = { diff --git a/test/smoke/generated/sql-resource-manager/src/lro/lroPolicy.ts b/test/smoke/generated/sql-resource-manager/src/lro/lroPolicy.ts index 0591f541b3..4d18c3b7f0 100644 --- a/test/smoke/generated/sql-resource-manager/src/lro/lroPolicy.ts +++ b/test/smoke/generated/sql-resource-manager/src/lro/lroPolicy.ts @@ -13,6 +13,7 @@ import { HttpOperationResponse, WebResource } from "@azure/core-http"; +import { LROOperationResponse, LROSYM } from "./models"; import { getLROData } from "./requestUtils"; export function lroPolicy() { @@ -31,12 +32,12 @@ class LROPolicy extends BaseRequestPolicy { public async sendRequest( webResource: WebResource ): Promise { - let result = await this._nextPolicy.sendRequest(webResource); + let result: LROOperationResponse = await this._nextPolicy.sendRequest( + webResource + ); + const _lroData = getLROData(result); - if (webResource.shouldDeserialize !== undefined) { - const _lroData = getLROData(result); - result.parsedBody = { ...result.parsedBody, _lroData }; - } + result[LROSYM] = _lroData; return result; } diff --git a/test/smoke/generated/sql-resource-manager/src/lro/lroPoller.ts b/test/smoke/generated/sql-resource-manager/src/lro/lroPoller.ts index bc2f2aa05a..8c0406cf24 100644 --- a/test/smoke/generated/sql-resource-manager/src/lro/lroPoller.ts +++ b/test/smoke/generated/sql-resource-manager/src/lro/lroPoller.ts @@ -17,7 +17,8 @@ import { BaseResult, LROOperationState, LROOperationStep, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; import { makeOperation } from "./operation"; import { createBodyPollingStrategy } from "./bodyPollingStrategy"; @@ -122,7 +123,7 @@ function getPollingStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ) { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { const error = new RestError( diff --git a/test/smoke/generated/sql-resource-manager/src/lro/models.ts b/test/smoke/generated/sql-resource-manager/src/lro/models.ts index a90afc5b41..c4b96664f6 100644 --- a/test/smoke/generated/sql-resource-manager/src/lro/models.ts +++ b/test/smoke/generated/sql-resource-manager/src/lro/models.ts @@ -10,9 +10,11 @@ import { OperationArguments, OperationSpec, RestResponse, - HttpMethods + HttpMethods, + HttpOperationResponse } from "@azure/core-http"; import { PollOperationState, PollOperation } from "@azure/core-lro"; +export const LROSYM = Symbol("LROData"); export type FinalStateVia = | "azure-async-operation" @@ -30,8 +32,21 @@ export interface LROResponseInfo { status?: string; } +/** + * Extended operation response for LROs + */ +export type LROOperationResponse = HttpOperationResponse & { + /** + * Symbol that contains LRO details + */ + [LROSYM]?: LROResponseInfo; +}; + export interface BaseResult extends RestResponse { - _lroData?: LROResponseInfo; + /** + * The underlying HTTP response containing both raw and deserialized response data. + */ + _response: LROOperationResponse; } export interface LROOperationStep { diff --git a/test/smoke/generated/sql-resource-manager/src/lro/operation.ts b/test/smoke/generated/sql-resource-manager/src/lro/operation.ts index 9cda560a02..0860f07df0 100644 --- a/test/smoke/generated/sql-resource-manager/src/lro/operation.ts +++ b/test/smoke/generated/sql-resource-manager/src/lro/operation.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationState, LROOperation } from "./models"; +import { BaseResult, LROOperationState, LROOperation, LROSYM } from "./models"; /** * Creates a copy of the operation from a given State @@ -46,7 +46,7 @@ async function update( const { sendFinalRequest, poll, isTerminal } = state.pollingStrategy; const currentResponse = state.lastOperation; - const currentLroData = currentResponse.result._lroData; + const currentLroData = currentResponse.result._response[LROSYM]; if (!currentLroData) { throw new Error( diff --git a/test/smoke/generated/sql-resource-manager/src/models/index.ts b/test/smoke/generated/sql-resource-manager/src/models/index.ts index dcb6a5eb4e..2d958214a0 100644 --- a/test/smoke/generated/sql-resource-manager/src/models/index.ts +++ b/test/smoke/generated/sql-resource-manager/src/models/index.ts @@ -7,6 +7,7 @@ */ import * as coreHttp from "@azure/core-http"; +import { LROSYM, LROResponseInfo } from "../lro/models"; /** * ARM resource. @@ -8273,6 +8274,10 @@ export type DatabasesImportResponse = ImportExportResponse & { * The response body as parsed JSON or XML */ parsedBody: ImportExportResponse; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8293,6 +8298,10 @@ export type DatabasesCreateImportOperationResponse = ImportExportResponse & { * The response body as parsed JSON or XML */ parsedBody: ImportExportResponse; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8313,6 +8322,10 @@ export type DatabasesExportResponse = ImportExportResponse & { * The response body as parsed JSON or XML */ parsedBody: ImportExportResponse; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8413,6 +8426,10 @@ export type DatabasesCreateOrUpdateResponse = Database & { * The response body as parsed JSON or XML */ parsedBody: Database; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8433,6 +8450,10 @@ export type DatabasesUpdateResponse = Database & { * The response body as parsed JSON or XML */ parsedBody: Database; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8473,6 +8494,10 @@ export type DatabasesPauseResponse = Database & { * The response body as parsed JSON or XML */ parsedBody: Database; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8493,6 +8518,10 @@ export type DatabasesResumeResponse = Database & { * The response body as parsed JSON or XML */ parsedBody: Database; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8655,6 +8684,10 @@ export type ElasticPoolsCreateOrUpdateResponse = ElasticPool & { * The response body as parsed JSON or XML */ parsedBody: ElasticPool; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8675,6 +8708,10 @@ export type ElasticPoolsUpdateResponse = ElasticPool & { * The response body as parsed JSON or XML */ parsedBody: ElasticPool; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -8846,6 +8883,10 @@ export type ServerCommunicationLinksCreateOrUpdateResponse = ServerCommunication * The response body as parsed JSON or XML */ parsedBody: ServerCommunicationLink; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9186,6 +9227,10 @@ export type EncryptionProtectorsCreateOrUpdateResponse = EncryptionProtector & { * The response body as parsed JSON or XML */ parsedBody: EncryptionProtector; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9246,6 +9291,10 @@ export type FailoverGroupsCreateOrUpdateResponse = FailoverGroup & { * The response body as parsed JSON or XML */ parsedBody: FailoverGroup; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9266,6 +9315,10 @@ export type FailoverGroupsUpdateResponse = FailoverGroup & { * The response body as parsed JSON or XML */ parsedBody: FailoverGroup; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9306,6 +9359,10 @@ export type FailoverGroupsFailoverResponse = FailoverGroup & { * The response body as parsed JSON or XML */ parsedBody: FailoverGroup; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9326,6 +9383,10 @@ export type FailoverGroupsForceFailoverAllowDataLossResponse = FailoverGroup & { * The response body as parsed JSON or XML */ parsedBody: FailoverGroup; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9446,6 +9507,10 @@ export type ServerKeysCreateOrUpdateResponse = ServerKey & { * The response body as parsed JSON or XML */ parsedBody: ServerKey; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9506,6 +9571,10 @@ export type SyncAgentsCreateOrUpdateResponse = SyncAgent & { * The response body as parsed JSON or XML */ parsedBody: SyncAgent; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9717,6 +9786,10 @@ export type SyncGroupsCreateOrUpdateResponse = SyncGroup & { * The response body as parsed JSON or XML */ parsedBody: SyncGroup; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9737,6 +9810,10 @@ export type SyncGroupsUpdateResponse = SyncGroup & { * The response body as parsed JSON or XML */ parsedBody: SyncGroup; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9888,6 +9965,10 @@ export type SyncMembersCreateOrUpdateResponse = SyncMember & { * The response body as parsed JSON or XML */ parsedBody: SyncMember; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9908,6 +9989,10 @@ export type SyncMembersUpdateResponse = SyncMember & { * The response body as parsed JSON or XML */ parsedBody: SyncMember; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -10128,6 +10213,10 @@ export type VirtualClustersUpdateResponse = VirtualCluster & { * The response body as parsed JSON or XML */ parsedBody: VirtualCluster; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -10208,6 +10297,10 @@ export type VirtualNetworkRulesCreateOrUpdateResponse = VirtualNetworkRule & { * The response body as parsed JSON or XML */ parsedBody: VirtualNetworkRule; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -10368,6 +10461,10 @@ export type ExtendedServerBlobAuditingPoliciesCreateOrUpdateResponse = ExtendedS * The response body as parsed JSON or XML */ parsedBody: ExtendedServerBlobAuditingPolicy; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -10448,6 +10545,10 @@ export type ServerBlobAuditingPoliciesCreateOrUpdateResponse = ServerBlobAuditin * The response body as parsed JSON or XML */ parsedBody: ServerBlobAuditingPolicy; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -10748,6 +10849,10 @@ export type JobAgentsCreateOrUpdateResponse = JobAgent & { * The response body as parsed JSON or XML */ parsedBody: JobAgent; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -10768,6 +10873,10 @@ export type JobAgentsUpdateResponse = JobAgent & { * The response body as parsed JSON or XML */ parsedBody: JobAgent; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -10943,6 +11052,10 @@ export type JobExecutionsCreateResponse = JobExecution & { * The response body as parsed JSON or XML */ parsedBody: JobExecution; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -11038,6 +11151,10 @@ export type JobExecutionsCreateOrUpdateResponse = JobExecution & { * The response body as parsed JSON or XML */ parsedBody: JobExecution; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -12378,6 +12495,10 @@ export type BackupLongTermRetentionPoliciesCreateOrUpdateResponse = BackupLongTe * The response body as parsed JSON or XML */ parsedBody: BackupLongTermRetentionPolicy; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -12438,6 +12559,10 @@ export type ManagedBackupShortTermRetentionPoliciesCreateOrUpdateResponse = Mana * The response body as parsed JSON or XML */ parsedBody: ManagedBackupShortTermRetentionPolicy; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -12458,6 +12583,10 @@ export type ManagedBackupShortTermRetentionPoliciesUpdateResponse = ManagedBacku * The response body as parsed JSON or XML */ parsedBody: ManagedBackupShortTermRetentionPolicy; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -12538,6 +12667,10 @@ export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCrea * The response body as parsed JSON or XML */ parsedBody: ManagedBackupShortTermRetentionPolicy; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -12558,6 +12691,10 @@ export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpda * The response body as parsed JSON or XML */ parsedBody: ManagedBackupShortTermRetentionPolicy; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -12678,6 +12815,10 @@ export type ServerDnsAliasesCreateOrUpdateResponse = ServerDnsAlias & { * The response body as parsed JSON or XML */ parsedBody: ServerDnsAlias; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -12758,6 +12899,10 @@ export type ServerSecurityAlertPoliciesCreateOrUpdateResponse = ServerSecurityAl * The response body as parsed JSON or XML */ parsedBody: ServerSecurityAlertPolicy; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -12898,6 +13043,10 @@ export type RestorePointsCreateResponse = RestorePoint & { * The response body as parsed JSON or XML */ parsedBody: RestorePoint; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -13038,6 +13187,10 @@ export type ManagedServerSecurityAlertPoliciesCreateOrUpdateResponse = ManagedSe * The response body as parsed JSON or XML */ parsedBody: ManagedServerSecurityAlertPolicy; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -13312,6 +13465,10 @@ export type ManagedInstanceAdministratorsCreateOrUpdateResponse = ManagedInstanc * The response body as parsed JSON or XML */ parsedBody: ManagedInstanceAdministrator; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -13732,6 +13889,10 @@ export type InstanceFailoverGroupsCreateOrUpdateResponse = InstanceFailoverGroup * The response body as parsed JSON or XML */ parsedBody: InstanceFailoverGroup; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -13772,6 +13933,10 @@ export type InstanceFailoverGroupsFailoverResponse = InstanceFailoverGroup & { * The response body as parsed JSON or XML */ parsedBody: InstanceFailoverGroup; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -13792,6 +13957,10 @@ export type InstanceFailoverGroupsForceFailoverAllowDataLossResponse = InstanceF * The response body as parsed JSON or XML */ parsedBody: InstanceFailoverGroup; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -13852,6 +14021,10 @@ export type BackupShortTermRetentionPoliciesCreateOrUpdateResponse = BackupShort * The response body as parsed JSON or XML */ parsedBody: BackupShortTermRetentionPolicy; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -13872,6 +14045,10 @@ export type BackupShortTermRetentionPoliciesUpdateResponse = BackupShortTermRete * The response body as parsed JSON or XML */ parsedBody: BackupShortTermRetentionPolicy; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -13983,6 +14160,10 @@ export type ManagedInstanceKeysCreateOrUpdateResponse = ManagedInstanceKey & { * The response body as parsed JSON or XML */ parsedBody: ManagedInstanceKey; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -14074,6 +14255,10 @@ export type ManagedInstanceEncryptionProtectorsCreateOrUpdateResponse = ManagedI * The response body as parsed JSON or XML */ parsedBody: ManagedInstanceEncryptionProtector; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -14528,6 +14713,10 @@ export type InstancePoolsCreateOrUpdateResponse = InstancePool & { * The response body as parsed JSON or XML */ parsedBody: InstancePool; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -14548,6 +14737,10 @@ export type InstancePoolsUpdateResponse = InstancePool & { * The response body as parsed JSON or XML */ parsedBody: InstancePool; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -14770,6 +14963,10 @@ export type ManagedInstancesCreateOrUpdateResponse = ManagedInstance & { * The response body as parsed JSON or XML */ parsedBody: ManagedInstance; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -14790,6 +14987,10 @@ export type ManagedInstancesUpdateResponse = ManagedInstance & { * The response body as parsed JSON or XML */ parsedBody: ManagedInstance; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -14910,6 +15111,10 @@ export type PrivateEndpointConnectionsCreateOrUpdateResponse = PrivateEndpointCo * The response body as parsed JSON or XML */ parsedBody: PrivateEndpointConnection; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -15070,6 +15275,10 @@ export type ServersCreateOrUpdateResponse = Server & { * The response body as parsed JSON or XML */ parsedBody: Server; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -15090,6 +15299,10 @@ export type ServersUpdateResponse = Server & { * The response body as parsed JSON or XML */ parsedBody: Server; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -15701,6 +15914,10 @@ export type ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateResponse = Man * The response body as parsed JSON or XML */ parsedBody: ManagedInstanceLongTermRetentionPolicy; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -15781,6 +15998,10 @@ export type WorkloadGroupsCreateOrUpdateResponse = WorkloadGroup & { * The response body as parsed JSON or XML */ parsedBody: WorkloadGroup; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -15861,6 +16082,10 @@ export type WorkloadClassifiersCreateOrUpdateResponse = WorkloadClassifier & { * The response body as parsed JSON or XML */ parsedBody: WorkloadClassifier; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -15981,6 +16206,10 @@ export type ManagedDatabasesCreateOrUpdateResponse = ManagedDatabase & { * The response body as parsed JSON or XML */ parsedBody: ManagedDatabase; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -16001,6 +16230,10 @@ export type ManagedDatabasesUpdateResponse = ManagedDatabase & { * The response body as parsed JSON or XML */ parsedBody: ManagedDatabase; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -16101,6 +16334,10 @@ export type ServerAzureADAdministratorsCreateOrUpdateResponse = ServerAzureADAdm * The response body as parsed JSON or XML */ parsedBody: ServerAzureADAdministrator; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -16141,6 +16378,10 @@ export type ServerAzureADAdministratorsDisableAzureADOnlyAuthenticationResponse * The response body as parsed JSON or XML */ parsedBody: ServerAzureADAdministrator; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; diff --git a/test/smoke/generated/sql-resource-manager/temp/sql-resource-manager.api.json b/test/smoke/generated/sql-resource-manager/temp/sql-resource-manager.api.json index 98b19e991e..ceaa3763fe 100644 --- a/test/smoke/generated/sql-resource-manager/temp/sql-resource-manager.api.json +++ b/test/smoke/generated/sql-resource-manager/temp/sql-resource-manager.api.json @@ -748,6 +748,24 @@ "text": "BackupLongTermRetentionPolicy", "canonicalReference": "sql-resource-manager!BackupLongTermRetentionPolicy:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -761,7 +779,7 @@ "name": "BackupLongTermRetentionPoliciesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -922,6 +940,24 @@ "text": "BackupShortTermRetentionPolicy", "canonicalReference": "sql-resource-manager!BackupShortTermRetentionPolicy:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -935,7 +971,7 @@ "name": "BackupShortTermRetentionPoliciesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -1114,6 +1150,24 @@ "text": "BackupShortTermRetentionPolicy", "canonicalReference": "sql-resource-manager!BackupShortTermRetentionPolicy:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -1127,7 +1181,7 @@ "name": "BackupShortTermRetentionPoliciesUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -2792,6 +2846,24 @@ "text": "ImportExportResponse", "canonicalReference": "sql-resource-manager!ImportExportResponse:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -2805,7 +2877,7 @@ "name": "DatabasesCreateImportOperationResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -2840,6 +2912,24 @@ "text": "Database", "canonicalReference": "sql-resource-manager!Database:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -2853,7 +2943,7 @@ "name": "DatabasesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -2945,6 +3035,24 @@ "text": "ImportExportResponse", "canonicalReference": "sql-resource-manager!ImportExportResponse:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -2958,7 +3066,7 @@ "name": "DatabasesExportResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -3101,6 +3209,24 @@ "text": "ImportExportResponse", "canonicalReference": "sql-resource-manager!ImportExportResponse:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -3114,7 +3240,7 @@ "name": "DatabasesImportResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -3437,6 +3563,24 @@ "text": "Database", "canonicalReference": "sql-resource-manager!Database:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -3450,7 +3594,7 @@ "name": "DatabasesPauseResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -3485,6 +3629,24 @@ "text": "Database", "canonicalReference": "sql-resource-manager!Database:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -3498,7 +3660,7 @@ "name": "DatabasesResumeResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -3583,6 +3745,24 @@ "text": "Database", "canonicalReference": "sql-resource-manager!Database:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -3596,7 +3776,7 @@ "name": "DatabasesUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -7660,6 +7840,24 @@ "text": "ElasticPool", "canonicalReference": "sql-resource-manager!ElasticPool:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -7673,7 +7871,7 @@ "name": "ElasticPoolsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -8091,6 +8289,24 @@ "text": "ElasticPool", "canonicalReference": "sql-resource-manager!ElasticPool:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -8104,7 +8320,7 @@ "name": "ElasticPoolsUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -8443,6 +8659,24 @@ "text": "EncryptionProtector", "canonicalReference": "sql-resource-manager!EncryptionProtector:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -8456,7 +8690,7 @@ "name": "EncryptionProtectorsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -9130,6 +9364,24 @@ "text": "ExtendedServerBlobAuditingPolicy", "canonicalReference": "sql-resource-manager!ExtendedServerBlobAuditingPolicy:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -9143,7 +9395,7 @@ "name": "ExtendedServerBlobAuditingPoliciesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -9728,6 +9980,24 @@ "text": "FailoverGroup", "canonicalReference": "sql-resource-manager!FailoverGroup:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -9741,7 +10011,7 @@ "name": "FailoverGroupsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -9776,6 +10046,24 @@ "text": "FailoverGroup", "canonicalReference": "sql-resource-manager!FailoverGroup:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -9789,7 +10077,7 @@ "name": "FailoverGroupsFailoverResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -9824,6 +10112,24 @@ "text": "FailoverGroup", "canonicalReference": "sql-resource-manager!FailoverGroup:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -9837,7 +10143,7 @@ "name": "FailoverGroupsForceFailoverAllowDataLossResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -10016,6 +10322,24 @@ "text": "FailoverGroup", "canonicalReference": "sql-resource-manager!FailoverGroup:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -10029,7 +10353,7 @@ "name": "FailoverGroupsUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -11337,6 +11661,24 @@ "text": "InstanceFailoverGroup", "canonicalReference": "sql-resource-manager!InstanceFailoverGroup:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -11350,7 +11692,7 @@ "name": "InstanceFailoverGroupsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -11385,6 +11727,24 @@ "text": "InstanceFailoverGroup", "canonicalReference": "sql-resource-manager!InstanceFailoverGroup:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -11398,7 +11758,7 @@ "name": "InstanceFailoverGroupsFailoverResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -11433,6 +11793,24 @@ "text": "InstanceFailoverGroup", "canonicalReference": "sql-resource-manager!InstanceFailoverGroup:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -11446,7 +11824,7 @@ "name": "InstanceFailoverGroupsForceFailoverAllowDataLossResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -12043,6 +12421,24 @@ "text": "InstancePool", "canonicalReference": "sql-resource-manager!InstancePool:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -12056,7 +12452,7 @@ "name": "InstancePoolsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -12331,6 +12727,24 @@ "text": "InstancePool", "canonicalReference": "sql-resource-manager!InstancePool:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -12344,7 +12758,7 @@ "name": "InstancePoolsUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -12721,6 +13135,24 @@ "text": "JobAgent", "canonicalReference": "sql-resource-manager!JobAgent:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -12734,7 +13166,7 @@ "name": "JobAgentsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -12938,6 +13370,24 @@ "text": "JobAgent", "canonicalReference": "sql-resource-manager!JobAgent:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -12951,7 +13401,7 @@ "name": "JobAgentsUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -13509,6 +13959,24 @@ "text": "JobExecution", "canonicalReference": "sql-resource-manager!JobExecution:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -13522,7 +13990,7 @@ "name": "JobExecutionsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -13557,6 +14025,24 @@ "text": "JobExecution", "canonicalReference": "sql-resource-manager!JobExecution:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -13570,7 +14056,7 @@ "name": "JobExecutionsCreateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -22641,6 +23127,24 @@ "text": "ManagedBackupShortTermRetentionPolicy", "canonicalReference": "sql-resource-manager!ManagedBackupShortTermRetentionPolicy:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -22654,7 +23158,7 @@ "name": "ManagedBackupShortTermRetentionPoliciesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -22833,6 +23337,24 @@ "text": "ManagedBackupShortTermRetentionPolicy", "canonicalReference": "sql-resource-manager!ManagedBackupShortTermRetentionPolicy:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -22846,7 +23368,7 @@ "name": "ManagedBackupShortTermRetentionPoliciesUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -23258,6 +23780,24 @@ "text": "ManagedDatabase", "canonicalReference": "sql-resource-manager!ManagedDatabase:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -23271,7 +23811,7 @@ "name": "ManagedDatabasesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -24506,6 +25046,24 @@ "text": "ManagedDatabase", "canonicalReference": "sql-resource-manager!ManagedDatabase:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -24519,7 +25077,7 @@ "name": "ManagedDatabasesUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -25650,6 +26208,24 @@ "text": "ManagedInstanceAdministrator", "canonicalReference": "sql-resource-manager!ManagedInstanceAdministrator:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -25663,7 +26239,7 @@ "name": "ManagedInstanceAdministratorsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -26099,6 +26675,24 @@ "text": "ManagedInstanceEncryptionProtector", "canonicalReference": "sql-resource-manager!ManagedInstanceEncryptionProtector:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -26112,7 +26706,7 @@ "name": "ManagedInstanceEncryptionProtectorsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -26587,6 +27181,24 @@ "text": "ManagedInstanceKey", "canonicalReference": "sql-resource-manager!ManagedInstanceKey:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -26600,7 +27212,7 @@ "name": "ManagedInstanceKeysCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -27130,6 +27742,24 @@ "text": "ManagedInstanceLongTermRetentionPolicy", "canonicalReference": "sql-resource-manager!ManagedInstanceLongTermRetentionPolicy:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -27143,7 +27773,7 @@ "name": "ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -27811,6 +28441,24 @@ "text": "ManagedInstance", "canonicalReference": "sql-resource-manager!ManagedInstance:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -27824,7 +28472,7 @@ "name": "ManagedInstancesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -28195,6 +28843,24 @@ "text": "ManagedInstance", "canonicalReference": "sql-resource-manager!ManagedInstance:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -28208,7 +28874,7 @@ "name": "ManagedInstancesUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -29466,6 +30132,24 @@ "text": "ManagedBackupShortTermRetentionPolicy", "canonicalReference": "sql-resource-manager!ManagedBackupShortTermRetentionPolicy:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -29479,7 +30163,7 @@ "name": "ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -29658,6 +30342,24 @@ "text": "ManagedBackupShortTermRetentionPolicy", "canonicalReference": "sql-resource-manager!ManagedBackupShortTermRetentionPolicy:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -29671,7 +30373,7 @@ "name": "ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -29731,6 +30433,24 @@ "text": "ManagedServerSecurityAlertPolicy", "canonicalReference": "sql-resource-manager!ManagedServerSecurityAlertPolicy:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -29744,7 +30464,7 @@ "name": "ManagedServerSecurityAlertPoliciesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -32284,6 +33004,24 @@ "text": "PrivateEndpointConnection", "canonicalReference": "sql-resource-manager!PrivateEndpointConnection:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -32297,7 +33035,7 @@ "name": "PrivateEndpointConnectionsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -35421,6 +36159,24 @@ "text": "RestorePoint", "canonicalReference": "sql-resource-manager!RestorePoint:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -35434,7 +36190,7 @@ "name": "RestorePointsCreateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -36773,6 +37529,24 @@ "text": "ServerAzureADAdministrator", "canonicalReference": "sql-resource-manager!ServerAzureADAdministrator:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -36786,7 +37560,7 @@ "name": "ServerAzureADAdministratorsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -36821,6 +37595,24 @@ "text": "ServerAzureADAdministrator", "canonicalReference": "sql-resource-manager!ServerAzureADAdministrator:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -36834,7 +37626,7 @@ "name": "ServerAzureADAdministratorsDisableAzureADOnlyAuthenticationResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -36927,7 +37719,55 @@ } ], "releaseTag": "Public", - "name": "ServerAzureADAdministratorsListByServerNextResponse", + "name": "ServerAzureADAdministratorsListByServerNextResponse", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 7 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "sql-resource-manager!ServerAzureADAdministratorsListByServerResponse:type", + "docComment": "/**\n * Contains response data for the listByServer operation.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "export declare type ServerAzureADAdministratorsListByServerResponse = " + }, + { + "kind": "Reference", + "text": "AdministratorListResult", + "canonicalReference": "sql-resource-manager!AdministratorListResult:interface" + }, + { + "kind": "Content", + "text": " & {\n _response: coreHttp." + }, + { + "kind": "Reference", + "text": "HttpResponse", + "canonicalReference": "@azure/core-http!HttpResponse:interface" + }, + { + "kind": "Content", + "text": " & {\n bodyAsText: string;\n parsedBody: " + }, + { + "kind": "Reference", + "text": "AdministratorListResult", + "canonicalReference": "sql-resource-manager!AdministratorListResult:interface" + }, + { + "kind": "Content", + "text": ";\n };\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "releaseTag": "Public", + "name": "ServerAzureADAdministratorsListByServerResponse", "typeTokenRange": { "startIndex": 1, "endIndex": 7 @@ -36935,17 +37775,17 @@ }, { "kind": "TypeAlias", - "canonicalReference": "sql-resource-manager!ServerAzureADAdministratorsListByServerResponse:type", - "docComment": "/**\n * Contains response data for the listByServer operation.\n */\n", + "canonicalReference": "sql-resource-manager!ServerBlobAuditingPoliciesCreateOrUpdateResponse:type", + "docComment": "/**\n * Contains response data for the createOrUpdate operation.\n */\n", "excerptTokens": [ { "kind": "Content", - "text": "export declare type ServerAzureADAdministratorsListByServerResponse = " + "text": "export declare type ServerBlobAuditingPoliciesCreateOrUpdateResponse = " }, { "kind": "Reference", - "text": "AdministratorListResult", - "canonicalReference": "sql-resource-manager!AdministratorListResult:interface" + "text": "ServerBlobAuditingPolicy", + "canonicalReference": "sql-resource-manager!ServerBlobAuditingPolicy:type" }, { "kind": "Content", @@ -36960,36 +37800,6 @@ "kind": "Content", "text": " & {\n bodyAsText: string;\n parsedBody: " }, - { - "kind": "Reference", - "text": "AdministratorListResult", - "canonicalReference": "sql-resource-manager!AdministratorListResult:interface" - }, - { - "kind": "Content", - "text": ";\n };\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "releaseTag": "Public", - "name": "ServerAzureADAdministratorsListByServerResponse", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 7 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "sql-resource-manager!ServerBlobAuditingPoliciesCreateOrUpdateResponse:type", - "docComment": "/**\n * Contains response data for the createOrUpdate operation.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare type ServerBlobAuditingPoliciesCreateOrUpdateResponse = " - }, { "kind": "Reference", "text": "ServerBlobAuditingPolicy", @@ -36997,21 +37807,21 @@ }, { "kind": "Content", - "text": " & {\n _response: coreHttp." + "text": ";\n [" }, { "kind": "Reference", - "text": "HttpResponse", - "canonicalReference": "@azure/core-http!HttpResponse:interface" + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" }, { "kind": "Content", - "text": " & {\n bodyAsText: string;\n parsedBody: " + "text": "]: " }, { "kind": "Reference", - "text": "ServerBlobAuditingPolicy", - "canonicalReference": "sql-resource-manager!ServerBlobAuditingPolicy:type" + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" }, { "kind": "Content", @@ -37026,7 +37836,7 @@ "name": "ServerBlobAuditingPoliciesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -37391,6 +38201,24 @@ "text": "ServerCommunicationLink", "canonicalReference": "sql-resource-manager!ServerCommunicationLink:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -37404,7 +38232,7 @@ "name": "ServerCommunicationLinksCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -37766,6 +38594,24 @@ "text": "ServerDnsAlias", "canonicalReference": "sql-resource-manager!ServerDnsAlias:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -37779,7 +38625,7 @@ "name": "ServerDnsAliasesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -38148,6 +38994,24 @@ "text": "ServerKey", "canonicalReference": "sql-resource-manager!ServerKey:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -38161,7 +39025,7 @@ "name": "ServerKeysCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -38576,6 +39440,24 @@ "text": "Server", "canonicalReference": "sql-resource-manager!Server:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -38589,7 +39471,7 @@ "name": "ServersCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -38624,6 +39506,24 @@ "text": "ServerSecurityAlertPolicy", "canonicalReference": "sql-resource-manager!ServerSecurityAlertPolicy:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -38637,7 +39537,7 @@ "name": "ServerSecurityAlertPoliciesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -39104,6 +40004,24 @@ "text": "Server", "canonicalReference": "sql-resource-manager!Server:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -39117,7 +40035,7 @@ "name": "ServersUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -44626,6 +45544,24 @@ "text": "SyncAgent", "canonicalReference": "sql-resource-manager!SyncAgent:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -44639,7 +45575,7 @@ "name": "SyncAgentsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -46263,6 +47199,24 @@ "text": "SyncGroup", "canonicalReference": "sql-resource-manager!SyncGroup:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -46276,7 +47230,7 @@ "name": "SyncGroupsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -46886,6 +47840,24 @@ "text": "SyncGroup", "canonicalReference": "sql-resource-manager!SyncGroup:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -46899,7 +47871,7 @@ "name": "SyncGroupsUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -47087,6 +48059,24 @@ "text": "SyncMember", "canonicalReference": "sql-resource-manager!SyncMember:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -47100,7 +48090,7 @@ "name": "SyncMembersCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -47400,6 +48390,24 @@ "text": "SyncMember", "canonicalReference": "sql-resource-manager!SyncMember:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -47413,7 +48421,7 @@ "name": "SyncMembersUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -48760,6 +49768,24 @@ "text": "VirtualCluster", "canonicalReference": "sql-resource-manager!VirtualCluster:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -48773,7 +49799,7 @@ "name": "VirtualClustersUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -49034,6 +50060,24 @@ "text": "VirtualNetworkRule", "canonicalReference": "sql-resource-manager!VirtualNetworkRule:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -49047,7 +50091,7 @@ "name": "VirtualNetworkRulesCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -49755,6 +50799,24 @@ "text": "WorkloadClassifier", "canonicalReference": "sql-resource-manager!WorkloadClassifier:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -49768,7 +50830,7 @@ "name": "WorkloadClassifiersCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -50048,6 +51110,24 @@ "text": "WorkloadGroup", "canonicalReference": "sql-resource-manager!WorkloadGroup:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "sql-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "sql-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -50061,7 +51141,7 @@ "name": "WorkloadGroupsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { diff --git a/test/smoke/generated/sql-resource-manager/temp/sql-resource-manager.api.md b/test/smoke/generated/sql-resource-manager/temp/sql-resource-manager.api.md index 75a7c9f81a..ca46ad0fe4 100644 --- a/test/smoke/generated/sql-resource-manager/temp/sql-resource-manager.api.md +++ b/test/smoke/generated/sql-resource-manager/temp/sql-resource-manager.api.md @@ -6,6 +6,7 @@ import * as coreHttp from '@azure/core-http'; import { HttpMethods } from '@azure/core-http'; +import { HttpOperationResponse } from '@azure/core-http'; import { OperationArguments } from '@azure/core-http'; import { OperationSpec } from '@azure/core-http'; import { Poller } from '@azure/core-lro'; @@ -76,6 +77,7 @@ export type BackupLongTermRetentionPoliciesCreateOrUpdateResponse = BackupLongTe _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: BackupLongTermRetentionPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -108,6 +110,7 @@ export type BackupShortTermRetentionPoliciesCreateOrUpdateResponse = BackupShort _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: BackupShortTermRetentionPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -140,6 +143,7 @@ export type BackupShortTermRetentionPoliciesUpdateResponse = BackupShortTermRete _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: BackupShortTermRetentionPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -389,6 +393,7 @@ export type DatabasesCreateImportOperationResponse = ImportExportResponse & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ImportExportResponse; + [LROSYM]: LROResponseInfo; }; }; @@ -397,6 +402,7 @@ export type DatabasesCreateOrUpdateResponse = Database & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Database; + [LROSYM]: LROResponseInfo; }; }; @@ -419,6 +425,7 @@ export type DatabasesExportResponse = ImportExportResponse & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ImportExportResponse; + [LROSYM]: LROResponseInfo; }; }; @@ -440,6 +447,7 @@ export type DatabasesImportResponse = ImportExportResponse & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ImportExportResponse; + [LROSYM]: LROResponseInfo; }; }; @@ -496,6 +504,7 @@ export type DatabasesPauseResponse = Database & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Database; + [LROSYM]: LROResponseInfo; }; }; @@ -504,6 +513,7 @@ export type DatabasesResumeResponse = Database & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Database; + [LROSYM]: LROResponseInfo; }; }; @@ -518,6 +528,7 @@ export type DatabasesUpdateResponse = Database & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Database; + [LROSYM]: LROResponseInfo; }; }; @@ -981,6 +992,7 @@ export type ElasticPoolsCreateOrUpdateResponse = ElasticPool & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ElasticPool; + [LROSYM]: LROResponseInfo; }; }; @@ -1042,6 +1054,7 @@ export type ElasticPoolsUpdateResponse = ElasticPool & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ElasticPool; + [LROSYM]: LROResponseInfo; }; }; @@ -1082,6 +1095,7 @@ export type EncryptionProtectorsCreateOrUpdateResponse = EncryptionProtector & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: EncryptionProtector; + [LROSYM]: LROResponseInfo; }; }; @@ -1179,6 +1193,7 @@ export type ExtendedServerBlobAuditingPoliciesCreateOrUpdateResponse = ExtendedS _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ExtendedServerBlobAuditingPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -1268,6 +1283,7 @@ export type FailoverGroupsCreateOrUpdateResponse = FailoverGroup & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FailoverGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -1276,6 +1292,7 @@ export type FailoverGroupsFailoverResponse = FailoverGroup & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FailoverGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -1284,6 +1301,7 @@ export type FailoverGroupsForceFailoverAllowDataLossResponse = FailoverGroup & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FailoverGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -1316,6 +1334,7 @@ export type FailoverGroupsUpdateResponse = FailoverGroup & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FailoverGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -1486,6 +1505,7 @@ export type InstanceFailoverGroupsCreateOrUpdateResponse = InstanceFailoverGroup _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: InstanceFailoverGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -1494,6 +1514,7 @@ export type InstanceFailoverGroupsFailoverResponse = InstanceFailoverGroup & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: InstanceFailoverGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -1502,6 +1523,7 @@ export type InstanceFailoverGroupsForceFailoverAllowDataLossResponse = InstanceF _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: InstanceFailoverGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -1568,6 +1590,7 @@ export type InstancePoolsCreateOrUpdateResponse = InstancePool & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: InstancePool; + [LROSYM]: LROResponseInfo; }; }; @@ -1616,6 +1639,7 @@ export type InstancePoolsUpdateResponse = InstancePool & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: InstancePool; + [LROSYM]: LROResponseInfo; }; }; @@ -1660,6 +1684,7 @@ export type JobAgentsCreateOrUpdateResponse = JobAgent & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: JobAgent; + [LROSYM]: LROResponseInfo; }; }; @@ -1695,6 +1720,7 @@ export type JobAgentsUpdateResponse = JobAgent & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: JobAgent; + [LROSYM]: LROResponseInfo; }; }; @@ -1780,6 +1806,7 @@ export type JobExecutionsCreateOrUpdateResponse = JobExecution & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: JobExecution; + [LROSYM]: LROResponseInfo; }; }; @@ -1788,6 +1815,7 @@ export type JobExecutionsCreateResponse = JobExecution & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: JobExecution; + [LROSYM]: LROResponseInfo; }; }; @@ -2690,6 +2718,7 @@ export type ManagedBackupShortTermRetentionPoliciesCreateOrUpdateResponse = Mana _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedBackupShortTermRetentionPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -2722,6 +2751,7 @@ export type ManagedBackupShortTermRetentionPoliciesUpdateResponse = ManagedBacku _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedBackupShortTermRetentionPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -2791,6 +2821,7 @@ export type ManagedDatabasesCreateOrUpdateResponse = ManagedDatabase & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedDatabase; + [LROSYM]: LROResponseInfo; }; }; @@ -2966,6 +2997,7 @@ export type ManagedDatabasesUpdateResponse = ManagedDatabase & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedDatabase; + [LROSYM]: LROResponseInfo; }; }; @@ -3115,6 +3147,7 @@ export type ManagedInstanceAdministratorsCreateOrUpdateResponse = ManagedInstanc _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedInstanceAdministrator; + [LROSYM]: LROResponseInfo; }; }; @@ -3173,6 +3206,7 @@ export type ManagedInstanceEncryptionProtectorsCreateOrUpdateResponse = ManagedI _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedInstanceEncryptionProtector; + [LROSYM]: LROResponseInfo; }; }; @@ -3230,6 +3264,7 @@ export type ManagedInstanceKeysCreateOrUpdateResponse = ManagedInstanceKey & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedInstanceKey; + [LROSYM]: LROResponseInfo; }; }; @@ -3297,6 +3332,7 @@ export type ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateResponse = Man _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedInstanceLongTermRetentionPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -3402,6 +3438,7 @@ export type ManagedInstancesCreateOrUpdateResponse = ManagedInstance & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedInstance; + [LROSYM]: LROResponseInfo; }; }; @@ -3466,6 +3503,7 @@ export type ManagedInstancesUpdateResponse = ManagedInstance & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedInstance; + [LROSYM]: LROResponseInfo; }; }; @@ -3568,6 +3606,7 @@ export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCrea _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedBackupShortTermRetentionPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -3600,6 +3639,7 @@ export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpda _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedBackupShortTermRetentionPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -3611,6 +3651,7 @@ export type ManagedServerSecurityAlertPoliciesCreateOrUpdateResponse = ManagedSe _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ManagedServerSecurityAlertPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -3849,6 +3890,7 @@ export type PrivateEndpointConnectionsCreateOrUpdateResponse = PrivateEndpointCo _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PrivateEndpointConnection; + [LROSYM]: LROResponseInfo; }; }; @@ -4268,6 +4310,7 @@ export type RestorePointsCreateResponse = RestorePoint & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: RestorePoint; + [LROSYM]: LROResponseInfo; }; }; @@ -4457,6 +4500,7 @@ export type ServerAzureADAdministratorsCreateOrUpdateResponse = ServerAzureADAdm _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ServerAzureADAdministrator; + [LROSYM]: LROResponseInfo; }; }; @@ -4465,6 +4509,7 @@ export type ServerAzureADAdministratorsDisableAzureADOnlyAuthenticationResponse _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ServerAzureADAdministrator; + [LROSYM]: LROResponseInfo; }; }; @@ -4497,6 +4542,7 @@ export type ServerBlobAuditingPoliciesCreateOrUpdateResponse = ServerBlobAuditin _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ServerBlobAuditingPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -4561,6 +4607,7 @@ export type ServerCommunicationLinksCreateOrUpdateResponse = ServerCommunication _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ServerCommunicationLink; + [LROSYM]: LROResponseInfo; }; }; @@ -4621,6 +4668,7 @@ export type ServerDnsAliasesCreateOrUpdateResponse = ServerDnsAlias & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ServerDnsAlias; + [LROSYM]: LROResponseInfo; }; }; @@ -4676,6 +4724,7 @@ export type ServerKeysCreateOrUpdateResponse = ServerKey & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ServerKey; + [LROSYM]: LROResponseInfo; }; }; @@ -4734,6 +4783,7 @@ export type ServersCreateOrUpdateResponse = Server & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Server; + [LROSYM]: LROResponseInfo; }; }; @@ -4742,6 +4792,7 @@ export type ServerSecurityAlertPoliciesCreateOrUpdateResponse = ServerSecurityAl _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: ServerSecurityAlertPolicy; + [LROSYM]: LROResponseInfo; }; }; @@ -4826,6 +4877,7 @@ export type ServersUpdateResponse = Server & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Server; + [LROSYM]: LROResponseInfo; }; }; @@ -5514,6 +5566,7 @@ export type SyncAgentsCreateOrUpdateResponse = SyncAgent & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SyncAgent; + [LROSYM]: LROResponseInfo; }; }; @@ -5678,6 +5731,7 @@ export type SyncGroupsCreateOrUpdateResponse = SyncGroup & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SyncGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -5771,6 +5825,7 @@ export type SyncGroupsUpdateResponse = SyncGroup & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SyncGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -5801,6 +5856,7 @@ export type SyncMembersCreateOrUpdateResponse = SyncMember & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SyncMember; + [LROSYM]: LROResponseInfo; }; }; @@ -5852,6 +5908,7 @@ export type SyncMembersUpdateResponse = SyncMember & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SyncMember; + [LROSYM]: LROResponseInfo; }; }; @@ -6032,6 +6089,7 @@ export type VirtualClustersUpdateResponse = VirtualCluster & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualCluster; + [LROSYM]: LROResponseInfo; }; }; @@ -6063,6 +6121,7 @@ export type VirtualNetworkRulesCreateOrUpdateResponse = VirtualNetworkRule & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: VirtualNetworkRule; + [LROSYM]: LROResponseInfo; }; }; @@ -6157,6 +6216,7 @@ export type WorkloadClassifiersCreateOrUpdateResponse = WorkloadClassifier & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: WorkloadClassifier; + [LROSYM]: LROResponseInfo; }; }; @@ -6205,6 +6265,7 @@ export type WorkloadGroupsCreateOrUpdateResponse = WorkloadGroup & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: WorkloadGroup; + [LROSYM]: LROResponseInfo; }; }; @@ -6233,6 +6294,10 @@ export type WorkloadGroupsListByDatabaseResponse = WorkloadGroupListResult & { }; +// Warnings were encountered during analysis: +// +// src/models/index.ts:12501:5 - (ae-forgotten-export) The symbol "LROResponseInfo" needs to be exported by the entry point index.d.ts + // (No @packageDocumentation comment for this package) ``` diff --git a/test/smoke/generated/storage-resource-manager/review/storage-resource-manager.api.md b/test/smoke/generated/storage-resource-manager/review/storage-resource-manager.api.md index 26acd50895..611d099124 100644 --- a/test/smoke/generated/storage-resource-manager/review/storage-resource-manager.api.md +++ b/test/smoke/generated/storage-resource-manager/review/storage-resource-manager.api.md @@ -6,6 +6,7 @@ import * as coreHttp from '@azure/core-http'; import { HttpMethods } from '@azure/core-http'; +import { HttpOperationResponse } from '@azure/core-http'; import { OperationArguments } from '@azure/core-http'; import { OperationSpec } from '@azure/core-http'; import { Poller } from '@azure/core-lro'; @@ -1264,6 +1265,7 @@ export type StorageAccountsCreateResponse = StorageAccount & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: StorageAccount; + [LROSYM]: LROResponseInfo; }; }; @@ -1341,6 +1343,7 @@ export type StorageAccountsRestoreBlobRangesResponse = BlobRestoreStatus & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: BlobRestoreStatus; + [LROSYM]: LROResponseInfo; }; }; @@ -1522,6 +1525,10 @@ export interface VirtualNetworkRule { } +// Warnings were encountered during analysis: +// +// src/models/index.ts:2670:5 - (ae-forgotten-export) The symbol "LROResponseInfo" needs to be exported by the entry point index.d.ts + // (No @packageDocumentation comment for this package) ``` diff --git a/test/smoke/generated/storage-resource-manager/src/lro/azureAsyncOperationStrategy.ts b/test/smoke/generated/storage-resource-manager/src/lro/azureAsyncOperationStrategy.ts index ecdc300c1f..f54ccc954f 100644 --- a/test/smoke/generated/storage-resource-manager/src/lro/azureAsyncOperationStrategy.ts +++ b/test/smoke/generated/storage-resource-manager/src/lro/azureAsyncOperationStrategy.ts @@ -11,9 +11,14 @@ import { BaseResult, LROOperationStep, LROResponseInfo, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; -import { OperationSpec, OperationArguments } from "@azure/core-http"; +import { + OperationSpec, + OperationArguments, + OperationResponse +} from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "."; @@ -22,7 +27,7 @@ export function createAzureAsyncOperationStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -35,7 +40,7 @@ export function createAzureAsyncOperationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); @@ -51,16 +56,16 @@ export function createAzureAsyncOperationStrategy( return terminalStates.includes(status.toLowerCase()); }, sendFinalRequest: async () => { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - if (!currentOperation.result._lroData) { + if (!currentOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - const initialOperationResult = initialOperation.result._lroData; - const currentOperationResult = currentOperation.result._lroData; + const initialOperationResult = initialOperation.result._response[LROSYM]; + const currentOperationResult = currentOperation.result._response[LROSYM]; if ( !shouldPerformFinalGet(initialOperationResult, currentOperationResult) @@ -68,7 +73,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.requestMethod === "PUT") { + if (initialOperationResult?.requestMethod === "PUT") { currentOperation = await sendFinalGet( initialOperation, sendOperationFn @@ -77,7 +82,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.location) { + if (initialOperationResult?.location) { switch (finalStateVia) { case "original-uri": currentOperation = await sendFinalGet( @@ -92,7 +97,7 @@ export function createAzureAsyncOperationStrategy( default: const location = initialOperationResult.location || - currentOperationResult.location; + currentOperationResult?.location; if (!location) { throw new Error("Couldn't determine final GET URL from location"); @@ -116,9 +121,11 @@ export function createAzureAsyncOperationStrategy( const pollingArgs = currentOperation.args; // Make sure we don't send any body to the get request - const { requestBody, ...restSpec } = currentOperation.spec; + const { requestBody, responses, ...restSpec } = currentOperation.spec; + const pollingSpec: OperationSpec = { ...restSpec, + responses: getCompositeMappers(responses), httpMethod: "GET", path: lastKnownPollingUrl }; @@ -127,8 +134,8 @@ export function createAzureAsyncOperationStrategy( // Update latest polling url lastKnownPollingUrl = - result._lroData?.azureAsyncOperation || - result._lroData?.operationLocation || + result._response[LROSYM]?.azureAsyncOperation || + result._response[LROSYM]?.operationLocation || lastKnownPollingUrl; // Update lastOperation result @@ -143,12 +150,47 @@ export function createAzureAsyncOperationStrategy( }; } +/** + * Polling calls will always return a status object i.e. {"status": "success"} + * these intermediate responses are not described in the swagger so we need to + * pass custom mappers at runtime. + * This function replaces all the existing mappers to be able to deserialize a status object + * @param responses Original set of responses defined in the operation + */ +function getCompositeMappers(responses: { + [responseCode: string]: OperationResponse; +}): { + [responseCode: string]: OperationResponse; +} { + return Object.keys(responses).reduce((acc, statusCode) => { + return { + ...acc, + [statusCode]: { + ...responses[statusCode], + bodyMapper: { + type: { + name: "Composite", + modelProperties: { + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } + } + } + }; + }, {} as { [responseCode: string]: OperationResponse }); +} + function shouldPerformFinalGet( - initialResult: LROResponseInfo, - currentResult: LROResponseInfo + initialResult?: LROResponseInfo, + currentResult?: LROResponseInfo ) { - const { status } = currentResult; - const { requestMethod: initialRequestMethod, location } = initialResult; + const { status } = currentResult || {}; + const { requestMethod: initialRequestMethod, location } = initialResult || {}; if (status && status.toLowerCase() !== "succeeded") { return false; } diff --git a/test/smoke/generated/storage-resource-manager/src/lro/bodyPollingStrategy.ts b/test/smoke/generated/storage-resource-manager/src/lro/bodyPollingStrategy.ts index 35cc6bac2a..c9404330ed 100644 --- a/test/smoke/generated/storage-resource-manager/src/lro/bodyPollingStrategy.ts +++ b/test/smoke/generated/storage-resource-manager/src/lro/bodyPollingStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { LROStrategy, BaseResult, LROOperationStep } from "./models"; +import { LROStrategy, BaseResult, LROOperationStep, LROSYM } from "./models"; import { OperationSpec } from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "./lroPoller"; @@ -19,7 +19,7 @@ export function createBodyPollingStrategy( initialOperation: LROOperationStep, sendOperation: SendOperationFn ): LROStrategy { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to be defined for BodyPolling strategy"); } @@ -27,7 +27,7 @@ export function createBodyPollingStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } diff --git a/test/smoke/generated/storage-resource-manager/src/lro/locationStrategy.ts b/test/smoke/generated/storage-resource-manager/src/lro/locationStrategy.ts index 1a5c8d462e..6a763e37ec 100644 --- a/test/smoke/generated/storage-resource-manager/src/lro/locationStrategy.ts +++ b/test/smoke/generated/storage-resource-manager/src/lro/locationStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationStep, LROStrategy } from "./models"; +import { BaseResult, LROOperationStep, LROStrategy, LROSYM } from "./models"; import { SendOperationFn } from "./lroPoller"; import { OperationSpec } from "@azure/core-http"; @@ -14,7 +14,7 @@ export function createLocationStrategy( initialOperation: LROOperationStep, sendOperationFn: SendOperationFn ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -26,7 +26,7 @@ export function createLocationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } @@ -59,7 +59,8 @@ export function createLocationStrategy( const result = await sendOperationFn(pollingArgs, pollingSpec); // Update latest polling url - lastKnownPollingUrl = result._lroData?.location || lastKnownPollingUrl; + lastKnownPollingUrl = + result._response[LROSYM]?.location || lastKnownPollingUrl; // Update lastOperation result currentOperation = { diff --git a/test/smoke/generated/storage-resource-manager/src/lro/lroPolicy.ts b/test/smoke/generated/storage-resource-manager/src/lro/lroPolicy.ts index 0591f541b3..4d18c3b7f0 100644 --- a/test/smoke/generated/storage-resource-manager/src/lro/lroPolicy.ts +++ b/test/smoke/generated/storage-resource-manager/src/lro/lroPolicy.ts @@ -13,6 +13,7 @@ import { HttpOperationResponse, WebResource } from "@azure/core-http"; +import { LROOperationResponse, LROSYM } from "./models"; import { getLROData } from "./requestUtils"; export function lroPolicy() { @@ -31,12 +32,12 @@ class LROPolicy extends BaseRequestPolicy { public async sendRequest( webResource: WebResource ): Promise { - let result = await this._nextPolicy.sendRequest(webResource); + let result: LROOperationResponse = await this._nextPolicy.sendRequest( + webResource + ); + const _lroData = getLROData(result); - if (webResource.shouldDeserialize !== undefined) { - const _lroData = getLROData(result); - result.parsedBody = { ...result.parsedBody, _lroData }; - } + result[LROSYM] = _lroData; return result; } diff --git a/test/smoke/generated/storage-resource-manager/src/lro/lroPoller.ts b/test/smoke/generated/storage-resource-manager/src/lro/lroPoller.ts index bc2f2aa05a..8c0406cf24 100644 --- a/test/smoke/generated/storage-resource-manager/src/lro/lroPoller.ts +++ b/test/smoke/generated/storage-resource-manager/src/lro/lroPoller.ts @@ -17,7 +17,8 @@ import { BaseResult, LROOperationState, LROOperationStep, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; import { makeOperation } from "./operation"; import { createBodyPollingStrategy } from "./bodyPollingStrategy"; @@ -122,7 +123,7 @@ function getPollingStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ) { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { const error = new RestError( diff --git a/test/smoke/generated/storage-resource-manager/src/lro/models.ts b/test/smoke/generated/storage-resource-manager/src/lro/models.ts index a90afc5b41..c4b96664f6 100644 --- a/test/smoke/generated/storage-resource-manager/src/lro/models.ts +++ b/test/smoke/generated/storage-resource-manager/src/lro/models.ts @@ -10,9 +10,11 @@ import { OperationArguments, OperationSpec, RestResponse, - HttpMethods + HttpMethods, + HttpOperationResponse } from "@azure/core-http"; import { PollOperationState, PollOperation } from "@azure/core-lro"; +export const LROSYM = Symbol("LROData"); export type FinalStateVia = | "azure-async-operation" @@ -30,8 +32,21 @@ export interface LROResponseInfo { status?: string; } +/** + * Extended operation response for LROs + */ +export type LROOperationResponse = HttpOperationResponse & { + /** + * Symbol that contains LRO details + */ + [LROSYM]?: LROResponseInfo; +}; + export interface BaseResult extends RestResponse { - _lroData?: LROResponseInfo; + /** + * The underlying HTTP response containing both raw and deserialized response data. + */ + _response: LROOperationResponse; } export interface LROOperationStep { diff --git a/test/smoke/generated/storage-resource-manager/src/lro/operation.ts b/test/smoke/generated/storage-resource-manager/src/lro/operation.ts index 9cda560a02..0860f07df0 100644 --- a/test/smoke/generated/storage-resource-manager/src/lro/operation.ts +++ b/test/smoke/generated/storage-resource-manager/src/lro/operation.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationState, LROOperation } from "./models"; +import { BaseResult, LROOperationState, LROOperation, LROSYM } from "./models"; /** * Creates a copy of the operation from a given State @@ -46,7 +46,7 @@ async function update( const { sendFinalRequest, poll, isTerminal } = state.pollingStrategy; const currentResponse = state.lastOperation; - const currentLroData = currentResponse.result._lroData; + const currentLroData = currentResponse.result._response[LROSYM]; if (!currentLroData) { throw new Error( diff --git a/test/smoke/generated/storage-resource-manager/src/models/index.ts b/test/smoke/generated/storage-resource-manager/src/models/index.ts index c04812114d..6989863fc7 100644 --- a/test/smoke/generated/storage-resource-manager/src/models/index.ts +++ b/test/smoke/generated/storage-resource-manager/src/models/index.ts @@ -7,6 +7,7 @@ */ import * as coreHttp from "@azure/core-http"; +import { LROSYM, LROResponseInfo } from "../lro/models"; /** * Result of the request to list Storage operations. It contains a list of operations and a URL link to get the next set of results. @@ -2663,6 +2664,10 @@ export type StorageAccountsCreateResponse = StorageAccount & { * The response body as parsed JSON or XML */ parsedBody: StorageAccount; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -2854,6 +2859,10 @@ export type StorageAccountsRestoreBlobRangesResponse = BlobRestoreStatus & { * The response body as parsed JSON or XML */ parsedBody: BlobRestoreStatus; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; diff --git a/test/smoke/generated/storage-resource-manager/temp/storage-resource-manager.api.json b/test/smoke/generated/storage-resource-manager/temp/storage-resource-manager.api.json index b7d5149bbb..662ed42144 100644 --- a/test/smoke/generated/storage-resource-manager/temp/storage-resource-manager.api.json +++ b/test/smoke/generated/storage-resource-manager/temp/storage-resource-manager.api.json @@ -12277,6 +12277,24 @@ "text": "StorageAccount", "canonicalReference": "storage-resource-manager!StorageAccount:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "storage-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "storage-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -12290,7 +12308,7 @@ "name": "StorageAccountsCreateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -12769,6 +12787,24 @@ "text": "BlobRestoreStatus", "canonicalReference": "storage-resource-manager!BlobRestoreStatus:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "storage-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "storage-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -12782,7 +12818,7 @@ "name": "StorageAccountsRestoreBlobRangesResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { diff --git a/test/smoke/generated/storage-resource-manager/temp/storage-resource-manager.api.md b/test/smoke/generated/storage-resource-manager/temp/storage-resource-manager.api.md index 26acd50895..611d099124 100644 --- a/test/smoke/generated/storage-resource-manager/temp/storage-resource-manager.api.md +++ b/test/smoke/generated/storage-resource-manager/temp/storage-resource-manager.api.md @@ -6,6 +6,7 @@ import * as coreHttp from '@azure/core-http'; import { HttpMethods } from '@azure/core-http'; +import { HttpOperationResponse } from '@azure/core-http'; import { OperationArguments } from '@azure/core-http'; import { OperationSpec } from '@azure/core-http'; import { Poller } from '@azure/core-lro'; @@ -1264,6 +1265,7 @@ export type StorageAccountsCreateResponse = StorageAccount & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: StorageAccount; + [LROSYM]: LROResponseInfo; }; }; @@ -1341,6 +1343,7 @@ export type StorageAccountsRestoreBlobRangesResponse = BlobRestoreStatus & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: BlobRestoreStatus; + [LROSYM]: LROResponseInfo; }; }; @@ -1522,6 +1525,10 @@ export interface VirtualNetworkRule { } +// Warnings were encountered during analysis: +// +// src/models/index.ts:2670:5 - (ae-forgotten-export) The symbol "LROResponseInfo" needs to be exported by the entry point index.d.ts + // (No @packageDocumentation comment for this package) ``` diff --git a/test/smoke/generated/web-resource-manager/review/web-resource-manager.api.md b/test/smoke/generated/web-resource-manager/review/web-resource-manager.api.md index b6d96f6e18..ae6ba97f0d 100644 --- a/test/smoke/generated/web-resource-manager/review/web-resource-manager.api.md +++ b/test/smoke/generated/web-resource-manager/review/web-resource-manager.api.md @@ -6,6 +6,7 @@ import * as coreHttp from '@azure/core-http'; import { HttpMethods } from '@azure/core-http'; +import { HttpOperationResponse } from '@azure/core-http'; import { OperationArguments } from '@azure/core-http'; import { OperationSpec } from '@azure/core-http'; import { Poller } from '@azure/core-lro'; @@ -197,6 +198,7 @@ export type AppServiceCertificateOrdersCreateOrUpdateCertificateResponse = AppSe _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: AppServiceCertificateResource; + [LROSYM]: LROResponseInfo; }; }; @@ -205,6 +207,7 @@ export type AppServiceCertificateOrdersCreateOrUpdateResponse = AppServiceCertif _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: AppServiceCertificateOrder; + [LROSYM]: LROResponseInfo; }; }; @@ -474,6 +477,7 @@ export type AppServiceEnvironmentsChangeVnetResponse = WebAppCollection & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: WebAppCollection; + [LROSYM]: LROResponseInfo; }; }; @@ -482,6 +486,7 @@ export type AppServiceEnvironmentsCreateOrUpdateMultiRolePoolResponse = WorkerPo _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: WorkerPoolResource; + [LROSYM]: LROResponseInfo; }; }; @@ -490,6 +495,7 @@ export type AppServiceEnvironmentsCreateOrUpdateResponse = AppServiceEnvironment _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: AppServiceEnvironmentResource; + [LROSYM]: LROResponseInfo; }; }; @@ -498,6 +504,7 @@ export type AppServiceEnvironmentsCreateOrUpdateWorkerPoolResponse = WorkerPoolR _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: WorkerPoolResource; + [LROSYM]: LROResponseInfo; }; }; @@ -883,6 +890,7 @@ export type AppServiceEnvironmentsResumeResponse = WebAppCollection & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: WebAppCollection; + [LROSYM]: LROResponseInfo; }; }; @@ -899,6 +907,7 @@ export type AppServiceEnvironmentsSuspendResponse = WebAppCollection & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: WebAppCollection; + [LROSYM]: LROResponseInfo; }; }; @@ -987,6 +996,7 @@ export type AppServicePlansCreateOrUpdateResponse = AppServicePlan & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: AppServicePlan; + [LROSYM]: LROResponseInfo; }; }; @@ -2549,6 +2559,7 @@ export type DomainsCreateOrUpdateResponse = Domain & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Domain; + [LROSYM]: LROResponseInfo; }; }; @@ -5200,6 +5211,7 @@ export type WebAppsApproveOrRejectPrivateEndpointConnectionResponse = PrivateEnd _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PrivateEndpointConnectionResource; + [LROSYM]: LROResponseInfo; }; }; @@ -5240,6 +5252,7 @@ export type WebAppsCreateFunctionResponse = FunctionEnvelope & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FunctionEnvelope; + [LROSYM]: LROResponseInfo; }; }; @@ -5248,6 +5261,7 @@ export type WebAppsCreateInstanceFunctionSlotResponse = FunctionEnvelope & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FunctionEnvelope; + [LROSYM]: LROResponseInfo; }; }; @@ -5256,6 +5270,7 @@ export type WebAppsCreateInstanceMSDeployOperationResponse = MSDeployStatus & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: MSDeployStatus; + [LROSYM]: LROResponseInfo; }; }; @@ -5264,6 +5279,7 @@ export type WebAppsCreateInstanceMSDeployOperationSlotResponse = MSDeployStatus _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: MSDeployStatus; + [LROSYM]: LROResponseInfo; }; }; @@ -5272,6 +5288,7 @@ export type WebAppsCreateMSDeployOperationResponse = MSDeployStatus & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: MSDeployStatus; + [LROSYM]: LROResponseInfo; }; }; @@ -5280,6 +5297,7 @@ export type WebAppsCreateMSDeployOperationSlotResponse = MSDeployStatus & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: MSDeployStatus; + [LROSYM]: LROResponseInfo; }; }; @@ -5416,6 +5434,7 @@ export type WebAppsCreateOrUpdateResponse = Site & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Site; + [LROSYM]: LROResponseInfo; }; }; @@ -5424,6 +5443,7 @@ export type WebAppsCreateOrUpdateSlotResponse = Site & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Site; + [LROSYM]: LROResponseInfo; }; }; @@ -5432,6 +5452,7 @@ export type WebAppsCreateOrUpdateSourceControlResponse = SiteSourceControl & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SiteSourceControl; + [LROSYM]: LROResponseInfo; }; }; @@ -5440,6 +5461,7 @@ export type WebAppsCreateOrUpdateSourceControlSlotResponse = SiteSourceControl & _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SiteSourceControl; + [LROSYM]: LROResponseInfo; }; }; @@ -5503,6 +5525,7 @@ export type WebAppsDeletePrivateEndpointConnectionResponse = { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: any; + [LROSYM]: LROResponseInfo; }; }; @@ -6279,6 +6302,7 @@ export type WebAppsInstallSiteExtensionResponse = SiteExtensionInfo & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SiteExtensionInfo; + [LROSYM]: LROResponseInfo; }; }; @@ -6287,6 +6311,7 @@ export type WebAppsInstallSiteExtensionSlotResponse = SiteExtensionInfo & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SiteExtensionInfo; + [LROSYM]: LROResponseInfo; }; }; @@ -7101,6 +7126,7 @@ export type WebAppsListPublishingCredentialsResponse = User & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: User; + [LROSYM]: LROResponseInfo; }; }; @@ -7109,6 +7135,7 @@ export type WebAppsListPublishingCredentialsSlotResponse = User & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: User; + [LROSYM]: LROResponseInfo; }; }; @@ -7535,6 +7562,7 @@ export type WebAppsMigrateMySqlResponse = Operation & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Operation; + [LROSYM]: LROResponseInfo; }; }; @@ -7543,6 +7571,7 @@ export type WebAppsMigrateStorageResponse = StorageMigrationResponse & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: StorageMigrationResponse; + [LROSYM]: LROResponseInfo; }; }; @@ -7586,6 +7615,7 @@ export type WebAppsStartNetworkTraceResponse = NetworkTrace[] & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NetworkTrace[]; + [LROSYM]: LROResponseInfo; }; }; @@ -7601,6 +7631,7 @@ export type WebAppsStartNetworkTraceSlotResponse = NetworkTrace[] & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NetworkTrace[]; + [LROSYM]: LROResponseInfo; }; }; @@ -7616,6 +7647,7 @@ export type WebAppsStartWebSiteNetworkTraceOperationResponse = NetworkTrace[] & _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NetworkTrace[]; + [LROSYM]: LROResponseInfo; }; }; @@ -7631,6 +7663,7 @@ export type WebAppsStartWebSiteNetworkTraceOperationSlotResponse = NetworkTrace[ _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NetworkTrace[]; + [LROSYM]: LROResponseInfo; }; }; @@ -8308,6 +8341,10 @@ export type WorkerPoolResource = ProxyOnlyResource & { export type WorkerSizeOptions = "Small" | "Medium" | "Large" | "D1" | "D2" | "D3" | "NestedSmall" | "Default"; +// Warnings were encountered during analysis: +// +// src/models/index.ts:9399:5 - (ae-forgotten-export) The symbol "LROResponseInfo" needs to be exported by the entry point index.d.ts + // (No @packageDocumentation comment for this package) ``` diff --git a/test/smoke/generated/web-resource-manager/src/lro/azureAsyncOperationStrategy.ts b/test/smoke/generated/web-resource-manager/src/lro/azureAsyncOperationStrategy.ts index ecdc300c1f..f54ccc954f 100644 --- a/test/smoke/generated/web-resource-manager/src/lro/azureAsyncOperationStrategy.ts +++ b/test/smoke/generated/web-resource-manager/src/lro/azureAsyncOperationStrategy.ts @@ -11,9 +11,14 @@ import { BaseResult, LROOperationStep, LROResponseInfo, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; -import { OperationSpec, OperationArguments } from "@azure/core-http"; +import { + OperationSpec, + OperationArguments, + OperationResponse +} from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "."; @@ -22,7 +27,7 @@ export function createAzureAsyncOperationStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -35,7 +40,7 @@ export function createAzureAsyncOperationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); @@ -51,16 +56,16 @@ export function createAzureAsyncOperationStrategy( return terminalStates.includes(status.toLowerCase()); }, sendFinalRequest: async () => { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - if (!currentOperation.result._lroData) { + if (!currentOperation.result._response[LROSYM]) { throw new Error("Expected lroData to determine terminal status"); } - const initialOperationResult = initialOperation.result._lroData; - const currentOperationResult = currentOperation.result._lroData; + const initialOperationResult = initialOperation.result._response[LROSYM]; + const currentOperationResult = currentOperation.result._response[LROSYM]; if ( !shouldPerformFinalGet(initialOperationResult, currentOperationResult) @@ -68,7 +73,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.requestMethod === "PUT") { + if (initialOperationResult?.requestMethod === "PUT") { currentOperation = await sendFinalGet( initialOperation, sendOperationFn @@ -77,7 +82,7 @@ export function createAzureAsyncOperationStrategy( return currentOperation; } - if (initialOperationResult.location) { + if (initialOperationResult?.location) { switch (finalStateVia) { case "original-uri": currentOperation = await sendFinalGet( @@ -92,7 +97,7 @@ export function createAzureAsyncOperationStrategy( default: const location = initialOperationResult.location || - currentOperationResult.location; + currentOperationResult?.location; if (!location) { throw new Error("Couldn't determine final GET URL from location"); @@ -116,9 +121,11 @@ export function createAzureAsyncOperationStrategy( const pollingArgs = currentOperation.args; // Make sure we don't send any body to the get request - const { requestBody, ...restSpec } = currentOperation.spec; + const { requestBody, responses, ...restSpec } = currentOperation.spec; + const pollingSpec: OperationSpec = { ...restSpec, + responses: getCompositeMappers(responses), httpMethod: "GET", path: lastKnownPollingUrl }; @@ -127,8 +134,8 @@ export function createAzureAsyncOperationStrategy( // Update latest polling url lastKnownPollingUrl = - result._lroData?.azureAsyncOperation || - result._lroData?.operationLocation || + result._response[LROSYM]?.azureAsyncOperation || + result._response[LROSYM]?.operationLocation || lastKnownPollingUrl; // Update lastOperation result @@ -143,12 +150,47 @@ export function createAzureAsyncOperationStrategy( }; } +/** + * Polling calls will always return a status object i.e. {"status": "success"} + * these intermediate responses are not described in the swagger so we need to + * pass custom mappers at runtime. + * This function replaces all the existing mappers to be able to deserialize a status object + * @param responses Original set of responses defined in the operation + */ +function getCompositeMappers(responses: { + [responseCode: string]: OperationResponse; +}): { + [responseCode: string]: OperationResponse; +} { + return Object.keys(responses).reduce((acc, statusCode) => { + return { + ...acc, + [statusCode]: { + ...responses[statusCode], + bodyMapper: { + type: { + name: "Composite", + modelProperties: { + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } + } + } + }; + }, {} as { [responseCode: string]: OperationResponse }); +} + function shouldPerformFinalGet( - initialResult: LROResponseInfo, - currentResult: LROResponseInfo + initialResult?: LROResponseInfo, + currentResult?: LROResponseInfo ) { - const { status } = currentResult; - const { requestMethod: initialRequestMethod, location } = initialResult; + const { status } = currentResult || {}; + const { requestMethod: initialRequestMethod, location } = initialResult || {}; if (status && status.toLowerCase() !== "succeeded") { return false; } diff --git a/test/smoke/generated/web-resource-manager/src/lro/bodyPollingStrategy.ts b/test/smoke/generated/web-resource-manager/src/lro/bodyPollingStrategy.ts index 35cc6bac2a..c9404330ed 100644 --- a/test/smoke/generated/web-resource-manager/src/lro/bodyPollingStrategy.ts +++ b/test/smoke/generated/web-resource-manager/src/lro/bodyPollingStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { LROStrategy, BaseResult, LROOperationStep } from "./models"; +import { LROStrategy, BaseResult, LROOperationStep, LROSYM } from "./models"; import { OperationSpec } from "@azure/core-http"; import { terminalStates } from "./constants"; import { SendOperationFn } from "./lroPoller"; @@ -19,7 +19,7 @@ export function createBodyPollingStrategy( initialOperation: LROOperationStep, sendOperation: SendOperationFn ): LROStrategy { - if (!initialOperation.result._lroData) { + if (!initialOperation.result._response[LROSYM]) { throw new Error("Expected lroData to be defined for BodyPolling strategy"); } @@ -27,7 +27,7 @@ export function createBodyPollingStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } diff --git a/test/smoke/generated/web-resource-manager/src/lro/locationStrategy.ts b/test/smoke/generated/web-resource-manager/src/lro/locationStrategy.ts index 1a5c8d462e..6a763e37ec 100644 --- a/test/smoke/generated/web-resource-manager/src/lro/locationStrategy.ts +++ b/test/smoke/generated/web-resource-manager/src/lro/locationStrategy.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationStep, LROStrategy } from "./models"; +import { BaseResult, LROOperationStep, LROStrategy, LROSYM } from "./models"; import { SendOperationFn } from "./lroPoller"; import { OperationSpec } from "@azure/core-http"; @@ -14,7 +14,7 @@ export function createLocationStrategy( initialOperation: LROOperationStep, sendOperationFn: SendOperationFn ): LROStrategy { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { throw new Error( "Expected lroData to be defined for Azure-AsyncOperation strategy" @@ -26,7 +26,7 @@ export function createLocationStrategy( return { isTerminal: () => { - const currentResult = currentOperation.result._lroData; + const currentResult = currentOperation.result._response[LROSYM]; if (!currentResult) { throw new Error("Expected lroData to determine terminal status"); } @@ -59,7 +59,8 @@ export function createLocationStrategy( const result = await sendOperationFn(pollingArgs, pollingSpec); // Update latest polling url - lastKnownPollingUrl = result._lroData?.location || lastKnownPollingUrl; + lastKnownPollingUrl = + result._response[LROSYM]?.location || lastKnownPollingUrl; // Update lastOperation result currentOperation = { diff --git a/test/smoke/generated/web-resource-manager/src/lro/lroPolicy.ts b/test/smoke/generated/web-resource-manager/src/lro/lroPolicy.ts index 0591f541b3..4d18c3b7f0 100644 --- a/test/smoke/generated/web-resource-manager/src/lro/lroPolicy.ts +++ b/test/smoke/generated/web-resource-manager/src/lro/lroPolicy.ts @@ -13,6 +13,7 @@ import { HttpOperationResponse, WebResource } from "@azure/core-http"; +import { LROOperationResponse, LROSYM } from "./models"; import { getLROData } from "./requestUtils"; export function lroPolicy() { @@ -31,12 +32,12 @@ class LROPolicy extends BaseRequestPolicy { public async sendRequest( webResource: WebResource ): Promise { - let result = await this._nextPolicy.sendRequest(webResource); + let result: LROOperationResponse = await this._nextPolicy.sendRequest( + webResource + ); + const _lroData = getLROData(result); - if (webResource.shouldDeserialize !== undefined) { - const _lroData = getLROData(result); - result.parsedBody = { ...result.parsedBody, _lroData }; - } + result[LROSYM] = _lroData; return result; } diff --git a/test/smoke/generated/web-resource-manager/src/lro/lroPoller.ts b/test/smoke/generated/web-resource-manager/src/lro/lroPoller.ts index bc2f2aa05a..8c0406cf24 100644 --- a/test/smoke/generated/web-resource-manager/src/lro/lroPoller.ts +++ b/test/smoke/generated/web-resource-manager/src/lro/lroPoller.ts @@ -17,7 +17,8 @@ import { BaseResult, LROOperationState, LROOperationStep, - FinalStateVia + FinalStateVia, + LROSYM } from "./models"; import { makeOperation } from "./operation"; import { createBodyPollingStrategy } from "./bodyPollingStrategy"; @@ -122,7 +123,7 @@ function getPollingStrategy( sendOperationFn: SendOperationFn, finalStateVia?: FinalStateVia ) { - const lroData = initialOperation.result._lroData; + const lroData = initialOperation.result._response[LROSYM]; if (!lroData) { const error = new RestError( diff --git a/test/smoke/generated/web-resource-manager/src/lro/models.ts b/test/smoke/generated/web-resource-manager/src/lro/models.ts index a90afc5b41..c4b96664f6 100644 --- a/test/smoke/generated/web-resource-manager/src/lro/models.ts +++ b/test/smoke/generated/web-resource-manager/src/lro/models.ts @@ -10,9 +10,11 @@ import { OperationArguments, OperationSpec, RestResponse, - HttpMethods + HttpMethods, + HttpOperationResponse } from "@azure/core-http"; import { PollOperationState, PollOperation } from "@azure/core-lro"; +export const LROSYM = Symbol("LROData"); export type FinalStateVia = | "azure-async-operation" @@ -30,8 +32,21 @@ export interface LROResponseInfo { status?: string; } +/** + * Extended operation response for LROs + */ +export type LROOperationResponse = HttpOperationResponse & { + /** + * Symbol that contains LRO details + */ + [LROSYM]?: LROResponseInfo; +}; + export interface BaseResult extends RestResponse { - _lroData?: LROResponseInfo; + /** + * The underlying HTTP response containing both raw and deserialized response data. + */ + _response: LROOperationResponse; } export interface LROOperationStep { diff --git a/test/smoke/generated/web-resource-manager/src/lro/operation.ts b/test/smoke/generated/web-resource-manager/src/lro/operation.ts index 9cda560a02..0860f07df0 100644 --- a/test/smoke/generated/web-resource-manager/src/lro/operation.ts +++ b/test/smoke/generated/web-resource-manager/src/lro/operation.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResult, LROOperationState, LROOperation } from "./models"; +import { BaseResult, LROOperationState, LROOperation, LROSYM } from "./models"; /** * Creates a copy of the operation from a given State @@ -46,7 +46,7 @@ async function update( const { sendFinalRequest, poll, isTerminal } = state.pollingStrategy; const currentResponse = state.lastOperation; - const currentLroData = currentResponse.result._lroData; + const currentLroData = currentResponse.result._response[LROSYM]; if (!currentLroData) { throw new Error( diff --git a/test/smoke/generated/web-resource-manager/src/models/index.ts b/test/smoke/generated/web-resource-manager/src/models/index.ts index b66c26dbf0..f5b0d6b792 100644 --- a/test/smoke/generated/web-resource-manager/src/models/index.ts +++ b/test/smoke/generated/web-resource-manager/src/models/index.ts @@ -7,6 +7,7 @@ */ import * as coreHttp from "@azure/core-http"; +import { LROSYM, LROResponseInfo } from "../lro/models"; /** * Collection of certificate orders. @@ -9308,6 +9309,10 @@ export type AppServiceCertificateOrdersCreateOrUpdateResponse = AppServiceCertif * The response body as parsed JSON or XML */ parsedBody: AppServiceCertificateOrder; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9388,6 +9393,10 @@ export type AppServiceCertificateOrdersCreateOrUpdateCertificateResponse = AppSe * The response body as parsed JSON or XML */ parsedBody: AppServiceCertificateResource; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -9708,6 +9717,10 @@ export type DomainsCreateOrUpdateResponse = Domain & { * The response body as parsed JSON or XML */ parsedBody: Domain; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -12150,6 +12163,10 @@ export type WebAppsCreateOrUpdateResponse = Site & { * The response body as parsed JSON or XML */ parsedBody: Site; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -12655,6 +12672,10 @@ export type WebAppsListPublishingCredentialsResponse = User & { * The response body as parsed JSON or XML */ parsedBody: User; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -13145,6 +13166,10 @@ export type WebAppsCreateMSDeployOperationResponse = MSDeployStatus & { * The response body as parsed JSON or XML */ parsedBody: MSDeployStatus; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -13250,6 +13275,10 @@ export type WebAppsCreateFunctionResponse = FunctionEnvelope & { * The response body as parsed JSON or XML */ parsedBody: FunctionEnvelope; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -13650,6 +13679,10 @@ export type WebAppsCreateInstanceMSDeployOperationResponse = MSDeployStatus & { * The response body as parsed JSON or XML */ parsedBody: MSDeployStatus; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -13875,6 +13908,10 @@ export type WebAppsMigrateStorageResponse = StorageMigrationResponse & { * The response body as parsed JSON or XML */ parsedBody: StorageMigrationResponse; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -13895,6 +13932,10 @@ export type WebAppsMigrateMySqlResponse = Operation & { * The response body as parsed JSON or XML */ parsedBody: Operation; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -14098,6 +14139,10 @@ export type WebAppsStartWebSiteNetworkTraceOperationResponse = NetworkTrace[] & * The response body as parsed JSON or XML */ parsedBody: NetworkTrace[]; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -14614,6 +14659,10 @@ export type WebAppsInstallSiteExtensionResponse = SiteExtensionInfo & { * The response body as parsed JSON or XML */ parsedBody: SiteExtensionInfo; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -14674,6 +14723,10 @@ export type WebAppsCreateOrUpdateSlotResponse = Site & { * The response body as parsed JSON or XML */ parsedBody: Site; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -15140,6 +15193,10 @@ export type WebAppsListPublishingCredentialsSlotResponse = User & { * The response body as parsed JSON or XML */ parsedBody: User; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -15590,6 +15647,10 @@ export type WebAppsCreateMSDeployOperationSlotResponse = MSDeployStatus & { * The response body as parsed JSON or XML */ parsedBody: MSDeployStatus; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -15695,6 +15756,10 @@ export type WebAppsCreateInstanceFunctionSlotResponse = FunctionEnvelope & { * The response body as parsed JSON or XML */ parsedBody: FunctionEnvelope; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -16095,6 +16160,10 @@ export type WebAppsCreateInstanceMSDeployOperationSlotResponse = MSDeployStatus * The response body as parsed JSON or XML */ parsedBody: MSDeployStatus; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -16503,6 +16572,10 @@ export type WebAppsStartWebSiteNetworkTraceOperationSlotResponse = NetworkTrace[ * The response body as parsed JSON or XML */ parsedBody: NetworkTrace[]; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -16774,6 +16847,10 @@ export type WebAppsApproveOrRejectPrivateEndpointConnectionResponse = PrivateEnd * The response body as parsed JSON or XML */ parsedBody: PrivateEndpointConnectionResource; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -16799,6 +16876,10 @@ export type WebAppsDeletePrivateEndpointConnectionResponse = { * The response body as parsed JSON or XML */ parsedBody: any; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -17104,6 +17185,10 @@ export type WebAppsInstallSiteExtensionSlotResponse = SiteExtensionInfo & { * The response body as parsed JSON or XML */ parsedBody: SiteExtensionInfo; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -17204,6 +17289,10 @@ export type WebAppsCreateOrUpdateSourceControlSlotResponse = SiteSourceControl & * The response body as parsed JSON or XML */ parsedBody: SiteSourceControl; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -17263,6 +17352,10 @@ export type WebAppsStartNetworkTraceSlotResponse = NetworkTrace[] & { * The response body as parsed JSON or XML */ parsedBody: NetworkTrace[]; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -17654,6 +17747,10 @@ export type WebAppsCreateOrUpdateSourceControlResponse = SiteSourceControl & { * The response body as parsed JSON or XML */ parsedBody: SiteSourceControl; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -17713,6 +17810,10 @@ export type WebAppsStartNetworkTraceResponse = NetworkTrace[] & { * The response body as parsed JSON or XML */ parsedBody: NetworkTrace[]; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -19759,6 +19860,10 @@ export type AppServiceEnvironmentsCreateOrUpdateResponse = AppServiceEnvironment * The response body as parsed JSON or XML */ parsedBody: AppServiceEnvironmentResource; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -19850,6 +19955,10 @@ export type AppServiceEnvironmentsChangeVnetResponse = WebAppCollection & { * The response body as parsed JSON or XML */ parsedBody: WebAppCollection; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -19970,6 +20079,10 @@ export type AppServiceEnvironmentsCreateOrUpdateMultiRolePoolResponse = WorkerPo * The response body as parsed JSON or XML */ parsedBody: WorkerPoolResource; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -20130,6 +20243,10 @@ export type AppServiceEnvironmentsResumeResponse = WebAppCollection & { * The response body as parsed JSON or XML */ parsedBody: WebAppCollection; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -20201,6 +20318,10 @@ export type AppServiceEnvironmentsSuspendResponse = WebAppCollection & { * The response body as parsed JSON or XML */ parsedBody: WebAppCollection; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -20292,6 +20413,10 @@ export type AppServiceEnvironmentsCreateOrUpdateWorkerPoolResponse = WorkerPoolR * The response body as parsed JSON or XML */ parsedBody: WorkerPoolResource; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; @@ -20926,6 +21051,10 @@ export type AppServicePlansCreateOrUpdateResponse = AppServicePlan & { * The response body as parsed JSON or XML */ parsedBody: AppServicePlan; + /** + * The parsed HTTP response headers. + */ + [LROSYM]: LROResponseInfo; }; }; diff --git a/test/smoke/generated/web-resource-manager/temp/web-resource-manager.api.json b/test/smoke/generated/web-resource-manager/temp/web-resource-manager.api.json index 3d4e623ba3..beec5e918f 100644 --- a/test/smoke/generated/web-resource-manager/temp/web-resource-manager.api.json +++ b/test/smoke/generated/web-resource-manager/temp/web-resource-manager.api.json @@ -1819,6 +1819,24 @@ "text": "AppServiceCertificateResource", "canonicalReference": "web-resource-manager!AppServiceCertificateResource:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -1832,7 +1850,7 @@ "name": "AppServiceCertificateOrdersCreateOrUpdateCertificateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -1867,6 +1885,24 @@ "text": "AppServiceCertificateOrder", "canonicalReference": "web-resource-manager!AppServiceCertificateOrder:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -1880,7 +1916,7 @@ "name": "AppServiceCertificateOrdersCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -3978,6 +4014,24 @@ "text": "WebAppCollection", "canonicalReference": "web-resource-manager!WebAppCollection:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -3991,7 +4045,7 @@ "name": "AppServiceEnvironmentsChangeVnetResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -4026,6 +4080,24 @@ "text": "WorkerPoolResource", "canonicalReference": "web-resource-manager!WorkerPoolResource:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -4039,7 +4111,7 @@ "name": "AppServiceEnvironmentsCreateOrUpdateMultiRolePoolResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -4074,6 +4146,24 @@ "text": "AppServiceEnvironmentResource", "canonicalReference": "web-resource-manager!AppServiceEnvironmentResource:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -4087,7 +4177,7 @@ "name": "AppServiceEnvironmentsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -4122,6 +4212,24 @@ "text": "WorkerPoolResource", "canonicalReference": "web-resource-manager!WorkerPoolResource:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -4135,7 +4243,7 @@ "name": "AppServiceEnvironmentsCreateOrUpdateWorkerPoolResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -6577,6 +6685,24 @@ "text": "WebAppCollection", "canonicalReference": "web-resource-manager!WebAppCollection:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -6590,7 +6716,7 @@ "name": "AppServiceEnvironmentsResumeResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -6673,6 +6799,24 @@ "text": "WebAppCollection", "canonicalReference": "web-resource-manager!WebAppCollection:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -6686,7 +6830,7 @@ "name": "AppServiceEnvironmentsSuspendResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -7120,6 +7264,24 @@ "text": "AppServicePlan", "canonicalReference": "web-resource-manager!AppServicePlan:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -7133,7 +7295,7 @@ "name": "AppServicePlansCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -20614,6 +20776,24 @@ "text": "Domain", "canonicalReference": "web-resource-manager!Domain:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -20627,7 +20807,7 @@ "name": "DomainsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -43161,6 +43341,24 @@ "text": "PrivateEndpointConnectionResource", "canonicalReference": "web-resource-manager!PrivateEndpointConnectionResource:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -43174,7 +43372,7 @@ "name": "WebAppsApproveOrRejectPrivateEndpointConnectionResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -43401,6 +43599,24 @@ "text": "FunctionEnvelope", "canonicalReference": "web-resource-manager!FunctionEnvelope:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -43414,7 +43630,7 @@ "name": "WebAppsCreateFunctionResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -43449,6 +43665,24 @@ "text": "FunctionEnvelope", "canonicalReference": "web-resource-manager!FunctionEnvelope:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -43462,7 +43696,7 @@ "name": "WebAppsCreateInstanceFunctionSlotResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -43497,6 +43731,24 @@ "text": "MSDeployStatus", "canonicalReference": "web-resource-manager!MSDeployStatus:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -43510,7 +43762,7 @@ "name": "WebAppsCreateInstanceMSDeployOperationResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -43545,6 +43797,24 @@ "text": "MSDeployStatus", "canonicalReference": "web-resource-manager!MSDeployStatus:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -43558,7 +43828,7 @@ "name": "WebAppsCreateInstanceMSDeployOperationSlotResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -43593,6 +43863,24 @@ "text": "MSDeployStatus", "canonicalReference": "web-resource-manager!MSDeployStatus:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -43606,7 +43894,7 @@ "name": "WebAppsCreateMSDeployOperationResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -43641,6 +43929,24 @@ "text": "MSDeployStatus", "canonicalReference": "web-resource-manager!MSDeployStatus:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -43654,7 +43960,7 @@ "name": "WebAppsCreateMSDeployOperationSlotResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -44457,6 +44763,24 @@ "text": "Site", "canonicalReference": "web-resource-manager!Site:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -44470,7 +44794,7 @@ "name": "WebAppsCreateOrUpdateResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -44505,6 +44829,24 @@ "text": "Site", "canonicalReference": "web-resource-manager!Site:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -44518,7 +44860,7 @@ "name": "WebAppsCreateOrUpdateSlotResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -44553,6 +44895,24 @@ "text": "SiteSourceControl", "canonicalReference": "web-resource-manager!SiteSourceControl:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -44566,7 +44926,7 @@ "name": "WebAppsCreateOrUpdateSourceControlResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -44601,6 +44961,24 @@ "text": "SiteSourceControl", "canonicalReference": "web-resource-manager!SiteSourceControl:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -44614,7 +44992,7 @@ "name": "WebAppsCreateOrUpdateSourceControlSlotResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -45009,7 +45387,25 @@ }, { "kind": "Content", - "text": " & {\n bodyAsText: string;\n parsedBody: any;\n };\n}" + "text": " & {\n bodyAsText: string;\n parsedBody: any;\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, + { + "kind": "Content", + "text": ";\n };\n}" }, { "kind": "Content", @@ -45020,7 +45416,7 @@ "name": "WebAppsDeletePrivateEndpointConnectionResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 4 + "endIndex": 8 } }, { @@ -49823,6 +50219,24 @@ "text": "SiteExtensionInfo", "canonicalReference": "web-resource-manager!SiteExtensionInfo:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -49836,7 +50250,7 @@ "name": "WebAppsInstallSiteExtensionResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -49871,6 +50285,24 @@ "text": "SiteExtensionInfo", "canonicalReference": "web-resource-manager!SiteExtensionInfo:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -49884,7 +50316,7 @@ "name": "WebAppsInstallSiteExtensionSlotResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -54929,6 +55361,24 @@ "text": "User", "canonicalReference": "web-resource-manager!User:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -54942,7 +55392,7 @@ "name": "WebAppsListPublishingCredentialsResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -54977,6 +55427,24 @@ "text": "User", "canonicalReference": "web-resource-manager!User:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -54990,7 +55458,7 @@ "name": "WebAppsListPublishingCredentialsSlotResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -57687,6 +58155,24 @@ "text": "Operation", "canonicalReference": "web-resource-manager!Operation:interface" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -57700,7 +58186,7 @@ "name": "WebAppsMigrateMySqlResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -57735,6 +58221,24 @@ "text": "StorageMigrationResponse", "canonicalReference": "web-resource-manager!StorageMigrationResponse:type" }, + { + "kind": "Content", + "text": ";\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, { "kind": "Content", "text": ";\n };\n}" @@ -57748,7 +58252,7 @@ "name": "WebAppsMigrateStorageResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -58158,7 +58662,25 @@ }, { "kind": "Content", - "text": "[];\n };\n}" + "text": "[];\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, + { + "kind": "Content", + "text": ";\n };\n}" }, { "kind": "Content", @@ -58169,7 +58691,7 @@ "name": "WebAppsStartNetworkTraceResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -58315,7 +58837,25 @@ }, { "kind": "Content", - "text": "[];\n };\n}" + "text": "[];\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, + { + "kind": "Content", + "text": ";\n };\n}" }, { "kind": "Content", @@ -58326,7 +58866,7 @@ "name": "WebAppsStartNetworkTraceSlotResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -58472,7 +59012,25 @@ }, { "kind": "Content", - "text": "[];\n };\n}" + "text": "[];\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, + { + "kind": "Content", + "text": ";\n };\n}" }, { "kind": "Content", @@ -58483,7 +59041,7 @@ "name": "WebAppsStartWebSiteNetworkTraceOperationResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { @@ -58629,7 +59187,25 @@ }, { "kind": "Content", - "text": "[];\n };\n}" + "text": "[];\n [" + }, + { + "kind": "Reference", + "text": "LROSYM", + "canonicalReference": "web-resource-manager!LROSYM" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Reference", + "text": "LROResponseInfo", + "canonicalReference": "web-resource-manager!LROResponseInfo:interface" + }, + { + "kind": "Content", + "text": ";\n };\n}" }, { "kind": "Content", @@ -58640,7 +59216,7 @@ "name": "WebAppsStartWebSiteNetworkTraceOperationSlotResponse", "typeTokenRange": { "startIndex": 1, - "endIndex": 7 + "endIndex": 11 } }, { diff --git a/test/smoke/generated/web-resource-manager/temp/web-resource-manager.api.md b/test/smoke/generated/web-resource-manager/temp/web-resource-manager.api.md index b6d96f6e18..ae6ba97f0d 100644 --- a/test/smoke/generated/web-resource-manager/temp/web-resource-manager.api.md +++ b/test/smoke/generated/web-resource-manager/temp/web-resource-manager.api.md @@ -6,6 +6,7 @@ import * as coreHttp from '@azure/core-http'; import { HttpMethods } from '@azure/core-http'; +import { HttpOperationResponse } from '@azure/core-http'; import { OperationArguments } from '@azure/core-http'; import { OperationSpec } from '@azure/core-http'; import { Poller } from '@azure/core-lro'; @@ -197,6 +198,7 @@ export type AppServiceCertificateOrdersCreateOrUpdateCertificateResponse = AppSe _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: AppServiceCertificateResource; + [LROSYM]: LROResponseInfo; }; }; @@ -205,6 +207,7 @@ export type AppServiceCertificateOrdersCreateOrUpdateResponse = AppServiceCertif _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: AppServiceCertificateOrder; + [LROSYM]: LROResponseInfo; }; }; @@ -474,6 +477,7 @@ export type AppServiceEnvironmentsChangeVnetResponse = WebAppCollection & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: WebAppCollection; + [LROSYM]: LROResponseInfo; }; }; @@ -482,6 +486,7 @@ export type AppServiceEnvironmentsCreateOrUpdateMultiRolePoolResponse = WorkerPo _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: WorkerPoolResource; + [LROSYM]: LROResponseInfo; }; }; @@ -490,6 +495,7 @@ export type AppServiceEnvironmentsCreateOrUpdateResponse = AppServiceEnvironment _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: AppServiceEnvironmentResource; + [LROSYM]: LROResponseInfo; }; }; @@ -498,6 +504,7 @@ export type AppServiceEnvironmentsCreateOrUpdateWorkerPoolResponse = WorkerPoolR _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: WorkerPoolResource; + [LROSYM]: LROResponseInfo; }; }; @@ -883,6 +890,7 @@ export type AppServiceEnvironmentsResumeResponse = WebAppCollection & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: WebAppCollection; + [LROSYM]: LROResponseInfo; }; }; @@ -899,6 +907,7 @@ export type AppServiceEnvironmentsSuspendResponse = WebAppCollection & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: WebAppCollection; + [LROSYM]: LROResponseInfo; }; }; @@ -987,6 +996,7 @@ export type AppServicePlansCreateOrUpdateResponse = AppServicePlan & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: AppServicePlan; + [LROSYM]: LROResponseInfo; }; }; @@ -2549,6 +2559,7 @@ export type DomainsCreateOrUpdateResponse = Domain & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Domain; + [LROSYM]: LROResponseInfo; }; }; @@ -5200,6 +5211,7 @@ export type WebAppsApproveOrRejectPrivateEndpointConnectionResponse = PrivateEnd _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: PrivateEndpointConnectionResource; + [LROSYM]: LROResponseInfo; }; }; @@ -5240,6 +5252,7 @@ export type WebAppsCreateFunctionResponse = FunctionEnvelope & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FunctionEnvelope; + [LROSYM]: LROResponseInfo; }; }; @@ -5248,6 +5261,7 @@ export type WebAppsCreateInstanceFunctionSlotResponse = FunctionEnvelope & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: FunctionEnvelope; + [LROSYM]: LROResponseInfo; }; }; @@ -5256,6 +5270,7 @@ export type WebAppsCreateInstanceMSDeployOperationResponse = MSDeployStatus & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: MSDeployStatus; + [LROSYM]: LROResponseInfo; }; }; @@ -5264,6 +5279,7 @@ export type WebAppsCreateInstanceMSDeployOperationSlotResponse = MSDeployStatus _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: MSDeployStatus; + [LROSYM]: LROResponseInfo; }; }; @@ -5272,6 +5288,7 @@ export type WebAppsCreateMSDeployOperationResponse = MSDeployStatus & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: MSDeployStatus; + [LROSYM]: LROResponseInfo; }; }; @@ -5280,6 +5297,7 @@ export type WebAppsCreateMSDeployOperationSlotResponse = MSDeployStatus & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: MSDeployStatus; + [LROSYM]: LROResponseInfo; }; }; @@ -5416,6 +5434,7 @@ export type WebAppsCreateOrUpdateResponse = Site & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Site; + [LROSYM]: LROResponseInfo; }; }; @@ -5424,6 +5443,7 @@ export type WebAppsCreateOrUpdateSlotResponse = Site & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Site; + [LROSYM]: LROResponseInfo; }; }; @@ -5432,6 +5452,7 @@ export type WebAppsCreateOrUpdateSourceControlResponse = SiteSourceControl & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SiteSourceControl; + [LROSYM]: LROResponseInfo; }; }; @@ -5440,6 +5461,7 @@ export type WebAppsCreateOrUpdateSourceControlSlotResponse = SiteSourceControl & _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SiteSourceControl; + [LROSYM]: LROResponseInfo; }; }; @@ -5503,6 +5525,7 @@ export type WebAppsDeletePrivateEndpointConnectionResponse = { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: any; + [LROSYM]: LROResponseInfo; }; }; @@ -6279,6 +6302,7 @@ export type WebAppsInstallSiteExtensionResponse = SiteExtensionInfo & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SiteExtensionInfo; + [LROSYM]: LROResponseInfo; }; }; @@ -6287,6 +6311,7 @@ export type WebAppsInstallSiteExtensionSlotResponse = SiteExtensionInfo & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: SiteExtensionInfo; + [LROSYM]: LROResponseInfo; }; }; @@ -7101,6 +7126,7 @@ export type WebAppsListPublishingCredentialsResponse = User & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: User; + [LROSYM]: LROResponseInfo; }; }; @@ -7109,6 +7135,7 @@ export type WebAppsListPublishingCredentialsSlotResponse = User & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: User; + [LROSYM]: LROResponseInfo; }; }; @@ -7535,6 +7562,7 @@ export type WebAppsMigrateMySqlResponse = Operation & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: Operation; + [LROSYM]: LROResponseInfo; }; }; @@ -7543,6 +7571,7 @@ export type WebAppsMigrateStorageResponse = StorageMigrationResponse & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: StorageMigrationResponse; + [LROSYM]: LROResponseInfo; }; }; @@ -7586,6 +7615,7 @@ export type WebAppsStartNetworkTraceResponse = NetworkTrace[] & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NetworkTrace[]; + [LROSYM]: LROResponseInfo; }; }; @@ -7601,6 +7631,7 @@ export type WebAppsStartNetworkTraceSlotResponse = NetworkTrace[] & { _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NetworkTrace[]; + [LROSYM]: LROResponseInfo; }; }; @@ -7616,6 +7647,7 @@ export type WebAppsStartWebSiteNetworkTraceOperationResponse = NetworkTrace[] & _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NetworkTrace[]; + [LROSYM]: LROResponseInfo; }; }; @@ -7631,6 +7663,7 @@ export type WebAppsStartWebSiteNetworkTraceOperationSlotResponse = NetworkTrace[ _response: coreHttp.HttpResponse & { bodyAsText: string; parsedBody: NetworkTrace[]; + [LROSYM]: LROResponseInfo; }; }; @@ -8308,6 +8341,10 @@ export type WorkerPoolResource = ProxyOnlyResource & { export type WorkerSizeOptions = "Small" | "Medium" | "Large" | "D1" | "D2" | "D3" | "NestedSmall" | "Default"; +// Warnings were encountered during analysis: +// +// src/models/index.ts:9399:5 - (ae-forgotten-export) The symbol "LROResponseInfo" needs to be exported by the entry point index.d.ts + // (No @packageDocumentation comment for this package) ``` diff --git a/test/unit/lro/bodyPollingStrategy.spec.ts b/test/unit/lro/bodyPollingStrategy.spec.ts index 38e704265c..2c60617a3e 100644 --- a/test/unit/lro/bodyPollingStrategy.spec.ts +++ b/test/unit/lro/bodyPollingStrategy.spec.ts @@ -1,6 +1,10 @@ import { assert } from "chai"; import { createBodyPollingStrategy } from "../../../src/lro/bodyPollingStrategy"; -import { LROOperationStep, LROResponseInfo } from "../../../src/lro/models"; +import { + LROOperationStep, + LROResponseInfo, + LROSYM +} from "../../../src/lro/models"; import { OperationSpec, OperationArguments } from "@azure/core-http"; import { SendOperationFn } from "../../../src/lro/lroPoller"; describe("BodyPollingStrategy", () => { @@ -15,7 +19,7 @@ describe("BodyPollingStrategy", () => { lastOperation = { args: {}, spec: { httpMethod: "PUT", path: "originalPath" } as any, - result: { _lroData: lroData } + result: { _response: { [LROSYM]: lroData } } }; }); @@ -31,9 +35,7 @@ describe("BodyPollingStrategy", () => { it("should be terminal state when provisioningState is succeeded", () => { lroData = { ...lroData, provisioningState: "Succeeded" }; - lastOperation.result = { - _lroData: lroData - }; + lastOperation.result = { _response: { [LROSYM]: lroData } }; const pollingStrategy = createBodyPollingStrategy( lastOperation, mockSendOperation @@ -44,9 +46,7 @@ describe("BodyPollingStrategy", () => { it("should be terminal state when provisioningState is Failed", () => { lroData = { ...lroData, provisioningState: "Failed" }; - lastOperation.result = { - _lroData: lroData - }; + lastOperation.result = { _response: { [LROSYM]: lroData } }; const pollingStrategy = createBodyPollingStrategy( lastOperation, mockSendOperation @@ -57,9 +57,7 @@ describe("BodyPollingStrategy", () => { it("should be terminal state when provisioningState is Canceled", () => { lroData = { ...lroData, provisioningState: "Canceled" }; - lastOperation.result = { - _lroData: lroData - }; + lastOperation.result = { _response: { [LROSYM]: lroData } }; const pollingStrategy = createBodyPollingStrategy( lastOperation, mockSendOperation @@ -70,9 +68,7 @@ describe("BodyPollingStrategy", () => { it("should be not terminal state when provisioningState is not a terminal one", () => { lroData = { ...lroData, provisioningState: "InProgress" }; - lastOperation.result = { - _lroData: lroData - }; + lastOperation.result = { _response: { [LROSYM]: lroData } }; const pollingStrategy = createBodyPollingStrategy( lastOperation, mockSendOperation diff --git a/test/unit/lro/locationStrategy.spec.ts b/test/unit/lro/locationStrategy.spec.ts index 1fa9f699b3..5bdfa54b22 100644 --- a/test/unit/lro/locationStrategy.spec.ts +++ b/test/unit/lro/locationStrategy.spec.ts @@ -5,6 +5,7 @@ import { LROOperationStep } from "../.././../src/lro"; import { assert } from "chai"; +import { LROSYM } from "../../../src/lro/models"; describe("LocationStrategy", () => { let locationStrategy: LROStrategy; let dummyInitialOperation: LROOperationStep; @@ -14,10 +15,10 @@ describe("LocationStrategy", () => { dummyInitialOperation = { args: {} as any, spec: {} as any, - result: { _lroData: { location: "dummyUrl" } } as any + result: { _response: { [LROSYM]: { location: "dummyUrl" } } } as any }; dummySendOperationFn = () => { - return {} as any; + return { _response: {} } as any; }; locationStrategy = createLocationStrategy( @@ -42,7 +43,9 @@ describe("LocationStrategy", () => { locationStrategy = createLocationStrategy( dummyInitialOperation, (_args, _spec) => { - return Promise.resolve({ _lroData: { statusCode: 200 } }); + return Promise.resolve({ + _response: { [LROSYM]: { statusCode: 200 } } + }); } ); @@ -56,7 +59,9 @@ describe("LocationStrategy", () => { locationStrategy = createLocationStrategy( dummyInitialOperation, (_args, _spec) => { - return Promise.resolve({ _lroData: { statusCode: 202 } }); + return Promise.resolve({ + _response: { [LROSYM]: { statusCode: 202 } } + }); } ); @@ -82,7 +87,9 @@ describe("LocationStrategy", () => { it("should do a GET call to the URL in location header from last result", async () => { const expectedUrl = "pollingURL"; dummySendOperationFn = (_args, spec) => { - return Promise.resolve({ _lroData: { location: expectedUrl } }); + return Promise.resolve({ + _response: { [LROSYM]: { location: expectedUrl } } + }); }; locationStrategy = createLocationStrategy( dummyInitialOperation,