UNPKG

@azure/arm-appservice

Version:
1,139 lines 151 kB
// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. import { setContinuationToken } from "../pagingHelper.js"; import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers.js"; import * as Parameters from "../models/parameters.js"; import { createHttpPoller } from "@azure/core-lro"; import { createLroSpec } from "../lroImpl.js"; /// <reference lib="esnext.asynciterable" /> /** Class containing AppServiceEnvironments operations. */ export class AppServiceEnvironmentsImpl { client; /** * Initialize a new instance of the class AppServiceEnvironments class. * @param client Reference to the service client */ constructor(client) { this.client = client; } /** * Description for Get all App Service Environments for a subscription. * @param options The options parameters. */ list(options) { const iter = this.listPagingAll(options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.listPagingPage(options, settings); }, }; } async *listPagingPage(options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._list(options); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._listNext(continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *listPagingAll(options) { for await (const page of this.listPagingPage(options)) { yield* page; } } /** * Description for Get all App Service Environments in a resource group. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param options The options parameters. */ listByResourceGroup(resourceGroupName, options) { const iter = this.listByResourceGroupPagingAll(resourceGroupName, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.listByResourceGroupPagingPage(resourceGroupName, options, settings); }, }; } async *listByResourceGroupPagingPage(resourceGroupName, options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._listByResourceGroup(resourceGroupName, options); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._listByResourceGroupNext(resourceGroupName, continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *listByResourceGroupPagingAll(resourceGroupName, options) { for await (const page of this.listByResourceGroupPagingPage(resourceGroupName, options)) { yield* page; } } /** * Description for Get the used, available, and total worker capacity an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param options The options parameters. */ listCapacities(resourceGroupName, name, options) { const iter = this.listCapacitiesPagingAll(resourceGroupName, name, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.listCapacitiesPagingPage(resourceGroupName, name, options, settings); }, }; } async *listCapacitiesPagingPage(resourceGroupName, name, options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._listCapacities(resourceGroupName, name, options); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._listCapacitiesNext(resourceGroupName, name, continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *listCapacitiesPagingAll(resourceGroupName, name, options) { for await (const page of this.listCapacitiesPagingPage(resourceGroupName, name, options)) { yield* page; } } /** * Description for Move an App Service Environment to a different VNET. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param vnetInfo Details for the new virtual network. * @param options The options parameters. */ beginListChangeVnetAndWait(resourceGroupName, name, vnetInfo, options) { const iter = this.changeVnetPagingAll(resourceGroupName, name, vnetInfo, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.changeVnetPagingPage(resourceGroupName, name, vnetInfo, options, settings); }, }; } async *changeVnetPagingPage(resourceGroupName, name, vnetInfo, options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { const poller = await this._changeVnet(resourceGroupName, name, vnetInfo, options); result = await poller.pollUntilDone(); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._changeVnetNext(resourceGroupName, name, vnetInfo, continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *changeVnetPagingAll(resourceGroupName, name, vnetInfo, options) { for await (const page of this.changeVnetPagingPage(resourceGroupName, name, vnetInfo, options)) { yield* page; } } /** * Description for Get the network endpoints of all inbound dependencies of an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param options The options parameters. */ listInboundNetworkDependenciesEndpoints(resourceGroupName, name, options) { const iter = this.getInboundNetworkDependenciesEndpointsPagingAll(resourceGroupName, name, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.getInboundNetworkDependenciesEndpointsPagingPage(resourceGroupName, name, options, settings); }, }; } async *getInboundNetworkDependenciesEndpointsPagingPage(resourceGroupName, name, options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._getInboundNetworkDependenciesEndpoints(resourceGroupName, name, options); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._getInboundNetworkDependenciesEndpointsNext(resourceGroupName, name, continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *getInboundNetworkDependenciesEndpointsPagingAll(resourceGroupName, name, options) { for await (const page of this.getInboundNetworkDependenciesEndpointsPagingPage(resourceGroupName, name, options)) { yield* page; } } /** * Description for Get all multi-role pools. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param options The options parameters. */ listMultiRolePools(resourceGroupName, name, options) { const iter = this.listMultiRolePoolsPagingAll(resourceGroupName, name, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.listMultiRolePoolsPagingPage(resourceGroupName, name, options, settings); }, }; } async *listMultiRolePoolsPagingPage(resourceGroupName, name, options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._listMultiRolePools(resourceGroupName, name, options); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._listMultiRolePoolsNext(resourceGroupName, name, continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *listMultiRolePoolsPagingAll(resourceGroupName, name, options) { for await (const page of this.listMultiRolePoolsPagingPage(resourceGroupName, name, options)) { yield* page; } } /** * Description for Get metric definitions for a specific instance of a multi-role pool of an App * Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param instance Name of the instance in the multi-role pool. * @param options The options parameters. */ listMultiRolePoolInstanceMetricDefinitions(resourceGroupName, name, instance, options) { const iter = this.listMultiRolePoolInstanceMetricDefinitionsPagingAll(resourceGroupName, name, instance, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.listMultiRolePoolInstanceMetricDefinitionsPagingPage(resourceGroupName, name, instance, options, settings); }, }; } async *listMultiRolePoolInstanceMetricDefinitionsPagingPage(resourceGroupName, name, instance, options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._listMultiRolePoolInstanceMetricDefinitions(resourceGroupName, name, instance, options); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._listMultiRolePoolInstanceMetricDefinitionsNext(resourceGroupName, name, instance, continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *listMultiRolePoolInstanceMetricDefinitionsPagingAll(resourceGroupName, name, instance, options) { for await (const page of this.listMultiRolePoolInstanceMetricDefinitionsPagingPage(resourceGroupName, name, instance, options)) { yield* page; } } /** * Description for Get metric definitions for a multi-role pool of an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param options The options parameters. */ listMultiRoleMetricDefinitions(resourceGroupName, name, options) { const iter = this.listMultiRoleMetricDefinitionsPagingAll(resourceGroupName, name, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.listMultiRoleMetricDefinitionsPagingPage(resourceGroupName, name, options, settings); }, }; } async *listMultiRoleMetricDefinitionsPagingPage(resourceGroupName, name, options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._listMultiRoleMetricDefinitions(resourceGroupName, name, options); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._listMultiRoleMetricDefinitionsNext(resourceGroupName, name, continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *listMultiRoleMetricDefinitionsPagingAll(resourceGroupName, name, options) { for await (const page of this.listMultiRoleMetricDefinitionsPagingPage(resourceGroupName, name, options)) { yield* page; } } /** * Description for Get available SKUs for scaling a multi-role pool. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param options The options parameters. */ listMultiRolePoolSkus(resourceGroupName, name, options) { const iter = this.listMultiRolePoolSkusPagingAll(resourceGroupName, name, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.listMultiRolePoolSkusPagingPage(resourceGroupName, name, options, settings); }, }; } async *listMultiRolePoolSkusPagingPage(resourceGroupName, name, options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._listMultiRolePoolSkus(resourceGroupName, name, options); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._listMultiRolePoolSkusNext(resourceGroupName, name, continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *listMultiRolePoolSkusPagingAll(resourceGroupName, name, options) { for await (const page of this.listMultiRolePoolSkusPagingPage(resourceGroupName, name, options)) { yield* page; } } /** * Description for Get usage metrics for a multi-role pool of an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param options The options parameters. */ listMultiRoleUsages(resourceGroupName, name, options) { const iter = this.listMultiRoleUsagesPagingAll(resourceGroupName, name, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.listMultiRoleUsagesPagingPage(resourceGroupName, name, options, settings); }, }; } async *listMultiRoleUsagesPagingPage(resourceGroupName, name, options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._listMultiRoleUsages(resourceGroupName, name, options); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._listMultiRoleUsagesNext(resourceGroupName, name, continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *listMultiRoleUsagesPagingAll(resourceGroupName, name, options) { for await (const page of this.listMultiRoleUsagesPagingPage(resourceGroupName, name, options)) { yield* page; } } /** * Description for Get the network endpoints of all outbound dependencies of an App Service * Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param options The options parameters. */ listOutboundNetworkDependenciesEndpoints(resourceGroupName, name, options) { const iter = this.getOutboundNetworkDependenciesEndpointsPagingAll(resourceGroupName, name, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.getOutboundNetworkDependenciesEndpointsPagingPage(resourceGroupName, name, options, settings); }, }; } async *getOutboundNetworkDependenciesEndpointsPagingPage(resourceGroupName, name, options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._getOutboundNetworkDependenciesEndpoints(resourceGroupName, name, options); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._getOutboundNetworkDependenciesEndpointsNext(resourceGroupName, name, continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *getOutboundNetworkDependenciesEndpointsPagingAll(resourceGroupName, name, options) { for await (const page of this.getOutboundNetworkDependenciesEndpointsPagingPage(resourceGroupName, name, options)) { yield* page; } } /** * Description for Gets the list of private endpoints associated with a hosting environment * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param options The options parameters. */ listPrivateEndpointConnectionList(resourceGroupName, name, options) { const iter = this.getPrivateEndpointConnectionListPagingAll(resourceGroupName, name, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.getPrivateEndpointConnectionListPagingPage(resourceGroupName, name, options, settings); }, }; } async *getPrivateEndpointConnectionListPagingPage(resourceGroupName, name, options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._getPrivateEndpointConnectionList(resourceGroupName, name, options); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._getPrivateEndpointConnectionListNext(resourceGroupName, name, continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *getPrivateEndpointConnectionListPagingAll(resourceGroupName, name, options) { for await (const page of this.getPrivateEndpointConnectionListPagingPage(resourceGroupName, name, options)) { yield* page; } } /** * Description for Resume an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param options The options parameters. */ beginListResumeAndWait(resourceGroupName, name, options) { const iter = this.resumePagingAll(resourceGroupName, name, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.resumePagingPage(resourceGroupName, name, options, settings); }, }; } async *resumePagingPage(resourceGroupName, name, options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { const poller = await this._resume(resourceGroupName, name, options); result = await poller.pollUntilDone(); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._resumeNext(resourceGroupName, name, continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *resumePagingAll(resourceGroupName, name, options) { for await (const page of this.resumePagingPage(resourceGroupName, name, options)) { yield* page; } } /** * Description for Get all App Service plans in an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param options The options parameters. */ listAppServicePlans(resourceGroupName, name, options) { const iter = this.listAppServicePlansPagingAll(resourceGroupName, name, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.listAppServicePlansPagingPage(resourceGroupName, name, options, settings); }, }; } async *listAppServicePlansPagingPage(resourceGroupName, name, options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._listAppServicePlans(resourceGroupName, name, options); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._listAppServicePlansNext(resourceGroupName, name, continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *listAppServicePlansPagingAll(resourceGroupName, name, options) { for await (const page of this.listAppServicePlansPagingPage(resourceGroupName, name, options)) { yield* page; } } /** * Description for Get all apps in an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param options The options parameters. */ listWebApps(resourceGroupName, name, options) { const iter = this.listWebAppsPagingAll(resourceGroupName, name, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.listWebAppsPagingPage(resourceGroupName, name, options, settings); }, }; } async *listWebAppsPagingPage(resourceGroupName, name, options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._listWebApps(resourceGroupName, name, options); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._listWebAppsNext(resourceGroupName, name, continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *listWebAppsPagingAll(resourceGroupName, name, options) { for await (const page of this.listWebAppsPagingPage(resourceGroupName, name, options)) { yield* page; } } /** * Description for Suspend an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param options The options parameters. */ beginListSuspendAndWait(resourceGroupName, name, options) { const iter = this.suspendPagingAll(resourceGroupName, name, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.suspendPagingPage(resourceGroupName, name, options, settings); }, }; } async *suspendPagingPage(resourceGroupName, name, options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { const poller = await this._suspend(resourceGroupName, name, options); result = await poller.pollUntilDone(); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._suspendNext(resourceGroupName, name, continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *suspendPagingAll(resourceGroupName, name, options) { for await (const page of this.suspendPagingPage(resourceGroupName, name, options)) { yield* page; } } /** * Description for Get global usage metrics of an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param options The options parameters. */ listUsages(resourceGroupName, name, options) { const iter = this.listUsagesPagingAll(resourceGroupName, name, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.listUsagesPagingPage(resourceGroupName, name, options, settings); }, }; } async *listUsagesPagingPage(resourceGroupName, name, options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._listUsages(resourceGroupName, name, options); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._listUsagesNext(resourceGroupName, name, continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *listUsagesPagingAll(resourceGroupName, name, options) { for await (const page of this.listUsagesPagingPage(resourceGroupName, name, options)) { yield* page; } } /** * Description for Get all worker pools of an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param options The options parameters. */ listWorkerPools(resourceGroupName, name, options) { const iter = this.listWorkerPoolsPagingAll(resourceGroupName, name, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.listWorkerPoolsPagingPage(resourceGroupName, name, options, settings); }, }; } async *listWorkerPoolsPagingPage(resourceGroupName, name, options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._listWorkerPools(resourceGroupName, name, options); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._listWorkerPoolsNext(resourceGroupName, name, continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *listWorkerPoolsPagingAll(resourceGroupName, name, options) { for await (const page of this.listWorkerPoolsPagingPage(resourceGroupName, name, options)) { yield* page; } } /** * Description for Get metric definitions for a specific instance of a worker pool of an App Service * Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param workerPoolName Name of the worker pool. * @param instance Name of the instance in the worker pool. * @param options The options parameters. */ listWorkerPoolInstanceMetricDefinitions(resourceGroupName, name, workerPoolName, instance, options) { const iter = this.listWorkerPoolInstanceMetricDefinitionsPagingAll(resourceGroupName, name, workerPoolName, instance, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.listWorkerPoolInstanceMetricDefinitionsPagingPage(resourceGroupName, name, workerPoolName, instance, options, settings); }, }; } async *listWorkerPoolInstanceMetricDefinitionsPagingPage(resourceGroupName, name, workerPoolName, instance, options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._listWorkerPoolInstanceMetricDefinitions(resourceGroupName, name, workerPoolName, instance, options); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._listWorkerPoolInstanceMetricDefinitionsNext(resourceGroupName, name, workerPoolName, instance, continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *listWorkerPoolInstanceMetricDefinitionsPagingAll(resourceGroupName, name, workerPoolName, instance, options) { for await (const page of this.listWorkerPoolInstanceMetricDefinitionsPagingPage(resourceGroupName, name, workerPoolName, instance, options)) { yield* page; } } /** * Description for Get metric definitions for a worker pool of an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param workerPoolName Name of the worker pool. * @param options The options parameters. */ listWebWorkerMetricDefinitions(resourceGroupName, name, workerPoolName, options) { const iter = this.listWebWorkerMetricDefinitionsPagingAll(resourceGroupName, name, workerPoolName, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.listWebWorkerMetricDefinitionsPagingPage(resourceGroupName, name, workerPoolName, options, settings); }, }; } async *listWebWorkerMetricDefinitionsPagingPage(resourceGroupName, name, workerPoolName, options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._listWebWorkerMetricDefinitions(resourceGroupName, name, workerPoolName, options); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._listWebWorkerMetricDefinitionsNext(resourceGroupName, name, workerPoolName, continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *listWebWorkerMetricDefinitionsPagingAll(resourceGroupName, name, workerPoolName, options) { for await (const page of this.listWebWorkerMetricDefinitionsPagingPage(resourceGroupName, name, workerPoolName, options)) { yield* page; } } /** * Description for Get available SKUs for scaling a worker pool. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param workerPoolName Name of the worker pool. * @param options The options parameters. */ listWorkerPoolSkus(resourceGroupName, name, workerPoolName, options) { const iter = this.listWorkerPoolSkusPagingAll(resourceGroupName, name, workerPoolName, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.listWorkerPoolSkusPagingPage(resourceGroupName, name, workerPoolName, options, settings); }, }; } async *listWorkerPoolSkusPagingPage(resourceGroupName, name, workerPoolName, options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._listWorkerPoolSkus(resourceGroupName, name, workerPoolName, options); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._listWorkerPoolSkusNext(resourceGroupName, name, workerPoolName, continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *listWorkerPoolSkusPagingAll(resourceGroupName, name, workerPoolName, options) { for await (const page of this.listWorkerPoolSkusPagingPage(resourceGroupName, name, workerPoolName, options)) { yield* page; } } /** * Description for Get usage metrics for a worker pool of an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param workerPoolName Name of the worker pool. * @param options The options parameters. */ listWebWorkerUsages(resourceGroupName, name, workerPoolName, options) { const iter = this.listWebWorkerUsagesPagingAll(resourceGroupName, name, workerPoolName, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.listWebWorkerUsagesPagingPage(resourceGroupName, name, workerPoolName, options, settings); }, }; } async *listWebWorkerUsagesPagingPage(resourceGroupName, name, workerPoolName, options, settings) { let result; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._listWebWorkerUsages(resourceGroupName, name, workerPoolName, options); const page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._listWebWorkerUsagesNext(resourceGroupName, name, workerPoolName, continuationToken, options); continuationToken = result.nextLink; const page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } async *listWebWorkerUsagesPagingAll(resourceGroupName, name, workerPoolName, options) { for await (const page of this.listWebWorkerUsagesPagingPage(resourceGroupName, name, workerPoolName, options)) { yield* page; } } /** * Description for Get all App Service Environments for a subscription. * @param options The options parameters. */ _list(options) { return this.client.sendOperationRequest({ options }, listOperationSpec); } /** * Description for Get all App Service Environments in a resource group. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param options The options parameters. */ _listByResourceGroup(resourceGroupName, options) { return this.client.sendOperationRequest({ resourceGroupName, options }, listByResourceGroupOperationSpec); } /** * Description for Get the properties of an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param options The options parameters. */ get(resourceGroupName, name, options) { return this.client.sendOperationRequest({ resourceGroupName, name, options }, getOperationSpec); } /** * Description for Create or update an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param hostingEnvironmentEnvelope Configuration details of the App Service Environment. * @param options The options parameters. */ async beginCreateOrUpdate(resourceGroupName, name, hostingEnvironmentEnvelope, options) { const directSendOperation = async (args, spec) => { return this.client.sendOperationRequest(args, spec); }; const sendOperationFn = async (args, spec) => { let currentRawResponse = undefined; const providedCallback = args.options?.onResponse; const callback = (rawResponse, flatResponse) => { currentRawResponse = rawResponse; providedCallback?.(rawResponse, flatResponse); }; const updatedArgs = { ...args, options: { ...args.options, onResponse: callback, }, }; const flatResponse = await directSendOperation(updatedArgs, spec); return { flatResponse, rawResponse: { statusCode: currentRawResponse.status, body: currentRawResponse.parsedBody, headers: currentRawResponse.headers.toJSON(), }, }; }; const lro = createLroSpec({ sendOperationFn, args: { resourceGroupName, name, hostingEnvironmentEnvelope, options }, spec: createOrUpdateOperationSpec, }); const poller = await createHttpPoller(lro, { restoreFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs, }); await poller.poll(); return poller; } /** * Description for Create or update an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param hostingEnvironmentEnvelope Configuration details of the App Service Environment. * @param options The options parameters. */ async beginCreateOrUpdateAndWait(resourceGroupName, name, hostingEnvironmentEnvelope, options) { const poller = await this.beginCreateOrUpdate(resourceGroupName, name, hostingEnvironmentEnvelope, options); return poller.pollUntilDone(); } /** * Description for Delete an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param options The options parameters. */ async beginDelete(resourceGroupName, name, options) { const directSendOperation = async (args, spec) => { return this.client.sendOperationRequest(args, spec); }; const sendOperationFn = async (args, spec) => { let currentRawResponse = undefined; const providedCallback = args.options?.onResponse; const callback = (rawResponse, flatResponse) => { currentRawResponse = rawResponse; providedCallback?.(rawResponse, f