1// +build go1.13
2
3// Copyright (c) Microsoft Corporation. All rights reserved.
4// Licensed under the MIT License. See License.txt in the project root for license information.
5// Code generated by Microsoft (R) AutoRest Code Generator.
6// Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
8package armweb
9
10import (
11	"context"
12	"errors"
13	"fmt"
14	"github.com/Azure/azure-sdk-for-go/sdk/armcore"
15	"github.com/Azure/azure-sdk-for-go/sdk/azcore"
16	"net/http"
17	"net/url"
18	"strconv"
19	"strings"
20	"time"
21)
22
23// AppServiceEnvironmentsClient contains the methods for the AppServiceEnvironments group.
24// Don't use this type directly, use NewAppServiceEnvironmentsClient() instead.
25type AppServiceEnvironmentsClient struct {
26	con            *armcore.Connection
27	subscriptionID string
28}
29
30// NewAppServiceEnvironmentsClient creates a new instance of AppServiceEnvironmentsClient with the specified values.
31func NewAppServiceEnvironmentsClient(con *armcore.Connection, subscriptionID string) *AppServiceEnvironmentsClient {
32	return &AppServiceEnvironmentsClient{con: con, subscriptionID: subscriptionID}
33}
34
35// BeginApproveOrRejectPrivateEndpointConnection - Description for Approves or rejects a private endpoint connection
36// If the operation fails it returns the *DefaultErrorResponse error type.
37func (client *AppServiceEnvironmentsClient) BeginApproveOrRejectPrivateEndpointConnection(ctx context.Context, resourceGroupName string, name string, privateEndpointConnectionName string, privateEndpointWrapper PrivateLinkConnectionApprovalRequestResource, options *AppServiceEnvironmentsBeginApproveOrRejectPrivateEndpointConnectionOptions) (AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionPollerResponse, error) {
38	resp, err := client.approveOrRejectPrivateEndpointConnection(ctx, resourceGroupName, name, privateEndpointConnectionName, privateEndpointWrapper, options)
39	if err != nil {
40		return AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionPollerResponse{}, err
41	}
42	result := AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionPollerResponse{
43		RawResponse: resp.Response,
44	}
45	pt, err := armcore.NewLROPoller("AppServiceEnvironmentsClient.ApproveOrRejectPrivateEndpointConnection", "", resp, client.con.Pipeline(), client.approveOrRejectPrivateEndpointConnectionHandleError)
46	if err != nil {
47		return AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionPollerResponse{}, err
48	}
49	poller := &appServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionPoller{
50		pt: pt,
51	}
52	result.Poller = poller
53	result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionResponse, error) {
54		return poller.pollUntilDone(ctx, frequency)
55	}
56	return result, nil
57}
58
59// ResumeApproveOrRejectPrivateEndpointConnection creates a new AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionPoller from the specified resume token.
60// token - The value must come from a previous call to AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionPoller.ResumeToken().
61func (client *AppServiceEnvironmentsClient) ResumeApproveOrRejectPrivateEndpointConnection(ctx context.Context, token string) (AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionPollerResponse, error) {
62	pt, err := armcore.NewLROPollerFromResumeToken("AppServiceEnvironmentsClient.ApproveOrRejectPrivateEndpointConnection", token, client.con.Pipeline(), client.approveOrRejectPrivateEndpointConnectionHandleError)
63	if err != nil {
64		return AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionPollerResponse{}, err
65	}
66	poller := &appServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionPoller{
67		pt: pt,
68	}
69	resp, err := poller.Poll(ctx)
70	if err != nil {
71		return AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionPollerResponse{}, err
72	}
73	result := AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionPollerResponse{
74		RawResponse: resp,
75	}
76	result.Poller = poller
77	result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionResponse, error) {
78		return poller.pollUntilDone(ctx, frequency)
79	}
80	return result, nil
81}
82
83// ApproveOrRejectPrivateEndpointConnection - Description for Approves or rejects a private endpoint connection
84// If the operation fails it returns the *DefaultErrorResponse error type.
85func (client *AppServiceEnvironmentsClient) approveOrRejectPrivateEndpointConnection(ctx context.Context, resourceGroupName string, name string, privateEndpointConnectionName string, privateEndpointWrapper PrivateLinkConnectionApprovalRequestResource, options *AppServiceEnvironmentsBeginApproveOrRejectPrivateEndpointConnectionOptions) (*azcore.Response, error) {
86	req, err := client.approveOrRejectPrivateEndpointConnectionCreateRequest(ctx, resourceGroupName, name, privateEndpointConnectionName, privateEndpointWrapper, options)
87	if err != nil {
88		return nil, err
89	}
90	resp, err := client.con.Pipeline().Do(req)
91	if err != nil {
92		return nil, err
93	}
94	if !resp.HasStatusCode(http.StatusOK, http.StatusAccepted) {
95		return nil, client.approveOrRejectPrivateEndpointConnectionHandleError(resp)
96	}
97	return resp, nil
98}
99
100// approveOrRejectPrivateEndpointConnectionCreateRequest creates the ApproveOrRejectPrivateEndpointConnection request.
101func (client *AppServiceEnvironmentsClient) approveOrRejectPrivateEndpointConnectionCreateRequest(ctx context.Context, resourceGroupName string, name string, privateEndpointConnectionName string, privateEndpointWrapper PrivateLinkConnectionApprovalRequestResource, options *AppServiceEnvironmentsBeginApproveOrRejectPrivateEndpointConnectionOptions) (*azcore.Request, error) {
102	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/privateEndpointConnections/{privateEndpointConnectionName}"
103	if resourceGroupName == "" {
104		return nil, errors.New("parameter resourceGroupName cannot be empty")
105	}
106	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
107	if name == "" {
108		return nil, errors.New("parameter name cannot be empty")
109	}
110	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
111	if privateEndpointConnectionName == "" {
112		return nil, errors.New("parameter privateEndpointConnectionName cannot be empty")
113	}
114	urlPath = strings.ReplaceAll(urlPath, "{privateEndpointConnectionName}", url.PathEscape(privateEndpointConnectionName))
115	if client.subscriptionID == "" {
116		return nil, errors.New("parameter client.subscriptionID cannot be empty")
117	}
118	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
119	req, err := azcore.NewRequest(ctx, http.MethodPut, azcore.JoinPaths(client.con.Endpoint(), urlPath))
120	if err != nil {
121		return nil, err
122	}
123	req.Telemetry(telemetryInfo)
124	reqQP := req.URL.Query()
125	reqQP.Set("api-version", "2021-01-15")
126	req.URL.RawQuery = reqQP.Encode()
127	req.Header.Set("Accept", "application/json")
128	return req, req.MarshalAsJSON(privateEndpointWrapper)
129}
130
131// approveOrRejectPrivateEndpointConnectionHandleError handles the ApproveOrRejectPrivateEndpointConnection error response.
132func (client *AppServiceEnvironmentsClient) approveOrRejectPrivateEndpointConnectionHandleError(resp *azcore.Response) error {
133	body, err := resp.Payload()
134	if err != nil {
135		return azcore.NewResponseError(err, resp.Response)
136	}
137	errType := DefaultErrorResponse{raw: string(body)}
138	if err := resp.UnmarshalAsJSON(&errType); err != nil {
139		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
140	}
141	return azcore.NewResponseError(&errType, resp.Response)
142}
143
144// BeginChangeVnet - Description for Move an App Service Environment to a different VNET.
145// If the operation fails it returns the *DefaultErrorResponse error type.
146func (client *AppServiceEnvironmentsClient) BeginChangeVnet(ctx context.Context, resourceGroupName string, name string, vnetInfo VirtualNetworkProfile, options *AppServiceEnvironmentsBeginChangeVnetOptions) (AppServiceEnvironmentsChangeVnetPollerResponse, error) {
147	resp, err := client.changeVnet(ctx, resourceGroupName, name, vnetInfo, options)
148	if err != nil {
149		return AppServiceEnvironmentsChangeVnetPollerResponse{}, err
150	}
151	result := AppServiceEnvironmentsChangeVnetPollerResponse{
152		RawResponse: resp.Response,
153	}
154	pt, err := armcore.NewLROPoller("AppServiceEnvironmentsClient.ChangeVnet", "", resp, client.con.Pipeline(), client.changeVnetHandleError)
155	if err != nil {
156		return AppServiceEnvironmentsChangeVnetPollerResponse{}, err
157	}
158	poller := &appServiceEnvironmentsChangeVnetPoller{
159		pt:     pt,
160		client: client,
161	}
162	result.Poller = poller
163	result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceEnvironmentsChangeVnetPager, error) {
164		return poller.pollUntilDone(ctx, frequency)
165	}
166	return result, nil
167}
168
169// ResumeChangeVnet creates a new AppServiceEnvironmentsChangeVnetPoller from the specified resume token.
170// token - The value must come from a previous call to AppServiceEnvironmentsChangeVnetPoller.ResumeToken().
171func (client *AppServiceEnvironmentsClient) ResumeChangeVnet(ctx context.Context, token string) (AppServiceEnvironmentsChangeVnetPollerResponse, error) {
172	pt, err := armcore.NewLROPollerFromResumeToken("AppServiceEnvironmentsClient.ChangeVnet", token, client.con.Pipeline(), client.changeVnetHandleError)
173	if err != nil {
174		return AppServiceEnvironmentsChangeVnetPollerResponse{}, err
175	}
176	poller := &appServiceEnvironmentsChangeVnetPoller{
177		pt:     pt,
178		client: client,
179	}
180	resp, err := poller.Poll(ctx)
181	if err != nil {
182		return AppServiceEnvironmentsChangeVnetPollerResponse{}, err
183	}
184	result := AppServiceEnvironmentsChangeVnetPollerResponse{
185		RawResponse: resp,
186	}
187	result.Poller = poller
188	result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceEnvironmentsChangeVnetPager, error) {
189		return poller.pollUntilDone(ctx, frequency)
190	}
191	return result, nil
192}
193
194// ChangeVnet - Description for Move an App Service Environment to a different VNET.
195// If the operation fails it returns the *DefaultErrorResponse error type.
196func (client *AppServiceEnvironmentsClient) changeVnet(ctx context.Context, resourceGroupName string, name string, vnetInfo VirtualNetworkProfile, options *AppServiceEnvironmentsBeginChangeVnetOptions) (*azcore.Response, error) {
197	req, err := client.changeVnetCreateRequest(ctx, resourceGroupName, name, vnetInfo, options)
198	if err != nil {
199		return nil, err
200	}
201	resp, err := client.con.Pipeline().Do(req)
202	if err != nil {
203		return nil, err
204	}
205	if !resp.HasStatusCode(http.StatusOK, http.StatusAccepted) {
206		return nil, client.changeVnetHandleError(resp)
207	}
208	return resp, nil
209}
210
211// changeVnetCreateRequest creates the ChangeVnet request.
212func (client *AppServiceEnvironmentsClient) changeVnetCreateRequest(ctx context.Context, resourceGroupName string, name string, vnetInfo VirtualNetworkProfile, options *AppServiceEnvironmentsBeginChangeVnetOptions) (*azcore.Request, error) {
213	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/changeVirtualNetwork"
214	if resourceGroupName == "" {
215		return nil, errors.New("parameter resourceGroupName cannot be empty")
216	}
217	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
218	if name == "" {
219		return nil, errors.New("parameter name cannot be empty")
220	}
221	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
222	if client.subscriptionID == "" {
223		return nil, errors.New("parameter client.subscriptionID cannot be empty")
224	}
225	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
226	req, err := azcore.NewRequest(ctx, http.MethodPost, azcore.JoinPaths(client.con.Endpoint(), urlPath))
227	if err != nil {
228		return nil, err
229	}
230	req.Telemetry(telemetryInfo)
231	reqQP := req.URL.Query()
232	reqQP.Set("api-version", "2021-01-15")
233	req.URL.RawQuery = reqQP.Encode()
234	req.Header.Set("Accept", "application/json")
235	return req, req.MarshalAsJSON(vnetInfo)
236}
237
238// changeVnetHandleResponse handles the ChangeVnet response.
239func (client *AppServiceEnvironmentsClient) changeVnetHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsChangeVnetResponse, error) {
240	result := AppServiceEnvironmentsChangeVnetResponse{RawResponse: resp.Response}
241	if err := resp.UnmarshalAsJSON(&result.WebAppCollection); err != nil {
242		return AppServiceEnvironmentsChangeVnetResponse{}, err
243	}
244	return result, nil
245}
246
247// changeVnetHandleError handles the ChangeVnet error response.
248func (client *AppServiceEnvironmentsClient) changeVnetHandleError(resp *azcore.Response) error {
249	body, err := resp.Payload()
250	if err != nil {
251		return azcore.NewResponseError(err, resp.Response)
252	}
253	errType := DefaultErrorResponse{raw: string(body)}
254	if err := resp.UnmarshalAsJSON(&errType); err != nil {
255		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
256	}
257	return azcore.NewResponseError(&errType, resp.Response)
258}
259
260// BeginCreateOrUpdate - Description for Create or update an App Service Environment.
261// If the operation fails it returns the *DefaultErrorResponse error type.
262func (client *AppServiceEnvironmentsClient) BeginCreateOrUpdate(ctx context.Context, resourceGroupName string, name string, hostingEnvironmentEnvelope AppServiceEnvironmentResource, options *AppServiceEnvironmentsBeginCreateOrUpdateOptions) (AppServiceEnvironmentsCreateOrUpdatePollerResponse, error) {
263	resp, err := client.createOrUpdate(ctx, resourceGroupName, name, hostingEnvironmentEnvelope, options)
264	if err != nil {
265		return AppServiceEnvironmentsCreateOrUpdatePollerResponse{}, err
266	}
267	result := AppServiceEnvironmentsCreateOrUpdatePollerResponse{
268		RawResponse: resp.Response,
269	}
270	pt, err := armcore.NewLROPoller("AppServiceEnvironmentsClient.CreateOrUpdate", "", resp, client.con.Pipeline(), client.createOrUpdateHandleError)
271	if err != nil {
272		return AppServiceEnvironmentsCreateOrUpdatePollerResponse{}, err
273	}
274	poller := &appServiceEnvironmentsCreateOrUpdatePoller{
275		pt: pt,
276	}
277	result.Poller = poller
278	result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceEnvironmentsCreateOrUpdateResponse, error) {
279		return poller.pollUntilDone(ctx, frequency)
280	}
281	return result, nil
282}
283
284// ResumeCreateOrUpdate creates a new AppServiceEnvironmentsCreateOrUpdatePoller from the specified resume token.
285// token - The value must come from a previous call to AppServiceEnvironmentsCreateOrUpdatePoller.ResumeToken().
286func (client *AppServiceEnvironmentsClient) ResumeCreateOrUpdate(ctx context.Context, token string) (AppServiceEnvironmentsCreateOrUpdatePollerResponse, error) {
287	pt, err := armcore.NewLROPollerFromResumeToken("AppServiceEnvironmentsClient.CreateOrUpdate", token, client.con.Pipeline(), client.createOrUpdateHandleError)
288	if err != nil {
289		return AppServiceEnvironmentsCreateOrUpdatePollerResponse{}, err
290	}
291	poller := &appServiceEnvironmentsCreateOrUpdatePoller{
292		pt: pt,
293	}
294	resp, err := poller.Poll(ctx)
295	if err != nil {
296		return AppServiceEnvironmentsCreateOrUpdatePollerResponse{}, err
297	}
298	result := AppServiceEnvironmentsCreateOrUpdatePollerResponse{
299		RawResponse: resp,
300	}
301	result.Poller = poller
302	result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceEnvironmentsCreateOrUpdateResponse, error) {
303		return poller.pollUntilDone(ctx, frequency)
304	}
305	return result, nil
306}
307
308// CreateOrUpdate - Description for Create or update an App Service Environment.
309// If the operation fails it returns the *DefaultErrorResponse error type.
310func (client *AppServiceEnvironmentsClient) createOrUpdate(ctx context.Context, resourceGroupName string, name string, hostingEnvironmentEnvelope AppServiceEnvironmentResource, options *AppServiceEnvironmentsBeginCreateOrUpdateOptions) (*azcore.Response, error) {
311	req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, name, hostingEnvironmentEnvelope, options)
312	if err != nil {
313		return nil, err
314	}
315	resp, err := client.con.Pipeline().Do(req)
316	if err != nil {
317		return nil, err
318	}
319	if !resp.HasStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted) {
320		return nil, client.createOrUpdateHandleError(resp)
321	}
322	return resp, nil
323}
324
325// createOrUpdateCreateRequest creates the CreateOrUpdate request.
326func (client *AppServiceEnvironmentsClient) createOrUpdateCreateRequest(ctx context.Context, resourceGroupName string, name string, hostingEnvironmentEnvelope AppServiceEnvironmentResource, options *AppServiceEnvironmentsBeginCreateOrUpdateOptions) (*azcore.Request, error) {
327	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}"
328	if resourceGroupName == "" {
329		return nil, errors.New("parameter resourceGroupName cannot be empty")
330	}
331	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
332	if name == "" {
333		return nil, errors.New("parameter name cannot be empty")
334	}
335	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
336	if client.subscriptionID == "" {
337		return nil, errors.New("parameter client.subscriptionID cannot be empty")
338	}
339	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
340	req, err := azcore.NewRequest(ctx, http.MethodPut, azcore.JoinPaths(client.con.Endpoint(), urlPath))
341	if err != nil {
342		return nil, err
343	}
344	req.Telemetry(telemetryInfo)
345	reqQP := req.URL.Query()
346	reqQP.Set("api-version", "2021-01-15")
347	req.URL.RawQuery = reqQP.Encode()
348	req.Header.Set("Accept", "application/json")
349	return req, req.MarshalAsJSON(hostingEnvironmentEnvelope)
350}
351
352// createOrUpdateHandleError handles the CreateOrUpdate error response.
353func (client *AppServiceEnvironmentsClient) createOrUpdateHandleError(resp *azcore.Response) error {
354	body, err := resp.Payload()
355	if err != nil {
356		return azcore.NewResponseError(err, resp.Response)
357	}
358	errType := DefaultErrorResponse{raw: string(body)}
359	if err := resp.UnmarshalAsJSON(&errType); err != nil {
360		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
361	}
362	return azcore.NewResponseError(&errType, resp.Response)
363}
364
365// BeginCreateOrUpdateMultiRolePool - Description for Create or update a multi-role pool.
366// If the operation fails it returns the *DefaultErrorResponse error type.
367func (client *AppServiceEnvironmentsClient) BeginCreateOrUpdateMultiRolePool(ctx context.Context, resourceGroupName string, name string, multiRolePoolEnvelope WorkerPoolResource, options *AppServiceEnvironmentsBeginCreateOrUpdateMultiRolePoolOptions) (AppServiceEnvironmentsCreateOrUpdateMultiRolePoolPollerResponse, error) {
368	resp, err := client.createOrUpdateMultiRolePool(ctx, resourceGroupName, name, multiRolePoolEnvelope, options)
369	if err != nil {
370		return AppServiceEnvironmentsCreateOrUpdateMultiRolePoolPollerResponse{}, err
371	}
372	result := AppServiceEnvironmentsCreateOrUpdateMultiRolePoolPollerResponse{
373		RawResponse: resp.Response,
374	}
375	pt, err := armcore.NewLROPoller("AppServiceEnvironmentsClient.CreateOrUpdateMultiRolePool", "", resp, client.con.Pipeline(), client.createOrUpdateMultiRolePoolHandleError)
376	if err != nil {
377		return AppServiceEnvironmentsCreateOrUpdateMultiRolePoolPollerResponse{}, err
378	}
379	poller := &appServiceEnvironmentsCreateOrUpdateMultiRolePoolPoller{
380		pt: pt,
381	}
382	result.Poller = poller
383	result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceEnvironmentsCreateOrUpdateMultiRolePoolResponse, error) {
384		return poller.pollUntilDone(ctx, frequency)
385	}
386	return result, nil
387}
388
389// ResumeCreateOrUpdateMultiRolePool creates a new AppServiceEnvironmentsCreateOrUpdateMultiRolePoolPoller from the specified resume token.
390// token - The value must come from a previous call to AppServiceEnvironmentsCreateOrUpdateMultiRolePoolPoller.ResumeToken().
391func (client *AppServiceEnvironmentsClient) ResumeCreateOrUpdateMultiRolePool(ctx context.Context, token string) (AppServiceEnvironmentsCreateOrUpdateMultiRolePoolPollerResponse, error) {
392	pt, err := armcore.NewLROPollerFromResumeToken("AppServiceEnvironmentsClient.CreateOrUpdateMultiRolePool", token, client.con.Pipeline(), client.createOrUpdateMultiRolePoolHandleError)
393	if err != nil {
394		return AppServiceEnvironmentsCreateOrUpdateMultiRolePoolPollerResponse{}, err
395	}
396	poller := &appServiceEnvironmentsCreateOrUpdateMultiRolePoolPoller{
397		pt: pt,
398	}
399	resp, err := poller.Poll(ctx)
400	if err != nil {
401		return AppServiceEnvironmentsCreateOrUpdateMultiRolePoolPollerResponse{}, err
402	}
403	result := AppServiceEnvironmentsCreateOrUpdateMultiRolePoolPollerResponse{
404		RawResponse: resp,
405	}
406	result.Poller = poller
407	result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceEnvironmentsCreateOrUpdateMultiRolePoolResponse, error) {
408		return poller.pollUntilDone(ctx, frequency)
409	}
410	return result, nil
411}
412
413// CreateOrUpdateMultiRolePool - Description for Create or update a multi-role pool.
414// If the operation fails it returns the *DefaultErrorResponse error type.
415func (client *AppServiceEnvironmentsClient) createOrUpdateMultiRolePool(ctx context.Context, resourceGroupName string, name string, multiRolePoolEnvelope WorkerPoolResource, options *AppServiceEnvironmentsBeginCreateOrUpdateMultiRolePoolOptions) (*azcore.Response, error) {
416	req, err := client.createOrUpdateMultiRolePoolCreateRequest(ctx, resourceGroupName, name, multiRolePoolEnvelope, options)
417	if err != nil {
418		return nil, err
419	}
420	resp, err := client.con.Pipeline().Do(req)
421	if err != nil {
422		return nil, err
423	}
424	if !resp.HasStatusCode(http.StatusOK, http.StatusAccepted) {
425		return nil, client.createOrUpdateMultiRolePoolHandleError(resp)
426	}
427	return resp, nil
428}
429
430// createOrUpdateMultiRolePoolCreateRequest creates the CreateOrUpdateMultiRolePool request.
431func (client *AppServiceEnvironmentsClient) createOrUpdateMultiRolePoolCreateRequest(ctx context.Context, resourceGroupName string, name string, multiRolePoolEnvelope WorkerPoolResource, options *AppServiceEnvironmentsBeginCreateOrUpdateMultiRolePoolOptions) (*azcore.Request, error) {
432	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default"
433	if resourceGroupName == "" {
434		return nil, errors.New("parameter resourceGroupName cannot be empty")
435	}
436	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
437	if name == "" {
438		return nil, errors.New("parameter name cannot be empty")
439	}
440	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
441	if client.subscriptionID == "" {
442		return nil, errors.New("parameter client.subscriptionID cannot be empty")
443	}
444	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
445	req, err := azcore.NewRequest(ctx, http.MethodPut, azcore.JoinPaths(client.con.Endpoint(), urlPath))
446	if err != nil {
447		return nil, err
448	}
449	req.Telemetry(telemetryInfo)
450	reqQP := req.URL.Query()
451	reqQP.Set("api-version", "2021-01-15")
452	req.URL.RawQuery = reqQP.Encode()
453	req.Header.Set("Accept", "application/json")
454	return req, req.MarshalAsJSON(multiRolePoolEnvelope)
455}
456
457// createOrUpdateMultiRolePoolHandleError handles the CreateOrUpdateMultiRolePool error response.
458func (client *AppServiceEnvironmentsClient) createOrUpdateMultiRolePoolHandleError(resp *azcore.Response) error {
459	body, err := resp.Payload()
460	if err != nil {
461		return azcore.NewResponseError(err, resp.Response)
462	}
463	errType := DefaultErrorResponse{raw: string(body)}
464	if err := resp.UnmarshalAsJSON(&errType); err != nil {
465		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
466	}
467	return azcore.NewResponseError(&errType, resp.Response)
468}
469
470// BeginCreateOrUpdateWorkerPool - Description for Create or update a worker pool.
471// If the operation fails it returns the *DefaultErrorResponse error type.
472func (client *AppServiceEnvironmentsClient) BeginCreateOrUpdateWorkerPool(ctx context.Context, resourceGroupName string, name string, workerPoolName string, workerPoolEnvelope WorkerPoolResource, options *AppServiceEnvironmentsBeginCreateOrUpdateWorkerPoolOptions) (AppServiceEnvironmentsCreateOrUpdateWorkerPoolPollerResponse, error) {
473	resp, err := client.createOrUpdateWorkerPool(ctx, resourceGroupName, name, workerPoolName, workerPoolEnvelope, options)
474	if err != nil {
475		return AppServiceEnvironmentsCreateOrUpdateWorkerPoolPollerResponse{}, err
476	}
477	result := AppServiceEnvironmentsCreateOrUpdateWorkerPoolPollerResponse{
478		RawResponse: resp.Response,
479	}
480	pt, err := armcore.NewLROPoller("AppServiceEnvironmentsClient.CreateOrUpdateWorkerPool", "", resp, client.con.Pipeline(), client.createOrUpdateWorkerPoolHandleError)
481	if err != nil {
482		return AppServiceEnvironmentsCreateOrUpdateWorkerPoolPollerResponse{}, err
483	}
484	poller := &appServiceEnvironmentsCreateOrUpdateWorkerPoolPoller{
485		pt: pt,
486	}
487	result.Poller = poller
488	result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceEnvironmentsCreateOrUpdateWorkerPoolResponse, error) {
489		return poller.pollUntilDone(ctx, frequency)
490	}
491	return result, nil
492}
493
494// ResumeCreateOrUpdateWorkerPool creates a new AppServiceEnvironmentsCreateOrUpdateWorkerPoolPoller from the specified resume token.
495// token - The value must come from a previous call to AppServiceEnvironmentsCreateOrUpdateWorkerPoolPoller.ResumeToken().
496func (client *AppServiceEnvironmentsClient) ResumeCreateOrUpdateWorkerPool(ctx context.Context, token string) (AppServiceEnvironmentsCreateOrUpdateWorkerPoolPollerResponse, error) {
497	pt, err := armcore.NewLROPollerFromResumeToken("AppServiceEnvironmentsClient.CreateOrUpdateWorkerPool", token, client.con.Pipeline(), client.createOrUpdateWorkerPoolHandleError)
498	if err != nil {
499		return AppServiceEnvironmentsCreateOrUpdateWorkerPoolPollerResponse{}, err
500	}
501	poller := &appServiceEnvironmentsCreateOrUpdateWorkerPoolPoller{
502		pt: pt,
503	}
504	resp, err := poller.Poll(ctx)
505	if err != nil {
506		return AppServiceEnvironmentsCreateOrUpdateWorkerPoolPollerResponse{}, err
507	}
508	result := AppServiceEnvironmentsCreateOrUpdateWorkerPoolPollerResponse{
509		RawResponse: resp,
510	}
511	result.Poller = poller
512	result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceEnvironmentsCreateOrUpdateWorkerPoolResponse, error) {
513		return poller.pollUntilDone(ctx, frequency)
514	}
515	return result, nil
516}
517
518// CreateOrUpdateWorkerPool - Description for Create or update a worker pool.
519// If the operation fails it returns the *DefaultErrorResponse error type.
520func (client *AppServiceEnvironmentsClient) createOrUpdateWorkerPool(ctx context.Context, resourceGroupName string, name string, workerPoolName string, workerPoolEnvelope WorkerPoolResource, options *AppServiceEnvironmentsBeginCreateOrUpdateWorkerPoolOptions) (*azcore.Response, error) {
521	req, err := client.createOrUpdateWorkerPoolCreateRequest(ctx, resourceGroupName, name, workerPoolName, workerPoolEnvelope, options)
522	if err != nil {
523		return nil, err
524	}
525	resp, err := client.con.Pipeline().Do(req)
526	if err != nil {
527		return nil, err
528	}
529	if !resp.HasStatusCode(http.StatusOK, http.StatusAccepted) {
530		return nil, client.createOrUpdateWorkerPoolHandleError(resp)
531	}
532	return resp, nil
533}
534
535// createOrUpdateWorkerPoolCreateRequest creates the CreateOrUpdateWorkerPool request.
536func (client *AppServiceEnvironmentsClient) createOrUpdateWorkerPoolCreateRequest(ctx context.Context, resourceGroupName string, name string, workerPoolName string, workerPoolEnvelope WorkerPoolResource, options *AppServiceEnvironmentsBeginCreateOrUpdateWorkerPoolOptions) (*azcore.Request, error) {
537	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}"
538	if resourceGroupName == "" {
539		return nil, errors.New("parameter resourceGroupName cannot be empty")
540	}
541	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
542	if name == "" {
543		return nil, errors.New("parameter name cannot be empty")
544	}
545	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
546	if workerPoolName == "" {
547		return nil, errors.New("parameter workerPoolName cannot be empty")
548	}
549	urlPath = strings.ReplaceAll(urlPath, "{workerPoolName}", url.PathEscape(workerPoolName))
550	if client.subscriptionID == "" {
551		return nil, errors.New("parameter client.subscriptionID cannot be empty")
552	}
553	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
554	req, err := azcore.NewRequest(ctx, http.MethodPut, azcore.JoinPaths(client.con.Endpoint(), urlPath))
555	if err != nil {
556		return nil, err
557	}
558	req.Telemetry(telemetryInfo)
559	reqQP := req.URL.Query()
560	reqQP.Set("api-version", "2021-01-15")
561	req.URL.RawQuery = reqQP.Encode()
562	req.Header.Set("Accept", "application/json")
563	return req, req.MarshalAsJSON(workerPoolEnvelope)
564}
565
566// createOrUpdateWorkerPoolHandleError handles the CreateOrUpdateWorkerPool error response.
567func (client *AppServiceEnvironmentsClient) createOrUpdateWorkerPoolHandleError(resp *azcore.Response) error {
568	body, err := resp.Payload()
569	if err != nil {
570		return azcore.NewResponseError(err, resp.Response)
571	}
572	errType := DefaultErrorResponse{raw: string(body)}
573	if err := resp.UnmarshalAsJSON(&errType); err != nil {
574		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
575	}
576	return azcore.NewResponseError(&errType, resp.Response)
577}
578
579// BeginDelete - Description for Delete an App Service Environment.
580// If the operation fails it returns the *DefaultErrorResponse error type.
581func (client *AppServiceEnvironmentsClient) BeginDelete(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsBeginDeleteOptions) (AppServiceEnvironmentsDeletePollerResponse, error) {
582	resp, err := client.deleteOperation(ctx, resourceGroupName, name, options)
583	if err != nil {
584		return AppServiceEnvironmentsDeletePollerResponse{}, err
585	}
586	result := AppServiceEnvironmentsDeletePollerResponse{
587		RawResponse: resp.Response,
588	}
589	pt, err := armcore.NewLROPoller("AppServiceEnvironmentsClient.Delete", "", resp, client.con.Pipeline(), client.deleteHandleError)
590	if err != nil {
591		return AppServiceEnvironmentsDeletePollerResponse{}, err
592	}
593	poller := &appServiceEnvironmentsDeletePoller{
594		pt: pt,
595	}
596	result.Poller = poller
597	result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceEnvironmentsDeleteResponse, error) {
598		return poller.pollUntilDone(ctx, frequency)
599	}
600	return result, nil
601}
602
603// ResumeDelete creates a new AppServiceEnvironmentsDeletePoller from the specified resume token.
604// token - The value must come from a previous call to AppServiceEnvironmentsDeletePoller.ResumeToken().
605func (client *AppServiceEnvironmentsClient) ResumeDelete(ctx context.Context, token string) (AppServiceEnvironmentsDeletePollerResponse, error) {
606	pt, err := armcore.NewLROPollerFromResumeToken("AppServiceEnvironmentsClient.Delete", token, client.con.Pipeline(), client.deleteHandleError)
607	if err != nil {
608		return AppServiceEnvironmentsDeletePollerResponse{}, err
609	}
610	poller := &appServiceEnvironmentsDeletePoller{
611		pt: pt,
612	}
613	resp, err := poller.Poll(ctx)
614	if err != nil {
615		return AppServiceEnvironmentsDeletePollerResponse{}, err
616	}
617	result := AppServiceEnvironmentsDeletePollerResponse{
618		RawResponse: resp,
619	}
620	result.Poller = poller
621	result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceEnvironmentsDeleteResponse, error) {
622		return poller.pollUntilDone(ctx, frequency)
623	}
624	return result, nil
625}
626
627// Delete - Description for Delete an App Service Environment.
628// If the operation fails it returns the *DefaultErrorResponse error type.
629func (client *AppServiceEnvironmentsClient) deleteOperation(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsBeginDeleteOptions) (*azcore.Response, error) {
630	req, err := client.deleteCreateRequest(ctx, resourceGroupName, name, options)
631	if err != nil {
632		return nil, err
633	}
634	resp, err := client.con.Pipeline().Do(req)
635	if err != nil {
636		return nil, err
637	}
638	if !resp.HasStatusCode(http.StatusAccepted, http.StatusNoContent) {
639		return nil, client.deleteHandleError(resp)
640	}
641	return resp, nil
642}
643
644// deleteCreateRequest creates the Delete request.
645func (client *AppServiceEnvironmentsClient) deleteCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsBeginDeleteOptions) (*azcore.Request, error) {
646	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}"
647	if resourceGroupName == "" {
648		return nil, errors.New("parameter resourceGroupName cannot be empty")
649	}
650	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
651	if name == "" {
652		return nil, errors.New("parameter name cannot be empty")
653	}
654	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
655	if client.subscriptionID == "" {
656		return nil, errors.New("parameter client.subscriptionID cannot be empty")
657	}
658	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
659	req, err := azcore.NewRequest(ctx, http.MethodDelete, azcore.JoinPaths(client.con.Endpoint(), urlPath))
660	if err != nil {
661		return nil, err
662	}
663	req.Telemetry(telemetryInfo)
664	reqQP := req.URL.Query()
665	if options != nil && options.ForceDelete != nil {
666		reqQP.Set("forceDelete", strconv.FormatBool(*options.ForceDelete))
667	}
668	reqQP.Set("api-version", "2021-01-15")
669	req.URL.RawQuery = reqQP.Encode()
670	req.Header.Set("Accept", "application/json")
671	return req, nil
672}
673
674// deleteHandleError handles the Delete error response.
675func (client *AppServiceEnvironmentsClient) deleteHandleError(resp *azcore.Response) error {
676	body, err := resp.Payload()
677	if err != nil {
678		return azcore.NewResponseError(err, resp.Response)
679	}
680	errType := DefaultErrorResponse{raw: string(body)}
681	if err := resp.UnmarshalAsJSON(&errType); err != nil {
682		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
683	}
684	return azcore.NewResponseError(&errType, resp.Response)
685}
686
687// BeginDeletePrivateEndpointConnection - Description for Deletes a private endpoint connection
688// If the operation fails it returns the *DefaultErrorResponse error type.
689func (client *AppServiceEnvironmentsClient) BeginDeletePrivateEndpointConnection(ctx context.Context, resourceGroupName string, name string, privateEndpointConnectionName string, options *AppServiceEnvironmentsBeginDeletePrivateEndpointConnectionOptions) (AppServiceEnvironmentsDeletePrivateEndpointConnectionPollerResponse, error) {
690	resp, err := client.deletePrivateEndpointConnection(ctx, resourceGroupName, name, privateEndpointConnectionName, options)
691	if err != nil {
692		return AppServiceEnvironmentsDeletePrivateEndpointConnectionPollerResponse{}, err
693	}
694	result := AppServiceEnvironmentsDeletePrivateEndpointConnectionPollerResponse{
695		RawResponse: resp.Response,
696	}
697	pt, err := armcore.NewLROPoller("AppServiceEnvironmentsClient.DeletePrivateEndpointConnection", "", resp, client.con.Pipeline(), client.deletePrivateEndpointConnectionHandleError)
698	if err != nil {
699		return AppServiceEnvironmentsDeletePrivateEndpointConnectionPollerResponse{}, err
700	}
701	poller := &appServiceEnvironmentsDeletePrivateEndpointConnectionPoller{
702		pt: pt,
703	}
704	result.Poller = poller
705	result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceEnvironmentsDeletePrivateEndpointConnectionResponse, error) {
706		return poller.pollUntilDone(ctx, frequency)
707	}
708	return result, nil
709}
710
711// ResumeDeletePrivateEndpointConnection creates a new AppServiceEnvironmentsDeletePrivateEndpointConnectionPoller from the specified resume token.
712// token - The value must come from a previous call to AppServiceEnvironmentsDeletePrivateEndpointConnectionPoller.ResumeToken().
713func (client *AppServiceEnvironmentsClient) ResumeDeletePrivateEndpointConnection(ctx context.Context, token string) (AppServiceEnvironmentsDeletePrivateEndpointConnectionPollerResponse, error) {
714	pt, err := armcore.NewLROPollerFromResumeToken("AppServiceEnvironmentsClient.DeletePrivateEndpointConnection", token, client.con.Pipeline(), client.deletePrivateEndpointConnectionHandleError)
715	if err != nil {
716		return AppServiceEnvironmentsDeletePrivateEndpointConnectionPollerResponse{}, err
717	}
718	poller := &appServiceEnvironmentsDeletePrivateEndpointConnectionPoller{
719		pt: pt,
720	}
721	resp, err := poller.Poll(ctx)
722	if err != nil {
723		return AppServiceEnvironmentsDeletePrivateEndpointConnectionPollerResponse{}, err
724	}
725	result := AppServiceEnvironmentsDeletePrivateEndpointConnectionPollerResponse{
726		RawResponse: resp,
727	}
728	result.Poller = poller
729	result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceEnvironmentsDeletePrivateEndpointConnectionResponse, error) {
730		return poller.pollUntilDone(ctx, frequency)
731	}
732	return result, nil
733}
734
735// DeletePrivateEndpointConnection - Description for Deletes a private endpoint connection
736// If the operation fails it returns the *DefaultErrorResponse error type.
737func (client *AppServiceEnvironmentsClient) deletePrivateEndpointConnection(ctx context.Context, resourceGroupName string, name string, privateEndpointConnectionName string, options *AppServiceEnvironmentsBeginDeletePrivateEndpointConnectionOptions) (*azcore.Response, error) {
738	req, err := client.deletePrivateEndpointConnectionCreateRequest(ctx, resourceGroupName, name, privateEndpointConnectionName, options)
739	if err != nil {
740		return nil, err
741	}
742	resp, err := client.con.Pipeline().Do(req)
743	if err != nil {
744		return nil, err
745	}
746	if !resp.HasStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent) {
747		return nil, client.deletePrivateEndpointConnectionHandleError(resp)
748	}
749	return resp, nil
750}
751
752// deletePrivateEndpointConnectionCreateRequest creates the DeletePrivateEndpointConnection request.
753func (client *AppServiceEnvironmentsClient) deletePrivateEndpointConnectionCreateRequest(ctx context.Context, resourceGroupName string, name string, privateEndpointConnectionName string, options *AppServiceEnvironmentsBeginDeletePrivateEndpointConnectionOptions) (*azcore.Request, error) {
754	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/privateEndpointConnections/{privateEndpointConnectionName}"
755	if resourceGroupName == "" {
756		return nil, errors.New("parameter resourceGroupName cannot be empty")
757	}
758	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
759	if name == "" {
760		return nil, errors.New("parameter name cannot be empty")
761	}
762	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
763	if privateEndpointConnectionName == "" {
764		return nil, errors.New("parameter privateEndpointConnectionName cannot be empty")
765	}
766	urlPath = strings.ReplaceAll(urlPath, "{privateEndpointConnectionName}", url.PathEscape(privateEndpointConnectionName))
767	if client.subscriptionID == "" {
768		return nil, errors.New("parameter client.subscriptionID cannot be empty")
769	}
770	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
771	req, err := azcore.NewRequest(ctx, http.MethodDelete, azcore.JoinPaths(client.con.Endpoint(), urlPath))
772	if err != nil {
773		return nil, err
774	}
775	req.Telemetry(telemetryInfo)
776	reqQP := req.URL.Query()
777	reqQP.Set("api-version", "2021-01-15")
778	req.URL.RawQuery = reqQP.Encode()
779	req.Header.Set("Accept", "application/json")
780	return req, nil
781}
782
783// deletePrivateEndpointConnectionHandleError handles the DeletePrivateEndpointConnection error response.
784func (client *AppServiceEnvironmentsClient) deletePrivateEndpointConnectionHandleError(resp *azcore.Response) error {
785	body, err := resp.Payload()
786	if err != nil {
787		return azcore.NewResponseError(err, resp.Response)
788	}
789	errType := DefaultErrorResponse{raw: string(body)}
790	if err := resp.UnmarshalAsJSON(&errType); err != nil {
791		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
792	}
793	return azcore.NewResponseError(&errType, resp.Response)
794}
795
796// Get - Description for Get the properties of an App Service Environment.
797// If the operation fails it returns the *DefaultErrorResponse error type.
798func (client *AppServiceEnvironmentsClient) Get(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsGetOptions) (AppServiceEnvironmentsGetResponse, error) {
799	req, err := client.getCreateRequest(ctx, resourceGroupName, name, options)
800	if err != nil {
801		return AppServiceEnvironmentsGetResponse{}, err
802	}
803	resp, err := client.con.Pipeline().Do(req)
804	if err != nil {
805		return AppServiceEnvironmentsGetResponse{}, err
806	}
807	if !resp.HasStatusCode(http.StatusOK) {
808		return AppServiceEnvironmentsGetResponse{}, client.getHandleError(resp)
809	}
810	return client.getHandleResponse(resp)
811}
812
813// getCreateRequest creates the Get request.
814func (client *AppServiceEnvironmentsClient) getCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsGetOptions) (*azcore.Request, error) {
815	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}"
816	if resourceGroupName == "" {
817		return nil, errors.New("parameter resourceGroupName cannot be empty")
818	}
819	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
820	if name == "" {
821		return nil, errors.New("parameter name cannot be empty")
822	}
823	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
824	if client.subscriptionID == "" {
825		return nil, errors.New("parameter client.subscriptionID cannot be empty")
826	}
827	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
828	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
829	if err != nil {
830		return nil, err
831	}
832	req.Telemetry(telemetryInfo)
833	reqQP := req.URL.Query()
834	reqQP.Set("api-version", "2021-01-15")
835	req.URL.RawQuery = reqQP.Encode()
836	req.Header.Set("Accept", "application/json")
837	return req, nil
838}
839
840// getHandleResponse handles the Get response.
841func (client *AppServiceEnvironmentsClient) getHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsGetResponse, error) {
842	result := AppServiceEnvironmentsGetResponse{RawResponse: resp.Response}
843	if err := resp.UnmarshalAsJSON(&result.AppServiceEnvironmentResource); err != nil {
844		return AppServiceEnvironmentsGetResponse{}, err
845	}
846	return result, nil
847}
848
849// getHandleError handles the Get error response.
850func (client *AppServiceEnvironmentsClient) getHandleError(resp *azcore.Response) error {
851	body, err := resp.Payload()
852	if err != nil {
853		return azcore.NewResponseError(err, resp.Response)
854	}
855	errType := DefaultErrorResponse{raw: string(body)}
856	if err := resp.UnmarshalAsJSON(&errType); err != nil {
857		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
858	}
859	return azcore.NewResponseError(&errType, resp.Response)
860}
861
862// GetAseV3NetworkingConfiguration - Description for Get networking configuration of an App Service Environment
863// If the operation fails it returns the *DefaultErrorResponse error type.
864func (client *AppServiceEnvironmentsClient) GetAseV3NetworkingConfiguration(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsGetAseV3NetworkingConfigurationOptions) (AppServiceEnvironmentsGetAseV3NetworkingConfigurationResponse, error) {
865	req, err := client.getAseV3NetworkingConfigurationCreateRequest(ctx, resourceGroupName, name, options)
866	if err != nil {
867		return AppServiceEnvironmentsGetAseV3NetworkingConfigurationResponse{}, err
868	}
869	resp, err := client.con.Pipeline().Do(req)
870	if err != nil {
871		return AppServiceEnvironmentsGetAseV3NetworkingConfigurationResponse{}, err
872	}
873	if !resp.HasStatusCode(http.StatusOK) {
874		return AppServiceEnvironmentsGetAseV3NetworkingConfigurationResponse{}, client.getAseV3NetworkingConfigurationHandleError(resp)
875	}
876	return client.getAseV3NetworkingConfigurationHandleResponse(resp)
877}
878
879// getAseV3NetworkingConfigurationCreateRequest creates the GetAseV3NetworkingConfiguration request.
880func (client *AppServiceEnvironmentsClient) getAseV3NetworkingConfigurationCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsGetAseV3NetworkingConfigurationOptions) (*azcore.Request, error) {
881	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/configurations/networking"
882	if resourceGroupName == "" {
883		return nil, errors.New("parameter resourceGroupName cannot be empty")
884	}
885	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
886	if name == "" {
887		return nil, errors.New("parameter name cannot be empty")
888	}
889	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
890	if client.subscriptionID == "" {
891		return nil, errors.New("parameter client.subscriptionID cannot be empty")
892	}
893	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
894	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
895	if err != nil {
896		return nil, err
897	}
898	req.Telemetry(telemetryInfo)
899	reqQP := req.URL.Query()
900	reqQP.Set("api-version", "2021-01-15")
901	req.URL.RawQuery = reqQP.Encode()
902	req.Header.Set("Accept", "application/json")
903	return req, nil
904}
905
906// getAseV3NetworkingConfigurationHandleResponse handles the GetAseV3NetworkingConfiguration response.
907func (client *AppServiceEnvironmentsClient) getAseV3NetworkingConfigurationHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsGetAseV3NetworkingConfigurationResponse, error) {
908	result := AppServiceEnvironmentsGetAseV3NetworkingConfigurationResponse{RawResponse: resp.Response}
909	if err := resp.UnmarshalAsJSON(&result.AseV3NetworkingConfiguration); err != nil {
910		return AppServiceEnvironmentsGetAseV3NetworkingConfigurationResponse{}, err
911	}
912	return result, nil
913}
914
915// getAseV3NetworkingConfigurationHandleError handles the GetAseV3NetworkingConfiguration error response.
916func (client *AppServiceEnvironmentsClient) getAseV3NetworkingConfigurationHandleError(resp *azcore.Response) error {
917	body, err := resp.Payload()
918	if err != nil {
919		return azcore.NewResponseError(err, resp.Response)
920	}
921	errType := DefaultErrorResponse{raw: string(body)}
922	if err := resp.UnmarshalAsJSON(&errType); err != nil {
923		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
924	}
925	return azcore.NewResponseError(&errType, resp.Response)
926}
927
928// GetDiagnosticsItem - Description for Get a diagnostics item for an App Service Environment.
929// If the operation fails it returns the *DefaultErrorResponse error type.
930func (client *AppServiceEnvironmentsClient) GetDiagnosticsItem(ctx context.Context, resourceGroupName string, name string, diagnosticsName string, options *AppServiceEnvironmentsGetDiagnosticsItemOptions) (AppServiceEnvironmentsGetDiagnosticsItemResponse, error) {
931	req, err := client.getDiagnosticsItemCreateRequest(ctx, resourceGroupName, name, diagnosticsName, options)
932	if err != nil {
933		return AppServiceEnvironmentsGetDiagnosticsItemResponse{}, err
934	}
935	resp, err := client.con.Pipeline().Do(req)
936	if err != nil {
937		return AppServiceEnvironmentsGetDiagnosticsItemResponse{}, err
938	}
939	if !resp.HasStatusCode(http.StatusOK) {
940		return AppServiceEnvironmentsGetDiagnosticsItemResponse{}, client.getDiagnosticsItemHandleError(resp)
941	}
942	return client.getDiagnosticsItemHandleResponse(resp)
943}
944
945// getDiagnosticsItemCreateRequest creates the GetDiagnosticsItem request.
946func (client *AppServiceEnvironmentsClient) getDiagnosticsItemCreateRequest(ctx context.Context, resourceGroupName string, name string, diagnosticsName string, options *AppServiceEnvironmentsGetDiagnosticsItemOptions) (*azcore.Request, error) {
947	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics/{diagnosticsName}"
948	if resourceGroupName == "" {
949		return nil, errors.New("parameter resourceGroupName cannot be empty")
950	}
951	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
952	if name == "" {
953		return nil, errors.New("parameter name cannot be empty")
954	}
955	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
956	if diagnosticsName == "" {
957		return nil, errors.New("parameter diagnosticsName cannot be empty")
958	}
959	urlPath = strings.ReplaceAll(urlPath, "{diagnosticsName}", url.PathEscape(diagnosticsName))
960	if client.subscriptionID == "" {
961		return nil, errors.New("parameter client.subscriptionID cannot be empty")
962	}
963	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
964	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
965	if err != nil {
966		return nil, err
967	}
968	req.Telemetry(telemetryInfo)
969	reqQP := req.URL.Query()
970	reqQP.Set("api-version", "2021-01-15")
971	req.URL.RawQuery = reqQP.Encode()
972	req.Header.Set("Accept", "application/json")
973	return req, nil
974}
975
976// getDiagnosticsItemHandleResponse handles the GetDiagnosticsItem response.
977func (client *AppServiceEnvironmentsClient) getDiagnosticsItemHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsGetDiagnosticsItemResponse, error) {
978	result := AppServiceEnvironmentsGetDiagnosticsItemResponse{RawResponse: resp.Response}
979	if err := resp.UnmarshalAsJSON(&result.HostingEnvironmentDiagnostics); err != nil {
980		return AppServiceEnvironmentsGetDiagnosticsItemResponse{}, err
981	}
982	return result, nil
983}
984
985// getDiagnosticsItemHandleError handles the GetDiagnosticsItem error response.
986func (client *AppServiceEnvironmentsClient) getDiagnosticsItemHandleError(resp *azcore.Response) error {
987	body, err := resp.Payload()
988	if err != nil {
989		return azcore.NewResponseError(err, resp.Response)
990	}
991	errType := DefaultErrorResponse{raw: string(body)}
992	if err := resp.UnmarshalAsJSON(&errType); err != nil {
993		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
994	}
995	return azcore.NewResponseError(&errType, resp.Response)
996}
997
998// GetInboundNetworkDependenciesEndpoints - Description for Get the network endpoints of all inbound dependencies of an App Service Environment.
999// If the operation fails it returns the *DefaultErrorResponse error type.
1000func (client *AppServiceEnvironmentsClient) GetInboundNetworkDependenciesEndpoints(resourceGroupName string, name string, options *AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsOptions) AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsPager {
1001	return &appServiceEnvironmentsGetInboundNetworkDependenciesEndpointsPager{
1002		client: client,
1003		requester: func(ctx context.Context) (*azcore.Request, error) {
1004			return client.getInboundNetworkDependenciesEndpointsCreateRequest(ctx, resourceGroupName, name, options)
1005		},
1006		advancer: func(ctx context.Context, resp AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsResponse) (*azcore.Request, error) {
1007			return azcore.NewRequest(ctx, http.MethodGet, *resp.InboundEnvironmentEndpointCollection.NextLink)
1008		},
1009	}
1010}
1011
1012// getInboundNetworkDependenciesEndpointsCreateRequest creates the GetInboundNetworkDependenciesEndpoints request.
1013func (client *AppServiceEnvironmentsClient) getInboundNetworkDependenciesEndpointsCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsOptions) (*azcore.Request, error) {
1014	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/inboundNetworkDependenciesEndpoints"
1015	if resourceGroupName == "" {
1016		return nil, errors.New("parameter resourceGroupName cannot be empty")
1017	}
1018	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
1019	if name == "" {
1020		return nil, errors.New("parameter name cannot be empty")
1021	}
1022	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
1023	if client.subscriptionID == "" {
1024		return nil, errors.New("parameter client.subscriptionID cannot be empty")
1025	}
1026	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
1027	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
1028	if err != nil {
1029		return nil, err
1030	}
1031	req.Telemetry(telemetryInfo)
1032	reqQP := req.URL.Query()
1033	reqQP.Set("api-version", "2021-01-15")
1034	req.URL.RawQuery = reqQP.Encode()
1035	req.Header.Set("Accept", "application/json")
1036	return req, nil
1037}
1038
1039// getInboundNetworkDependenciesEndpointsHandleResponse handles the GetInboundNetworkDependenciesEndpoints response.
1040func (client *AppServiceEnvironmentsClient) getInboundNetworkDependenciesEndpointsHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsResponse, error) {
1041	result := AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsResponse{RawResponse: resp.Response}
1042	if err := resp.UnmarshalAsJSON(&result.InboundEnvironmentEndpointCollection); err != nil {
1043		return AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsResponse{}, err
1044	}
1045	return result, nil
1046}
1047
1048// getInboundNetworkDependenciesEndpointsHandleError handles the GetInboundNetworkDependenciesEndpoints error response.
1049func (client *AppServiceEnvironmentsClient) getInboundNetworkDependenciesEndpointsHandleError(resp *azcore.Response) error {
1050	body, err := resp.Payload()
1051	if err != nil {
1052		return azcore.NewResponseError(err, resp.Response)
1053	}
1054	errType := DefaultErrorResponse{raw: string(body)}
1055	if err := resp.UnmarshalAsJSON(&errType); err != nil {
1056		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
1057	}
1058	return azcore.NewResponseError(&errType, resp.Response)
1059}
1060
1061// GetMultiRolePool - Description for Get properties of a multi-role pool.
1062// If the operation fails it returns the *DefaultErrorResponse error type.
1063func (client *AppServiceEnvironmentsClient) GetMultiRolePool(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsGetMultiRolePoolOptions) (AppServiceEnvironmentsGetMultiRolePoolResponse, error) {
1064	req, err := client.getMultiRolePoolCreateRequest(ctx, resourceGroupName, name, options)
1065	if err != nil {
1066		return AppServiceEnvironmentsGetMultiRolePoolResponse{}, err
1067	}
1068	resp, err := client.con.Pipeline().Do(req)
1069	if err != nil {
1070		return AppServiceEnvironmentsGetMultiRolePoolResponse{}, err
1071	}
1072	if !resp.HasStatusCode(http.StatusOK) {
1073		return AppServiceEnvironmentsGetMultiRolePoolResponse{}, client.getMultiRolePoolHandleError(resp)
1074	}
1075	return client.getMultiRolePoolHandleResponse(resp)
1076}
1077
1078// getMultiRolePoolCreateRequest creates the GetMultiRolePool request.
1079func (client *AppServiceEnvironmentsClient) getMultiRolePoolCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsGetMultiRolePoolOptions) (*azcore.Request, error) {
1080	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default"
1081	if resourceGroupName == "" {
1082		return nil, errors.New("parameter resourceGroupName cannot be empty")
1083	}
1084	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
1085	if name == "" {
1086		return nil, errors.New("parameter name cannot be empty")
1087	}
1088	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
1089	if client.subscriptionID == "" {
1090		return nil, errors.New("parameter client.subscriptionID cannot be empty")
1091	}
1092	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
1093	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
1094	if err != nil {
1095		return nil, err
1096	}
1097	req.Telemetry(telemetryInfo)
1098	reqQP := req.URL.Query()
1099	reqQP.Set("api-version", "2021-01-15")
1100	req.URL.RawQuery = reqQP.Encode()
1101	req.Header.Set("Accept", "application/json")
1102	return req, nil
1103}
1104
1105// getMultiRolePoolHandleResponse handles the GetMultiRolePool response.
1106func (client *AppServiceEnvironmentsClient) getMultiRolePoolHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsGetMultiRolePoolResponse, error) {
1107	result := AppServiceEnvironmentsGetMultiRolePoolResponse{RawResponse: resp.Response}
1108	if err := resp.UnmarshalAsJSON(&result.WorkerPoolResource); err != nil {
1109		return AppServiceEnvironmentsGetMultiRolePoolResponse{}, err
1110	}
1111	return result, nil
1112}
1113
1114// getMultiRolePoolHandleError handles the GetMultiRolePool error response.
1115func (client *AppServiceEnvironmentsClient) getMultiRolePoolHandleError(resp *azcore.Response) error {
1116	body, err := resp.Payload()
1117	if err != nil {
1118		return azcore.NewResponseError(err, resp.Response)
1119	}
1120	errType := DefaultErrorResponse{raw: string(body)}
1121	if err := resp.UnmarshalAsJSON(&errType); err != nil {
1122		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
1123	}
1124	return azcore.NewResponseError(&errType, resp.Response)
1125}
1126
1127// GetOutboundNetworkDependenciesEndpoints - Description for Get the network endpoints of all outbound dependencies of an App Service Environment.
1128// If the operation fails it returns the *DefaultErrorResponse error type.
1129func (client *AppServiceEnvironmentsClient) GetOutboundNetworkDependenciesEndpoints(resourceGroupName string, name string, options *AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsOptions) AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsPager {
1130	return &appServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsPager{
1131		client: client,
1132		requester: func(ctx context.Context) (*azcore.Request, error) {
1133			return client.getOutboundNetworkDependenciesEndpointsCreateRequest(ctx, resourceGroupName, name, options)
1134		},
1135		advancer: func(ctx context.Context, resp AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsResponse) (*azcore.Request, error) {
1136			return azcore.NewRequest(ctx, http.MethodGet, *resp.OutboundEnvironmentEndpointCollection.NextLink)
1137		},
1138	}
1139}
1140
1141// getOutboundNetworkDependenciesEndpointsCreateRequest creates the GetOutboundNetworkDependenciesEndpoints request.
1142func (client *AppServiceEnvironmentsClient) getOutboundNetworkDependenciesEndpointsCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsOptions) (*azcore.Request, error) {
1143	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/outboundNetworkDependenciesEndpoints"
1144	if resourceGroupName == "" {
1145		return nil, errors.New("parameter resourceGroupName cannot be empty")
1146	}
1147	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
1148	if name == "" {
1149		return nil, errors.New("parameter name cannot be empty")
1150	}
1151	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
1152	if client.subscriptionID == "" {
1153		return nil, errors.New("parameter client.subscriptionID cannot be empty")
1154	}
1155	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
1156	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
1157	if err != nil {
1158		return nil, err
1159	}
1160	req.Telemetry(telemetryInfo)
1161	reqQP := req.URL.Query()
1162	reqQP.Set("api-version", "2021-01-15")
1163	req.URL.RawQuery = reqQP.Encode()
1164	req.Header.Set("Accept", "application/json")
1165	return req, nil
1166}
1167
1168// getOutboundNetworkDependenciesEndpointsHandleResponse handles the GetOutboundNetworkDependenciesEndpoints response.
1169func (client *AppServiceEnvironmentsClient) getOutboundNetworkDependenciesEndpointsHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsResponse, error) {
1170	result := AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsResponse{RawResponse: resp.Response}
1171	if err := resp.UnmarshalAsJSON(&result.OutboundEnvironmentEndpointCollection); err != nil {
1172		return AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsResponse{}, err
1173	}
1174	return result, nil
1175}
1176
1177// getOutboundNetworkDependenciesEndpointsHandleError handles the GetOutboundNetworkDependenciesEndpoints error response.
1178func (client *AppServiceEnvironmentsClient) getOutboundNetworkDependenciesEndpointsHandleError(resp *azcore.Response) error {
1179	body, err := resp.Payload()
1180	if err != nil {
1181		return azcore.NewResponseError(err, resp.Response)
1182	}
1183	errType := DefaultErrorResponse{raw: string(body)}
1184	if err := resp.UnmarshalAsJSON(&errType); err != nil {
1185		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
1186	}
1187	return azcore.NewResponseError(&errType, resp.Response)
1188}
1189
1190// GetPrivateEndpointConnection - Description for Gets a private endpoint connection
1191// If the operation fails it returns the *DefaultErrorResponse error type.
1192func (client *AppServiceEnvironmentsClient) GetPrivateEndpointConnection(ctx context.Context, resourceGroupName string, name string, privateEndpointConnectionName string, options *AppServiceEnvironmentsGetPrivateEndpointConnectionOptions) (AppServiceEnvironmentsGetPrivateEndpointConnectionResponse, error) {
1193	req, err := client.getPrivateEndpointConnectionCreateRequest(ctx, resourceGroupName, name, privateEndpointConnectionName, options)
1194	if err != nil {
1195		return AppServiceEnvironmentsGetPrivateEndpointConnectionResponse{}, err
1196	}
1197	resp, err := client.con.Pipeline().Do(req)
1198	if err != nil {
1199		return AppServiceEnvironmentsGetPrivateEndpointConnectionResponse{}, err
1200	}
1201	if !resp.HasStatusCode(http.StatusOK) {
1202		return AppServiceEnvironmentsGetPrivateEndpointConnectionResponse{}, client.getPrivateEndpointConnectionHandleError(resp)
1203	}
1204	return client.getPrivateEndpointConnectionHandleResponse(resp)
1205}
1206
1207// getPrivateEndpointConnectionCreateRequest creates the GetPrivateEndpointConnection request.
1208func (client *AppServiceEnvironmentsClient) getPrivateEndpointConnectionCreateRequest(ctx context.Context, resourceGroupName string, name string, privateEndpointConnectionName string, options *AppServiceEnvironmentsGetPrivateEndpointConnectionOptions) (*azcore.Request, error) {
1209	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/privateEndpointConnections/{privateEndpointConnectionName}"
1210	if resourceGroupName == "" {
1211		return nil, errors.New("parameter resourceGroupName cannot be empty")
1212	}
1213	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
1214	if name == "" {
1215		return nil, errors.New("parameter name cannot be empty")
1216	}
1217	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
1218	if privateEndpointConnectionName == "" {
1219		return nil, errors.New("parameter privateEndpointConnectionName cannot be empty")
1220	}
1221	urlPath = strings.ReplaceAll(urlPath, "{privateEndpointConnectionName}", url.PathEscape(privateEndpointConnectionName))
1222	if client.subscriptionID == "" {
1223		return nil, errors.New("parameter client.subscriptionID cannot be empty")
1224	}
1225	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
1226	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
1227	if err != nil {
1228		return nil, err
1229	}
1230	req.Telemetry(telemetryInfo)
1231	reqQP := req.URL.Query()
1232	reqQP.Set("api-version", "2021-01-15")
1233	req.URL.RawQuery = reqQP.Encode()
1234	req.Header.Set("Accept", "application/json")
1235	return req, nil
1236}
1237
1238// getPrivateEndpointConnectionHandleResponse handles the GetPrivateEndpointConnection response.
1239func (client *AppServiceEnvironmentsClient) getPrivateEndpointConnectionHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsGetPrivateEndpointConnectionResponse, error) {
1240	result := AppServiceEnvironmentsGetPrivateEndpointConnectionResponse{RawResponse: resp.Response}
1241	if err := resp.UnmarshalAsJSON(&result.RemotePrivateEndpointConnectionARMResource); err != nil {
1242		return AppServiceEnvironmentsGetPrivateEndpointConnectionResponse{}, err
1243	}
1244	return result, nil
1245}
1246
1247// getPrivateEndpointConnectionHandleError handles the GetPrivateEndpointConnection error response.
1248func (client *AppServiceEnvironmentsClient) getPrivateEndpointConnectionHandleError(resp *azcore.Response) error {
1249	body, err := resp.Payload()
1250	if err != nil {
1251		return azcore.NewResponseError(err, resp.Response)
1252	}
1253	errType := DefaultErrorResponse{raw: string(body)}
1254	if err := resp.UnmarshalAsJSON(&errType); err != nil {
1255		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
1256	}
1257	return azcore.NewResponseError(&errType, resp.Response)
1258}
1259
1260// GetPrivateEndpointConnectionList - Description for Gets the list of private endpoints associated with a hosting environment
1261// If the operation fails it returns the *DefaultErrorResponse error type.
1262func (client *AppServiceEnvironmentsClient) GetPrivateEndpointConnectionList(resourceGroupName string, name string, options *AppServiceEnvironmentsGetPrivateEndpointConnectionListOptions) AppServiceEnvironmentsGetPrivateEndpointConnectionListPager {
1263	return &appServiceEnvironmentsGetPrivateEndpointConnectionListPager{
1264		client: client,
1265		requester: func(ctx context.Context) (*azcore.Request, error) {
1266			return client.getPrivateEndpointConnectionListCreateRequest(ctx, resourceGroupName, name, options)
1267		},
1268		advancer: func(ctx context.Context, resp AppServiceEnvironmentsGetPrivateEndpointConnectionListResponse) (*azcore.Request, error) {
1269			return azcore.NewRequest(ctx, http.MethodGet, *resp.PrivateEndpointConnectionCollection.NextLink)
1270		},
1271	}
1272}
1273
1274// getPrivateEndpointConnectionListCreateRequest creates the GetPrivateEndpointConnectionList request.
1275func (client *AppServiceEnvironmentsClient) getPrivateEndpointConnectionListCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsGetPrivateEndpointConnectionListOptions) (*azcore.Request, error) {
1276	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/privateEndpointConnections"
1277	if resourceGroupName == "" {
1278		return nil, errors.New("parameter resourceGroupName cannot be empty")
1279	}
1280	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
1281	if name == "" {
1282		return nil, errors.New("parameter name cannot be empty")
1283	}
1284	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
1285	if client.subscriptionID == "" {
1286		return nil, errors.New("parameter client.subscriptionID cannot be empty")
1287	}
1288	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
1289	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
1290	if err != nil {
1291		return nil, err
1292	}
1293	req.Telemetry(telemetryInfo)
1294	reqQP := req.URL.Query()
1295	reqQP.Set("api-version", "2021-01-15")
1296	req.URL.RawQuery = reqQP.Encode()
1297	req.Header.Set("Accept", "application/json")
1298	return req, nil
1299}
1300
1301// getPrivateEndpointConnectionListHandleResponse handles the GetPrivateEndpointConnectionList response.
1302func (client *AppServiceEnvironmentsClient) getPrivateEndpointConnectionListHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsGetPrivateEndpointConnectionListResponse, error) {
1303	result := AppServiceEnvironmentsGetPrivateEndpointConnectionListResponse{RawResponse: resp.Response}
1304	if err := resp.UnmarshalAsJSON(&result.PrivateEndpointConnectionCollection); err != nil {
1305		return AppServiceEnvironmentsGetPrivateEndpointConnectionListResponse{}, err
1306	}
1307	return result, nil
1308}
1309
1310// getPrivateEndpointConnectionListHandleError handles the GetPrivateEndpointConnectionList error response.
1311func (client *AppServiceEnvironmentsClient) getPrivateEndpointConnectionListHandleError(resp *azcore.Response) error {
1312	body, err := resp.Payload()
1313	if err != nil {
1314		return azcore.NewResponseError(err, resp.Response)
1315	}
1316	errType := DefaultErrorResponse{raw: string(body)}
1317	if err := resp.UnmarshalAsJSON(&errType); err != nil {
1318		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
1319	}
1320	return azcore.NewResponseError(&errType, resp.Response)
1321}
1322
1323// GetPrivateLinkResources - Description for Gets the private link resources
1324// If the operation fails it returns the *DefaultErrorResponse error type.
1325func (client *AppServiceEnvironmentsClient) GetPrivateLinkResources(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsGetPrivateLinkResourcesOptions) (AppServiceEnvironmentsGetPrivateLinkResourcesResponse, error) {
1326	req, err := client.getPrivateLinkResourcesCreateRequest(ctx, resourceGroupName, name, options)
1327	if err != nil {
1328		return AppServiceEnvironmentsGetPrivateLinkResourcesResponse{}, err
1329	}
1330	resp, err := client.con.Pipeline().Do(req)
1331	if err != nil {
1332		return AppServiceEnvironmentsGetPrivateLinkResourcesResponse{}, err
1333	}
1334	if !resp.HasStatusCode(http.StatusOK) {
1335		return AppServiceEnvironmentsGetPrivateLinkResourcesResponse{}, client.getPrivateLinkResourcesHandleError(resp)
1336	}
1337	return client.getPrivateLinkResourcesHandleResponse(resp)
1338}
1339
1340// getPrivateLinkResourcesCreateRequest creates the GetPrivateLinkResources request.
1341func (client *AppServiceEnvironmentsClient) getPrivateLinkResourcesCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsGetPrivateLinkResourcesOptions) (*azcore.Request, error) {
1342	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/privateLinkResources"
1343	if resourceGroupName == "" {
1344		return nil, errors.New("parameter resourceGroupName cannot be empty")
1345	}
1346	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
1347	if name == "" {
1348		return nil, errors.New("parameter name cannot be empty")
1349	}
1350	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
1351	if client.subscriptionID == "" {
1352		return nil, errors.New("parameter client.subscriptionID cannot be empty")
1353	}
1354	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
1355	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
1356	if err != nil {
1357		return nil, err
1358	}
1359	req.Telemetry(telemetryInfo)
1360	reqQP := req.URL.Query()
1361	reqQP.Set("api-version", "2021-01-15")
1362	req.URL.RawQuery = reqQP.Encode()
1363	req.Header.Set("Accept", "application/json")
1364	return req, nil
1365}
1366
1367// getPrivateLinkResourcesHandleResponse handles the GetPrivateLinkResources response.
1368func (client *AppServiceEnvironmentsClient) getPrivateLinkResourcesHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsGetPrivateLinkResourcesResponse, error) {
1369	result := AppServiceEnvironmentsGetPrivateLinkResourcesResponse{RawResponse: resp.Response}
1370	if err := resp.UnmarshalAsJSON(&result.PrivateLinkResourcesWrapper); err != nil {
1371		return AppServiceEnvironmentsGetPrivateLinkResourcesResponse{}, err
1372	}
1373	return result, nil
1374}
1375
1376// getPrivateLinkResourcesHandleError handles the GetPrivateLinkResources error response.
1377func (client *AppServiceEnvironmentsClient) getPrivateLinkResourcesHandleError(resp *azcore.Response) error {
1378	body, err := resp.Payload()
1379	if err != nil {
1380		return azcore.NewResponseError(err, resp.Response)
1381	}
1382	errType := DefaultErrorResponse{raw: string(body)}
1383	if err := resp.UnmarshalAsJSON(&errType); err != nil {
1384		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
1385	}
1386	return azcore.NewResponseError(&errType, resp.Response)
1387}
1388
1389// GetVipInfo - Description for Get IP addresses assigned to an App Service Environment.
1390// If the operation fails it returns the *DefaultErrorResponse error type.
1391func (client *AppServiceEnvironmentsClient) GetVipInfo(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsGetVipInfoOptions) (AppServiceEnvironmentsGetVipInfoResponse, error) {
1392	req, err := client.getVipInfoCreateRequest(ctx, resourceGroupName, name, options)
1393	if err != nil {
1394		return AppServiceEnvironmentsGetVipInfoResponse{}, err
1395	}
1396	resp, err := client.con.Pipeline().Do(req)
1397	if err != nil {
1398		return AppServiceEnvironmentsGetVipInfoResponse{}, err
1399	}
1400	if !resp.HasStatusCode(http.StatusOK) {
1401		return AppServiceEnvironmentsGetVipInfoResponse{}, client.getVipInfoHandleError(resp)
1402	}
1403	return client.getVipInfoHandleResponse(resp)
1404}
1405
1406// getVipInfoCreateRequest creates the GetVipInfo request.
1407func (client *AppServiceEnvironmentsClient) getVipInfoCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsGetVipInfoOptions) (*azcore.Request, error) {
1408	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/virtualip"
1409	if resourceGroupName == "" {
1410		return nil, errors.New("parameter resourceGroupName cannot be empty")
1411	}
1412	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
1413	if name == "" {
1414		return nil, errors.New("parameter name cannot be empty")
1415	}
1416	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
1417	if client.subscriptionID == "" {
1418		return nil, errors.New("parameter client.subscriptionID cannot be empty")
1419	}
1420	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
1421	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
1422	if err != nil {
1423		return nil, err
1424	}
1425	req.Telemetry(telemetryInfo)
1426	reqQP := req.URL.Query()
1427	reqQP.Set("api-version", "2021-01-15")
1428	req.URL.RawQuery = reqQP.Encode()
1429	req.Header.Set("Accept", "application/json")
1430	return req, nil
1431}
1432
1433// getVipInfoHandleResponse handles the GetVipInfo response.
1434func (client *AppServiceEnvironmentsClient) getVipInfoHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsGetVipInfoResponse, error) {
1435	result := AppServiceEnvironmentsGetVipInfoResponse{RawResponse: resp.Response}
1436	if err := resp.UnmarshalAsJSON(&result.AddressResponse); err != nil {
1437		return AppServiceEnvironmentsGetVipInfoResponse{}, err
1438	}
1439	return result, nil
1440}
1441
1442// getVipInfoHandleError handles the GetVipInfo error response.
1443func (client *AppServiceEnvironmentsClient) getVipInfoHandleError(resp *azcore.Response) error {
1444	body, err := resp.Payload()
1445	if err != nil {
1446		return azcore.NewResponseError(err, resp.Response)
1447	}
1448	errType := DefaultErrorResponse{raw: string(body)}
1449	if err := resp.UnmarshalAsJSON(&errType); err != nil {
1450		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
1451	}
1452	return azcore.NewResponseError(&errType, resp.Response)
1453}
1454
1455// GetWorkerPool - Description for Get properties of a worker pool.
1456// If the operation fails it returns the *DefaultErrorResponse error type.
1457func (client *AppServiceEnvironmentsClient) GetWorkerPool(ctx context.Context, resourceGroupName string, name string, workerPoolName string, options *AppServiceEnvironmentsGetWorkerPoolOptions) (AppServiceEnvironmentsGetWorkerPoolResponse, error) {
1458	req, err := client.getWorkerPoolCreateRequest(ctx, resourceGroupName, name, workerPoolName, options)
1459	if err != nil {
1460		return AppServiceEnvironmentsGetWorkerPoolResponse{}, err
1461	}
1462	resp, err := client.con.Pipeline().Do(req)
1463	if err != nil {
1464		return AppServiceEnvironmentsGetWorkerPoolResponse{}, err
1465	}
1466	if !resp.HasStatusCode(http.StatusOK) {
1467		return AppServiceEnvironmentsGetWorkerPoolResponse{}, client.getWorkerPoolHandleError(resp)
1468	}
1469	return client.getWorkerPoolHandleResponse(resp)
1470}
1471
1472// getWorkerPoolCreateRequest creates the GetWorkerPool request.
1473func (client *AppServiceEnvironmentsClient) getWorkerPoolCreateRequest(ctx context.Context, resourceGroupName string, name string, workerPoolName string, options *AppServiceEnvironmentsGetWorkerPoolOptions) (*azcore.Request, error) {
1474	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}"
1475	if resourceGroupName == "" {
1476		return nil, errors.New("parameter resourceGroupName cannot be empty")
1477	}
1478	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
1479	if name == "" {
1480		return nil, errors.New("parameter name cannot be empty")
1481	}
1482	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
1483	if workerPoolName == "" {
1484		return nil, errors.New("parameter workerPoolName cannot be empty")
1485	}
1486	urlPath = strings.ReplaceAll(urlPath, "{workerPoolName}", url.PathEscape(workerPoolName))
1487	if client.subscriptionID == "" {
1488		return nil, errors.New("parameter client.subscriptionID cannot be empty")
1489	}
1490	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
1491	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
1492	if err != nil {
1493		return nil, err
1494	}
1495	req.Telemetry(telemetryInfo)
1496	reqQP := req.URL.Query()
1497	reqQP.Set("api-version", "2021-01-15")
1498	req.URL.RawQuery = reqQP.Encode()
1499	req.Header.Set("Accept", "application/json")
1500	return req, nil
1501}
1502
1503// getWorkerPoolHandleResponse handles the GetWorkerPool response.
1504func (client *AppServiceEnvironmentsClient) getWorkerPoolHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsGetWorkerPoolResponse, error) {
1505	result := AppServiceEnvironmentsGetWorkerPoolResponse{RawResponse: resp.Response}
1506	if err := resp.UnmarshalAsJSON(&result.WorkerPoolResource); err != nil {
1507		return AppServiceEnvironmentsGetWorkerPoolResponse{}, err
1508	}
1509	return result, nil
1510}
1511
1512// getWorkerPoolHandleError handles the GetWorkerPool error response.
1513func (client *AppServiceEnvironmentsClient) getWorkerPoolHandleError(resp *azcore.Response) error {
1514	body, err := resp.Payload()
1515	if err != nil {
1516		return azcore.NewResponseError(err, resp.Response)
1517	}
1518	errType := DefaultErrorResponse{raw: string(body)}
1519	if err := resp.UnmarshalAsJSON(&errType); err != nil {
1520		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
1521	}
1522	return azcore.NewResponseError(&errType, resp.Response)
1523}
1524
1525// List - Description for Get all App Service Environments for a subscription.
1526// If the operation fails it returns the *DefaultErrorResponse error type.
1527func (client *AppServiceEnvironmentsClient) List(options *AppServiceEnvironmentsListOptions) AppServiceEnvironmentsListPager {
1528	return &appServiceEnvironmentsListPager{
1529		client: client,
1530		requester: func(ctx context.Context) (*azcore.Request, error) {
1531			return client.listCreateRequest(ctx, options)
1532		},
1533		advancer: func(ctx context.Context, resp AppServiceEnvironmentsListResponse) (*azcore.Request, error) {
1534			return azcore.NewRequest(ctx, http.MethodGet, *resp.AppServiceEnvironmentCollection.NextLink)
1535		},
1536	}
1537}
1538
1539// listCreateRequest creates the List request.
1540func (client *AppServiceEnvironmentsClient) listCreateRequest(ctx context.Context, options *AppServiceEnvironmentsListOptions) (*azcore.Request, error) {
1541	urlPath := "/subscriptions/{subscriptionId}/providers/Microsoft.Web/hostingEnvironments"
1542	if client.subscriptionID == "" {
1543		return nil, errors.New("parameter client.subscriptionID cannot be empty")
1544	}
1545	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
1546	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
1547	if err != nil {
1548		return nil, err
1549	}
1550	req.Telemetry(telemetryInfo)
1551	reqQP := req.URL.Query()
1552	reqQP.Set("api-version", "2021-01-15")
1553	req.URL.RawQuery = reqQP.Encode()
1554	req.Header.Set("Accept", "application/json")
1555	return req, nil
1556}
1557
1558// listHandleResponse handles the List response.
1559func (client *AppServiceEnvironmentsClient) listHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsListResponse, error) {
1560	result := AppServiceEnvironmentsListResponse{RawResponse: resp.Response}
1561	if err := resp.UnmarshalAsJSON(&result.AppServiceEnvironmentCollection); err != nil {
1562		return AppServiceEnvironmentsListResponse{}, err
1563	}
1564	return result, nil
1565}
1566
1567// listHandleError handles the List error response.
1568func (client *AppServiceEnvironmentsClient) listHandleError(resp *azcore.Response) error {
1569	body, err := resp.Payload()
1570	if err != nil {
1571		return azcore.NewResponseError(err, resp.Response)
1572	}
1573	errType := DefaultErrorResponse{raw: string(body)}
1574	if err := resp.UnmarshalAsJSON(&errType); err != nil {
1575		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
1576	}
1577	return azcore.NewResponseError(&errType, resp.Response)
1578}
1579
1580// ListAppServicePlans - Description for Get all App Service plans in an App Service Environment.
1581// If the operation fails it returns the *DefaultErrorResponse error type.
1582func (client *AppServiceEnvironmentsClient) ListAppServicePlans(resourceGroupName string, name string, options *AppServiceEnvironmentsListAppServicePlansOptions) AppServiceEnvironmentsListAppServicePlansPager {
1583	return &appServiceEnvironmentsListAppServicePlansPager{
1584		client: client,
1585		requester: func(ctx context.Context) (*azcore.Request, error) {
1586			return client.listAppServicePlansCreateRequest(ctx, resourceGroupName, name, options)
1587		},
1588		advancer: func(ctx context.Context, resp AppServiceEnvironmentsListAppServicePlansResponse) (*azcore.Request, error) {
1589			return azcore.NewRequest(ctx, http.MethodGet, *resp.AppServicePlanCollection.NextLink)
1590		},
1591	}
1592}
1593
1594// listAppServicePlansCreateRequest creates the ListAppServicePlans request.
1595func (client *AppServiceEnvironmentsClient) listAppServicePlansCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsListAppServicePlansOptions) (*azcore.Request, error) {
1596	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/serverfarms"
1597	if resourceGroupName == "" {
1598		return nil, errors.New("parameter resourceGroupName cannot be empty")
1599	}
1600	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
1601	if name == "" {
1602		return nil, errors.New("parameter name cannot be empty")
1603	}
1604	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
1605	if client.subscriptionID == "" {
1606		return nil, errors.New("parameter client.subscriptionID cannot be empty")
1607	}
1608	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
1609	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
1610	if err != nil {
1611		return nil, err
1612	}
1613	req.Telemetry(telemetryInfo)
1614	reqQP := req.URL.Query()
1615	reqQP.Set("api-version", "2021-01-15")
1616	req.URL.RawQuery = reqQP.Encode()
1617	req.Header.Set("Accept", "application/json")
1618	return req, nil
1619}
1620
1621// listAppServicePlansHandleResponse handles the ListAppServicePlans response.
1622func (client *AppServiceEnvironmentsClient) listAppServicePlansHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsListAppServicePlansResponse, error) {
1623	result := AppServiceEnvironmentsListAppServicePlansResponse{RawResponse: resp.Response}
1624	if err := resp.UnmarshalAsJSON(&result.AppServicePlanCollection); err != nil {
1625		return AppServiceEnvironmentsListAppServicePlansResponse{}, err
1626	}
1627	return result, nil
1628}
1629
1630// listAppServicePlansHandleError handles the ListAppServicePlans error response.
1631func (client *AppServiceEnvironmentsClient) listAppServicePlansHandleError(resp *azcore.Response) error {
1632	body, err := resp.Payload()
1633	if err != nil {
1634		return azcore.NewResponseError(err, resp.Response)
1635	}
1636	errType := DefaultErrorResponse{raw: string(body)}
1637	if err := resp.UnmarshalAsJSON(&errType); err != nil {
1638		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
1639	}
1640	return azcore.NewResponseError(&errType, resp.Response)
1641}
1642
1643// ListByResourceGroup - Description for Get all App Service Environments in a resource group.
1644// If the operation fails it returns the *DefaultErrorResponse error type.
1645func (client *AppServiceEnvironmentsClient) ListByResourceGroup(resourceGroupName string, options *AppServiceEnvironmentsListByResourceGroupOptions) AppServiceEnvironmentsListByResourceGroupPager {
1646	return &appServiceEnvironmentsListByResourceGroupPager{
1647		client: client,
1648		requester: func(ctx context.Context) (*azcore.Request, error) {
1649			return client.listByResourceGroupCreateRequest(ctx, resourceGroupName, options)
1650		},
1651		advancer: func(ctx context.Context, resp AppServiceEnvironmentsListByResourceGroupResponse) (*azcore.Request, error) {
1652			return azcore.NewRequest(ctx, http.MethodGet, *resp.AppServiceEnvironmentCollection.NextLink)
1653		},
1654	}
1655}
1656
1657// listByResourceGroupCreateRequest creates the ListByResourceGroup request.
1658func (client *AppServiceEnvironmentsClient) listByResourceGroupCreateRequest(ctx context.Context, resourceGroupName string, options *AppServiceEnvironmentsListByResourceGroupOptions) (*azcore.Request, error) {
1659	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments"
1660	if resourceGroupName == "" {
1661		return nil, errors.New("parameter resourceGroupName cannot be empty")
1662	}
1663	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
1664	if client.subscriptionID == "" {
1665		return nil, errors.New("parameter client.subscriptionID cannot be empty")
1666	}
1667	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
1668	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
1669	if err != nil {
1670		return nil, err
1671	}
1672	req.Telemetry(telemetryInfo)
1673	reqQP := req.URL.Query()
1674	reqQP.Set("api-version", "2021-01-15")
1675	req.URL.RawQuery = reqQP.Encode()
1676	req.Header.Set("Accept", "application/json")
1677	return req, nil
1678}
1679
1680// listByResourceGroupHandleResponse handles the ListByResourceGroup response.
1681func (client *AppServiceEnvironmentsClient) listByResourceGroupHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsListByResourceGroupResponse, error) {
1682	result := AppServiceEnvironmentsListByResourceGroupResponse{RawResponse: resp.Response}
1683	if err := resp.UnmarshalAsJSON(&result.AppServiceEnvironmentCollection); err != nil {
1684		return AppServiceEnvironmentsListByResourceGroupResponse{}, err
1685	}
1686	return result, nil
1687}
1688
1689// listByResourceGroupHandleError handles the ListByResourceGroup error response.
1690func (client *AppServiceEnvironmentsClient) listByResourceGroupHandleError(resp *azcore.Response) error {
1691	body, err := resp.Payload()
1692	if err != nil {
1693		return azcore.NewResponseError(err, resp.Response)
1694	}
1695	errType := DefaultErrorResponse{raw: string(body)}
1696	if err := resp.UnmarshalAsJSON(&errType); err != nil {
1697		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
1698	}
1699	return azcore.NewResponseError(&errType, resp.Response)
1700}
1701
1702// ListCapacities - Description for Get the used, available, and total worker capacity an App Service Environment.
1703// If the operation fails it returns the *DefaultErrorResponse error type.
1704func (client *AppServiceEnvironmentsClient) ListCapacities(resourceGroupName string, name string, options *AppServiceEnvironmentsListCapacitiesOptions) AppServiceEnvironmentsListCapacitiesPager {
1705	return &appServiceEnvironmentsListCapacitiesPager{
1706		client: client,
1707		requester: func(ctx context.Context) (*azcore.Request, error) {
1708			return client.listCapacitiesCreateRequest(ctx, resourceGroupName, name, options)
1709		},
1710		advancer: func(ctx context.Context, resp AppServiceEnvironmentsListCapacitiesResponse) (*azcore.Request, error) {
1711			return azcore.NewRequest(ctx, http.MethodGet, *resp.StampCapacityCollection.NextLink)
1712		},
1713	}
1714}
1715
1716// listCapacitiesCreateRequest creates the ListCapacities request.
1717func (client *AppServiceEnvironmentsClient) listCapacitiesCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsListCapacitiesOptions) (*azcore.Request, error) {
1718	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/compute"
1719	if resourceGroupName == "" {
1720		return nil, errors.New("parameter resourceGroupName cannot be empty")
1721	}
1722	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
1723	if name == "" {
1724		return nil, errors.New("parameter name cannot be empty")
1725	}
1726	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
1727	if client.subscriptionID == "" {
1728		return nil, errors.New("parameter client.subscriptionID cannot be empty")
1729	}
1730	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
1731	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
1732	if err != nil {
1733		return nil, err
1734	}
1735	req.Telemetry(telemetryInfo)
1736	reqQP := req.URL.Query()
1737	reqQP.Set("api-version", "2021-01-15")
1738	req.URL.RawQuery = reqQP.Encode()
1739	req.Header.Set("Accept", "application/json")
1740	return req, nil
1741}
1742
1743// listCapacitiesHandleResponse handles the ListCapacities response.
1744func (client *AppServiceEnvironmentsClient) listCapacitiesHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsListCapacitiesResponse, error) {
1745	result := AppServiceEnvironmentsListCapacitiesResponse{RawResponse: resp.Response}
1746	if err := resp.UnmarshalAsJSON(&result.StampCapacityCollection); err != nil {
1747		return AppServiceEnvironmentsListCapacitiesResponse{}, err
1748	}
1749	return result, nil
1750}
1751
1752// listCapacitiesHandleError handles the ListCapacities error response.
1753func (client *AppServiceEnvironmentsClient) listCapacitiesHandleError(resp *azcore.Response) error {
1754	body, err := resp.Payload()
1755	if err != nil {
1756		return azcore.NewResponseError(err, resp.Response)
1757	}
1758	errType := DefaultErrorResponse{raw: string(body)}
1759	if err := resp.UnmarshalAsJSON(&errType); err != nil {
1760		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
1761	}
1762	return azcore.NewResponseError(&errType, resp.Response)
1763}
1764
1765// ListDiagnostics - Description for Get diagnostic information for an App Service Environment.
1766// If the operation fails it returns the *DefaultErrorResponse error type.
1767func (client *AppServiceEnvironmentsClient) ListDiagnostics(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsListDiagnosticsOptions) (AppServiceEnvironmentsListDiagnosticsResponse, error) {
1768	req, err := client.listDiagnosticsCreateRequest(ctx, resourceGroupName, name, options)
1769	if err != nil {
1770		return AppServiceEnvironmentsListDiagnosticsResponse{}, err
1771	}
1772	resp, err := client.con.Pipeline().Do(req)
1773	if err != nil {
1774		return AppServiceEnvironmentsListDiagnosticsResponse{}, err
1775	}
1776	if !resp.HasStatusCode(http.StatusOK) {
1777		return AppServiceEnvironmentsListDiagnosticsResponse{}, client.listDiagnosticsHandleError(resp)
1778	}
1779	return client.listDiagnosticsHandleResponse(resp)
1780}
1781
1782// listDiagnosticsCreateRequest creates the ListDiagnostics request.
1783func (client *AppServiceEnvironmentsClient) listDiagnosticsCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsListDiagnosticsOptions) (*azcore.Request, error) {
1784	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics"
1785	if resourceGroupName == "" {
1786		return nil, errors.New("parameter resourceGroupName cannot be empty")
1787	}
1788	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
1789	if name == "" {
1790		return nil, errors.New("parameter name cannot be empty")
1791	}
1792	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
1793	if client.subscriptionID == "" {
1794		return nil, errors.New("parameter client.subscriptionID cannot be empty")
1795	}
1796	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
1797	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
1798	if err != nil {
1799		return nil, err
1800	}
1801	req.Telemetry(telemetryInfo)
1802	reqQP := req.URL.Query()
1803	reqQP.Set("api-version", "2021-01-15")
1804	req.URL.RawQuery = reqQP.Encode()
1805	req.Header.Set("Accept", "application/json")
1806	return req, nil
1807}
1808
1809// listDiagnosticsHandleResponse handles the ListDiagnostics response.
1810func (client *AppServiceEnvironmentsClient) listDiagnosticsHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsListDiagnosticsResponse, error) {
1811	result := AppServiceEnvironmentsListDiagnosticsResponse{RawResponse: resp.Response}
1812	if err := resp.UnmarshalAsJSON(&result.HostingEnvironmentDiagnosticsArray); err != nil {
1813		return AppServiceEnvironmentsListDiagnosticsResponse{}, err
1814	}
1815	return result, nil
1816}
1817
1818// listDiagnosticsHandleError handles the ListDiagnostics error response.
1819func (client *AppServiceEnvironmentsClient) listDiagnosticsHandleError(resp *azcore.Response) error {
1820	body, err := resp.Payload()
1821	if err != nil {
1822		return azcore.NewResponseError(err, resp.Response)
1823	}
1824	errType := DefaultErrorResponse{raw: string(body)}
1825	if err := resp.UnmarshalAsJSON(&errType); err != nil {
1826		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
1827	}
1828	return azcore.NewResponseError(&errType, resp.Response)
1829}
1830
1831// ListMultiRoleMetricDefinitions - Description for Get metric definitions for a multi-role pool of an App Service Environment.
1832// If the operation fails it returns the *DefaultErrorResponse error type.
1833func (client *AppServiceEnvironmentsClient) ListMultiRoleMetricDefinitions(resourceGroupName string, name string, options *AppServiceEnvironmentsListMultiRoleMetricDefinitionsOptions) AppServiceEnvironmentsListMultiRoleMetricDefinitionsPager {
1834	return &appServiceEnvironmentsListMultiRoleMetricDefinitionsPager{
1835		client: client,
1836		requester: func(ctx context.Context) (*azcore.Request, error) {
1837			return client.listMultiRoleMetricDefinitionsCreateRequest(ctx, resourceGroupName, name, options)
1838		},
1839		advancer: func(ctx context.Context, resp AppServiceEnvironmentsListMultiRoleMetricDefinitionsResponse) (*azcore.Request, error) {
1840			return azcore.NewRequest(ctx, http.MethodGet, *resp.ResourceMetricDefinitionCollection.NextLink)
1841		},
1842	}
1843}
1844
1845// listMultiRoleMetricDefinitionsCreateRequest creates the ListMultiRoleMetricDefinitions request.
1846func (client *AppServiceEnvironmentsClient) listMultiRoleMetricDefinitionsCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsListMultiRoleMetricDefinitionsOptions) (*azcore.Request, error) {
1847	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metricdefinitions"
1848	if resourceGroupName == "" {
1849		return nil, errors.New("parameter resourceGroupName cannot be empty")
1850	}
1851	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
1852	if name == "" {
1853		return nil, errors.New("parameter name cannot be empty")
1854	}
1855	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
1856	if client.subscriptionID == "" {
1857		return nil, errors.New("parameter client.subscriptionID cannot be empty")
1858	}
1859	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
1860	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
1861	if err != nil {
1862		return nil, err
1863	}
1864	req.Telemetry(telemetryInfo)
1865	reqQP := req.URL.Query()
1866	reqQP.Set("api-version", "2021-01-15")
1867	req.URL.RawQuery = reqQP.Encode()
1868	req.Header.Set("Accept", "application/json")
1869	return req, nil
1870}
1871
1872// listMultiRoleMetricDefinitionsHandleResponse handles the ListMultiRoleMetricDefinitions response.
1873func (client *AppServiceEnvironmentsClient) listMultiRoleMetricDefinitionsHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsListMultiRoleMetricDefinitionsResponse, error) {
1874	result := AppServiceEnvironmentsListMultiRoleMetricDefinitionsResponse{RawResponse: resp.Response}
1875	if err := resp.UnmarshalAsJSON(&result.ResourceMetricDefinitionCollection); err != nil {
1876		return AppServiceEnvironmentsListMultiRoleMetricDefinitionsResponse{}, err
1877	}
1878	return result, nil
1879}
1880
1881// listMultiRoleMetricDefinitionsHandleError handles the ListMultiRoleMetricDefinitions error response.
1882func (client *AppServiceEnvironmentsClient) listMultiRoleMetricDefinitionsHandleError(resp *azcore.Response) error {
1883	body, err := resp.Payload()
1884	if err != nil {
1885		return azcore.NewResponseError(err, resp.Response)
1886	}
1887	errType := DefaultErrorResponse{raw: string(body)}
1888	if err := resp.UnmarshalAsJSON(&errType); err != nil {
1889		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
1890	}
1891	return azcore.NewResponseError(&errType, resp.Response)
1892}
1893
1894// ListMultiRolePoolInstanceMetricDefinitions - Description for Get metric definitions for a specific instance of a multi-role pool of an App Service Environment.
1895// If the operation fails it returns the *DefaultErrorResponse error type.
1896func (client *AppServiceEnvironmentsClient) ListMultiRolePoolInstanceMetricDefinitions(resourceGroupName string, name string, instance string, options *AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsOptions) AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsPager {
1897	return &appServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsPager{
1898		client: client,
1899		requester: func(ctx context.Context) (*azcore.Request, error) {
1900			return client.listMultiRolePoolInstanceMetricDefinitionsCreateRequest(ctx, resourceGroupName, name, instance, options)
1901		},
1902		advancer: func(ctx context.Context, resp AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsResponse) (*azcore.Request, error) {
1903			return azcore.NewRequest(ctx, http.MethodGet, *resp.ResourceMetricDefinitionCollection.NextLink)
1904		},
1905	}
1906}
1907
1908// listMultiRolePoolInstanceMetricDefinitionsCreateRequest creates the ListMultiRolePoolInstanceMetricDefinitions request.
1909func (client *AppServiceEnvironmentsClient) listMultiRolePoolInstanceMetricDefinitionsCreateRequest(ctx context.Context, resourceGroupName string, name string, instance string, options *AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsOptions) (*azcore.Request, error) {
1910	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metricdefinitions"
1911	if resourceGroupName == "" {
1912		return nil, errors.New("parameter resourceGroupName cannot be empty")
1913	}
1914	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
1915	if name == "" {
1916		return nil, errors.New("parameter name cannot be empty")
1917	}
1918	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
1919	if instance == "" {
1920		return nil, errors.New("parameter instance cannot be empty")
1921	}
1922	urlPath = strings.ReplaceAll(urlPath, "{instance}", url.PathEscape(instance))
1923	if client.subscriptionID == "" {
1924		return nil, errors.New("parameter client.subscriptionID cannot be empty")
1925	}
1926	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
1927	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
1928	if err != nil {
1929		return nil, err
1930	}
1931	req.Telemetry(telemetryInfo)
1932	reqQP := req.URL.Query()
1933	reqQP.Set("api-version", "2021-01-15")
1934	req.URL.RawQuery = reqQP.Encode()
1935	req.Header.Set("Accept", "application/json")
1936	return req, nil
1937}
1938
1939// listMultiRolePoolInstanceMetricDefinitionsHandleResponse handles the ListMultiRolePoolInstanceMetricDefinitions response.
1940func (client *AppServiceEnvironmentsClient) listMultiRolePoolInstanceMetricDefinitionsHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsResponse, error) {
1941	result := AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsResponse{RawResponse: resp.Response}
1942	if err := resp.UnmarshalAsJSON(&result.ResourceMetricDefinitionCollection); err != nil {
1943		return AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsResponse{}, err
1944	}
1945	return result, nil
1946}
1947
1948// listMultiRolePoolInstanceMetricDefinitionsHandleError handles the ListMultiRolePoolInstanceMetricDefinitions error response.
1949func (client *AppServiceEnvironmentsClient) listMultiRolePoolInstanceMetricDefinitionsHandleError(resp *azcore.Response) error {
1950	body, err := resp.Payload()
1951	if err != nil {
1952		return azcore.NewResponseError(err, resp.Response)
1953	}
1954	errType := DefaultErrorResponse{raw: string(body)}
1955	if err := resp.UnmarshalAsJSON(&errType); err != nil {
1956		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
1957	}
1958	return azcore.NewResponseError(&errType, resp.Response)
1959}
1960
1961// ListMultiRolePoolSKUs - Description for Get available SKUs for scaling a multi-role pool.
1962// If the operation fails it returns the *DefaultErrorResponse error type.
1963func (client *AppServiceEnvironmentsClient) ListMultiRolePoolSKUs(resourceGroupName string, name string, options *AppServiceEnvironmentsListMultiRolePoolSKUsOptions) AppServiceEnvironmentsListMultiRolePoolSKUsPager {
1964	return &appServiceEnvironmentsListMultiRolePoolSKUsPager{
1965		client: client,
1966		requester: func(ctx context.Context) (*azcore.Request, error) {
1967			return client.listMultiRolePoolSKUsCreateRequest(ctx, resourceGroupName, name, options)
1968		},
1969		advancer: func(ctx context.Context, resp AppServiceEnvironmentsListMultiRolePoolSKUsResponse) (*azcore.Request, error) {
1970			return azcore.NewRequest(ctx, http.MethodGet, *resp.SKUInfoCollection.NextLink)
1971		},
1972	}
1973}
1974
1975// listMultiRolePoolSKUsCreateRequest creates the ListMultiRolePoolSKUs request.
1976func (client *AppServiceEnvironmentsClient) listMultiRolePoolSKUsCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsListMultiRolePoolSKUsOptions) (*azcore.Request, error) {
1977	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/skus"
1978	if resourceGroupName == "" {
1979		return nil, errors.New("parameter resourceGroupName cannot be empty")
1980	}
1981	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
1982	if name == "" {
1983		return nil, errors.New("parameter name cannot be empty")
1984	}
1985	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
1986	if client.subscriptionID == "" {
1987		return nil, errors.New("parameter client.subscriptionID cannot be empty")
1988	}
1989	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
1990	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
1991	if err != nil {
1992		return nil, err
1993	}
1994	req.Telemetry(telemetryInfo)
1995	reqQP := req.URL.Query()
1996	reqQP.Set("api-version", "2021-01-15")
1997	req.URL.RawQuery = reqQP.Encode()
1998	req.Header.Set("Accept", "application/json")
1999	return req, nil
2000}
2001
2002// listMultiRolePoolSKUsHandleResponse handles the ListMultiRolePoolSKUs response.
2003func (client *AppServiceEnvironmentsClient) listMultiRolePoolSKUsHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsListMultiRolePoolSKUsResponse, error) {
2004	result := AppServiceEnvironmentsListMultiRolePoolSKUsResponse{RawResponse: resp.Response}
2005	if err := resp.UnmarshalAsJSON(&result.SKUInfoCollection); err != nil {
2006		return AppServiceEnvironmentsListMultiRolePoolSKUsResponse{}, err
2007	}
2008	return result, nil
2009}
2010
2011// listMultiRolePoolSKUsHandleError handles the ListMultiRolePoolSKUs error response.
2012func (client *AppServiceEnvironmentsClient) listMultiRolePoolSKUsHandleError(resp *azcore.Response) error {
2013	body, err := resp.Payload()
2014	if err != nil {
2015		return azcore.NewResponseError(err, resp.Response)
2016	}
2017	errType := DefaultErrorResponse{raw: string(body)}
2018	if err := resp.UnmarshalAsJSON(&errType); err != nil {
2019		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
2020	}
2021	return azcore.NewResponseError(&errType, resp.Response)
2022}
2023
2024// ListMultiRolePools - Description for Get all multi-role pools.
2025// If the operation fails it returns the *DefaultErrorResponse error type.
2026func (client *AppServiceEnvironmentsClient) ListMultiRolePools(resourceGroupName string, name string, options *AppServiceEnvironmentsListMultiRolePoolsOptions) AppServiceEnvironmentsListMultiRolePoolsPager {
2027	return &appServiceEnvironmentsListMultiRolePoolsPager{
2028		client: client,
2029		requester: func(ctx context.Context) (*azcore.Request, error) {
2030			return client.listMultiRolePoolsCreateRequest(ctx, resourceGroupName, name, options)
2031		},
2032		advancer: func(ctx context.Context, resp AppServiceEnvironmentsListMultiRolePoolsResponse) (*azcore.Request, error) {
2033			return azcore.NewRequest(ctx, http.MethodGet, *resp.WorkerPoolCollection.NextLink)
2034		},
2035	}
2036}
2037
2038// listMultiRolePoolsCreateRequest creates the ListMultiRolePools request.
2039func (client *AppServiceEnvironmentsClient) listMultiRolePoolsCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsListMultiRolePoolsOptions) (*azcore.Request, error) {
2040	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools"
2041	if resourceGroupName == "" {
2042		return nil, errors.New("parameter resourceGroupName cannot be empty")
2043	}
2044	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
2045	if name == "" {
2046		return nil, errors.New("parameter name cannot be empty")
2047	}
2048	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
2049	if client.subscriptionID == "" {
2050		return nil, errors.New("parameter client.subscriptionID cannot be empty")
2051	}
2052	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
2053	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
2054	if err != nil {
2055		return nil, err
2056	}
2057	req.Telemetry(telemetryInfo)
2058	reqQP := req.URL.Query()
2059	reqQP.Set("api-version", "2021-01-15")
2060	req.URL.RawQuery = reqQP.Encode()
2061	req.Header.Set("Accept", "application/json")
2062	return req, nil
2063}
2064
2065// listMultiRolePoolsHandleResponse handles the ListMultiRolePools response.
2066func (client *AppServiceEnvironmentsClient) listMultiRolePoolsHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsListMultiRolePoolsResponse, error) {
2067	result := AppServiceEnvironmentsListMultiRolePoolsResponse{RawResponse: resp.Response}
2068	if err := resp.UnmarshalAsJSON(&result.WorkerPoolCollection); err != nil {
2069		return AppServiceEnvironmentsListMultiRolePoolsResponse{}, err
2070	}
2071	return result, nil
2072}
2073
2074// listMultiRolePoolsHandleError handles the ListMultiRolePools error response.
2075func (client *AppServiceEnvironmentsClient) listMultiRolePoolsHandleError(resp *azcore.Response) error {
2076	body, err := resp.Payload()
2077	if err != nil {
2078		return azcore.NewResponseError(err, resp.Response)
2079	}
2080	errType := DefaultErrorResponse{raw: string(body)}
2081	if err := resp.UnmarshalAsJSON(&errType); err != nil {
2082		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
2083	}
2084	return azcore.NewResponseError(&errType, resp.Response)
2085}
2086
2087// ListMultiRoleUsages - Description for Get usage metrics for a multi-role pool of an App Service Environment.
2088// If the operation fails it returns the *DefaultErrorResponse error type.
2089func (client *AppServiceEnvironmentsClient) ListMultiRoleUsages(resourceGroupName string, name string, options *AppServiceEnvironmentsListMultiRoleUsagesOptions) AppServiceEnvironmentsListMultiRoleUsagesPager {
2090	return &appServiceEnvironmentsListMultiRoleUsagesPager{
2091		client: client,
2092		requester: func(ctx context.Context) (*azcore.Request, error) {
2093			return client.listMultiRoleUsagesCreateRequest(ctx, resourceGroupName, name, options)
2094		},
2095		advancer: func(ctx context.Context, resp AppServiceEnvironmentsListMultiRoleUsagesResponse) (*azcore.Request, error) {
2096			return azcore.NewRequest(ctx, http.MethodGet, *resp.UsageCollection.NextLink)
2097		},
2098	}
2099}
2100
2101// listMultiRoleUsagesCreateRequest creates the ListMultiRoleUsages request.
2102func (client *AppServiceEnvironmentsClient) listMultiRoleUsagesCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsListMultiRoleUsagesOptions) (*azcore.Request, error) {
2103	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/usages"
2104	if resourceGroupName == "" {
2105		return nil, errors.New("parameter resourceGroupName cannot be empty")
2106	}
2107	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
2108	if name == "" {
2109		return nil, errors.New("parameter name cannot be empty")
2110	}
2111	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
2112	if client.subscriptionID == "" {
2113		return nil, errors.New("parameter client.subscriptionID cannot be empty")
2114	}
2115	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
2116	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
2117	if err != nil {
2118		return nil, err
2119	}
2120	req.Telemetry(telemetryInfo)
2121	reqQP := req.URL.Query()
2122	reqQP.Set("api-version", "2021-01-15")
2123	req.URL.RawQuery = reqQP.Encode()
2124	req.Header.Set("Accept", "application/json")
2125	return req, nil
2126}
2127
2128// listMultiRoleUsagesHandleResponse handles the ListMultiRoleUsages response.
2129func (client *AppServiceEnvironmentsClient) listMultiRoleUsagesHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsListMultiRoleUsagesResponse, error) {
2130	result := AppServiceEnvironmentsListMultiRoleUsagesResponse{RawResponse: resp.Response}
2131	if err := resp.UnmarshalAsJSON(&result.UsageCollection); err != nil {
2132		return AppServiceEnvironmentsListMultiRoleUsagesResponse{}, err
2133	}
2134	return result, nil
2135}
2136
2137// listMultiRoleUsagesHandleError handles the ListMultiRoleUsages error response.
2138func (client *AppServiceEnvironmentsClient) listMultiRoleUsagesHandleError(resp *azcore.Response) error {
2139	body, err := resp.Payload()
2140	if err != nil {
2141		return azcore.NewResponseError(err, resp.Response)
2142	}
2143	errType := DefaultErrorResponse{raw: string(body)}
2144	if err := resp.UnmarshalAsJSON(&errType); err != nil {
2145		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
2146	}
2147	return azcore.NewResponseError(&errType, resp.Response)
2148}
2149
2150// ListOperations - Description for List all currently running operations on the App Service Environment.
2151// If the operation fails it returns the *DefaultErrorResponse error type.
2152func (client *AppServiceEnvironmentsClient) ListOperations(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsListOperationsOptions) (AppServiceEnvironmentsListOperationsResponse, error) {
2153	req, err := client.listOperationsCreateRequest(ctx, resourceGroupName, name, options)
2154	if err != nil {
2155		return AppServiceEnvironmentsListOperationsResponse{}, err
2156	}
2157	resp, err := client.con.Pipeline().Do(req)
2158	if err != nil {
2159		return AppServiceEnvironmentsListOperationsResponse{}, err
2160	}
2161	if !resp.HasStatusCode(http.StatusOK) {
2162		return AppServiceEnvironmentsListOperationsResponse{}, client.listOperationsHandleError(resp)
2163	}
2164	return client.listOperationsHandleResponse(resp)
2165}
2166
2167// listOperationsCreateRequest creates the ListOperations request.
2168func (client *AppServiceEnvironmentsClient) listOperationsCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsListOperationsOptions) (*azcore.Request, error) {
2169	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations"
2170	if resourceGroupName == "" {
2171		return nil, errors.New("parameter resourceGroupName cannot be empty")
2172	}
2173	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
2174	if name == "" {
2175		return nil, errors.New("parameter name cannot be empty")
2176	}
2177	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
2178	if client.subscriptionID == "" {
2179		return nil, errors.New("parameter client.subscriptionID cannot be empty")
2180	}
2181	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
2182	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
2183	if err != nil {
2184		return nil, err
2185	}
2186	req.Telemetry(telemetryInfo)
2187	reqQP := req.URL.Query()
2188	reqQP.Set("api-version", "2021-01-15")
2189	req.URL.RawQuery = reqQP.Encode()
2190	req.Header.Set("Accept", "application/json")
2191	return req, nil
2192}
2193
2194// listOperationsHandleResponse handles the ListOperations response.
2195func (client *AppServiceEnvironmentsClient) listOperationsHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsListOperationsResponse, error) {
2196	result := AppServiceEnvironmentsListOperationsResponse{RawResponse: resp.Response}
2197	if err := resp.UnmarshalAsJSON(&result.OperationArray); err != nil {
2198		return AppServiceEnvironmentsListOperationsResponse{}, err
2199	}
2200	return result, nil
2201}
2202
2203// listOperationsHandleError handles the ListOperations error response.
2204func (client *AppServiceEnvironmentsClient) listOperationsHandleError(resp *azcore.Response) error {
2205	body, err := resp.Payload()
2206	if err != nil {
2207		return azcore.NewResponseError(err, resp.Response)
2208	}
2209	errType := DefaultErrorResponse{raw: string(body)}
2210	if err := resp.UnmarshalAsJSON(&errType); err != nil {
2211		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
2212	}
2213	return azcore.NewResponseError(&errType, resp.Response)
2214}
2215
2216// ListUsages - Description for Get global usage metrics of an App Service Environment.
2217// If the operation fails it returns the *DefaultErrorResponse error type.
2218func (client *AppServiceEnvironmentsClient) ListUsages(resourceGroupName string, name string, options *AppServiceEnvironmentsListUsagesOptions) AppServiceEnvironmentsListUsagesPager {
2219	return &appServiceEnvironmentsListUsagesPager{
2220		client: client,
2221		requester: func(ctx context.Context) (*azcore.Request, error) {
2222			return client.listUsagesCreateRequest(ctx, resourceGroupName, name, options)
2223		},
2224		advancer: func(ctx context.Context, resp AppServiceEnvironmentsListUsagesResponse) (*azcore.Request, error) {
2225			return azcore.NewRequest(ctx, http.MethodGet, *resp.CsmUsageQuotaCollection.NextLink)
2226		},
2227	}
2228}
2229
2230// listUsagesCreateRequest creates the ListUsages request.
2231func (client *AppServiceEnvironmentsClient) listUsagesCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsListUsagesOptions) (*azcore.Request, error) {
2232	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/usages"
2233	if resourceGroupName == "" {
2234		return nil, errors.New("parameter resourceGroupName cannot be empty")
2235	}
2236	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
2237	if name == "" {
2238		return nil, errors.New("parameter name cannot be empty")
2239	}
2240	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
2241	if client.subscriptionID == "" {
2242		return nil, errors.New("parameter client.subscriptionID cannot be empty")
2243	}
2244	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
2245	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
2246	if err != nil {
2247		return nil, err
2248	}
2249	req.Telemetry(telemetryInfo)
2250	reqQP := req.URL.Query()
2251	reqQP.Set("api-version", "2021-01-15")
2252	req.URL.RawQuery = reqQP.Encode()
2253	unencodedParams := []string{req.URL.RawQuery}
2254	if options != nil && options.Filter != nil {
2255		unencodedParams = append(unencodedParams, "$filter="+*options.Filter)
2256	}
2257	req.URL.RawQuery = strings.Join(unencodedParams, "&")
2258	req.Header.Set("Accept", "application/json")
2259	return req, nil
2260}
2261
2262// listUsagesHandleResponse handles the ListUsages response.
2263func (client *AppServiceEnvironmentsClient) listUsagesHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsListUsagesResponse, error) {
2264	result := AppServiceEnvironmentsListUsagesResponse{RawResponse: resp.Response}
2265	if err := resp.UnmarshalAsJSON(&result.CsmUsageQuotaCollection); err != nil {
2266		return AppServiceEnvironmentsListUsagesResponse{}, err
2267	}
2268	return result, nil
2269}
2270
2271// listUsagesHandleError handles the ListUsages error response.
2272func (client *AppServiceEnvironmentsClient) listUsagesHandleError(resp *azcore.Response) error {
2273	body, err := resp.Payload()
2274	if err != nil {
2275		return azcore.NewResponseError(err, resp.Response)
2276	}
2277	errType := DefaultErrorResponse{raw: string(body)}
2278	if err := resp.UnmarshalAsJSON(&errType); err != nil {
2279		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
2280	}
2281	return azcore.NewResponseError(&errType, resp.Response)
2282}
2283
2284// ListWebApps - Description for Get all apps in an App Service Environment.
2285// If the operation fails it returns the *DefaultErrorResponse error type.
2286func (client *AppServiceEnvironmentsClient) ListWebApps(resourceGroupName string, name string, options *AppServiceEnvironmentsListWebAppsOptions) AppServiceEnvironmentsListWebAppsPager {
2287	return &appServiceEnvironmentsListWebAppsPager{
2288		client: client,
2289		requester: func(ctx context.Context) (*azcore.Request, error) {
2290			return client.listWebAppsCreateRequest(ctx, resourceGroupName, name, options)
2291		},
2292		advancer: func(ctx context.Context, resp AppServiceEnvironmentsListWebAppsResponse) (*azcore.Request, error) {
2293			return azcore.NewRequest(ctx, http.MethodGet, *resp.WebAppCollection.NextLink)
2294		},
2295	}
2296}
2297
2298// listWebAppsCreateRequest creates the ListWebApps request.
2299func (client *AppServiceEnvironmentsClient) listWebAppsCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsListWebAppsOptions) (*azcore.Request, error) {
2300	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/sites"
2301	if resourceGroupName == "" {
2302		return nil, errors.New("parameter resourceGroupName cannot be empty")
2303	}
2304	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
2305	if name == "" {
2306		return nil, errors.New("parameter name cannot be empty")
2307	}
2308	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
2309	if client.subscriptionID == "" {
2310		return nil, errors.New("parameter client.subscriptionID cannot be empty")
2311	}
2312	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
2313	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
2314	if err != nil {
2315		return nil, err
2316	}
2317	req.Telemetry(telemetryInfo)
2318	reqQP := req.URL.Query()
2319	if options != nil && options.PropertiesToInclude != nil {
2320		reqQP.Set("propertiesToInclude", *options.PropertiesToInclude)
2321	}
2322	reqQP.Set("api-version", "2021-01-15")
2323	req.URL.RawQuery = reqQP.Encode()
2324	req.Header.Set("Accept", "application/json")
2325	return req, nil
2326}
2327
2328// listWebAppsHandleResponse handles the ListWebApps response.
2329func (client *AppServiceEnvironmentsClient) listWebAppsHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsListWebAppsResponse, error) {
2330	result := AppServiceEnvironmentsListWebAppsResponse{RawResponse: resp.Response}
2331	if err := resp.UnmarshalAsJSON(&result.WebAppCollection); err != nil {
2332		return AppServiceEnvironmentsListWebAppsResponse{}, err
2333	}
2334	return result, nil
2335}
2336
2337// listWebAppsHandleError handles the ListWebApps error response.
2338func (client *AppServiceEnvironmentsClient) listWebAppsHandleError(resp *azcore.Response) error {
2339	body, err := resp.Payload()
2340	if err != nil {
2341		return azcore.NewResponseError(err, resp.Response)
2342	}
2343	errType := DefaultErrorResponse{raw: string(body)}
2344	if err := resp.UnmarshalAsJSON(&errType); err != nil {
2345		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
2346	}
2347	return azcore.NewResponseError(&errType, resp.Response)
2348}
2349
2350// ListWebWorkerMetricDefinitions - Description for Get metric definitions for a worker pool of an App Service Environment.
2351// If the operation fails it returns the *DefaultErrorResponse error type.
2352func (client *AppServiceEnvironmentsClient) ListWebWorkerMetricDefinitions(resourceGroupName string, name string, workerPoolName string, options *AppServiceEnvironmentsListWebWorkerMetricDefinitionsOptions) AppServiceEnvironmentsListWebWorkerMetricDefinitionsPager {
2353	return &appServiceEnvironmentsListWebWorkerMetricDefinitionsPager{
2354		client: client,
2355		requester: func(ctx context.Context) (*azcore.Request, error) {
2356			return client.listWebWorkerMetricDefinitionsCreateRequest(ctx, resourceGroupName, name, workerPoolName, options)
2357		},
2358		advancer: func(ctx context.Context, resp AppServiceEnvironmentsListWebWorkerMetricDefinitionsResponse) (*azcore.Request, error) {
2359			return azcore.NewRequest(ctx, http.MethodGet, *resp.ResourceMetricDefinitionCollection.NextLink)
2360		},
2361	}
2362}
2363
2364// listWebWorkerMetricDefinitionsCreateRequest creates the ListWebWorkerMetricDefinitions request.
2365func (client *AppServiceEnvironmentsClient) listWebWorkerMetricDefinitionsCreateRequest(ctx context.Context, resourceGroupName string, name string, workerPoolName string, options *AppServiceEnvironmentsListWebWorkerMetricDefinitionsOptions) (*azcore.Request, error) {
2366	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metricdefinitions"
2367	if resourceGroupName == "" {
2368		return nil, errors.New("parameter resourceGroupName cannot be empty")
2369	}
2370	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
2371	if name == "" {
2372		return nil, errors.New("parameter name cannot be empty")
2373	}
2374	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
2375	if workerPoolName == "" {
2376		return nil, errors.New("parameter workerPoolName cannot be empty")
2377	}
2378	urlPath = strings.ReplaceAll(urlPath, "{workerPoolName}", url.PathEscape(workerPoolName))
2379	if client.subscriptionID == "" {
2380		return nil, errors.New("parameter client.subscriptionID cannot be empty")
2381	}
2382	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
2383	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
2384	if err != nil {
2385		return nil, err
2386	}
2387	req.Telemetry(telemetryInfo)
2388	reqQP := req.URL.Query()
2389	reqQP.Set("api-version", "2021-01-15")
2390	req.URL.RawQuery = reqQP.Encode()
2391	req.Header.Set("Accept", "application/json")
2392	return req, nil
2393}
2394
2395// listWebWorkerMetricDefinitionsHandleResponse handles the ListWebWorkerMetricDefinitions response.
2396func (client *AppServiceEnvironmentsClient) listWebWorkerMetricDefinitionsHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsListWebWorkerMetricDefinitionsResponse, error) {
2397	result := AppServiceEnvironmentsListWebWorkerMetricDefinitionsResponse{RawResponse: resp.Response}
2398	if err := resp.UnmarshalAsJSON(&result.ResourceMetricDefinitionCollection); err != nil {
2399		return AppServiceEnvironmentsListWebWorkerMetricDefinitionsResponse{}, err
2400	}
2401	return result, nil
2402}
2403
2404// listWebWorkerMetricDefinitionsHandleError handles the ListWebWorkerMetricDefinitions error response.
2405func (client *AppServiceEnvironmentsClient) listWebWorkerMetricDefinitionsHandleError(resp *azcore.Response) error {
2406	body, err := resp.Payload()
2407	if err != nil {
2408		return azcore.NewResponseError(err, resp.Response)
2409	}
2410	errType := DefaultErrorResponse{raw: string(body)}
2411	if err := resp.UnmarshalAsJSON(&errType); err != nil {
2412		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
2413	}
2414	return azcore.NewResponseError(&errType, resp.Response)
2415}
2416
2417// ListWebWorkerUsages - Description for Get usage metrics for a worker pool of an App Service Environment.
2418// If the operation fails it returns the *DefaultErrorResponse error type.
2419func (client *AppServiceEnvironmentsClient) ListWebWorkerUsages(resourceGroupName string, name string, workerPoolName string, options *AppServiceEnvironmentsListWebWorkerUsagesOptions) AppServiceEnvironmentsListWebWorkerUsagesPager {
2420	return &appServiceEnvironmentsListWebWorkerUsagesPager{
2421		client: client,
2422		requester: func(ctx context.Context) (*azcore.Request, error) {
2423			return client.listWebWorkerUsagesCreateRequest(ctx, resourceGroupName, name, workerPoolName, options)
2424		},
2425		advancer: func(ctx context.Context, resp AppServiceEnvironmentsListWebWorkerUsagesResponse) (*azcore.Request, error) {
2426			return azcore.NewRequest(ctx, http.MethodGet, *resp.UsageCollection.NextLink)
2427		},
2428	}
2429}
2430
2431// listWebWorkerUsagesCreateRequest creates the ListWebWorkerUsages request.
2432func (client *AppServiceEnvironmentsClient) listWebWorkerUsagesCreateRequest(ctx context.Context, resourceGroupName string, name string, workerPoolName string, options *AppServiceEnvironmentsListWebWorkerUsagesOptions) (*azcore.Request, error) {
2433	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/usages"
2434	if resourceGroupName == "" {
2435		return nil, errors.New("parameter resourceGroupName cannot be empty")
2436	}
2437	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
2438	if name == "" {
2439		return nil, errors.New("parameter name cannot be empty")
2440	}
2441	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
2442	if workerPoolName == "" {
2443		return nil, errors.New("parameter workerPoolName cannot be empty")
2444	}
2445	urlPath = strings.ReplaceAll(urlPath, "{workerPoolName}", url.PathEscape(workerPoolName))
2446	if client.subscriptionID == "" {
2447		return nil, errors.New("parameter client.subscriptionID cannot be empty")
2448	}
2449	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
2450	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
2451	if err != nil {
2452		return nil, err
2453	}
2454	req.Telemetry(telemetryInfo)
2455	reqQP := req.URL.Query()
2456	reqQP.Set("api-version", "2021-01-15")
2457	req.URL.RawQuery = reqQP.Encode()
2458	req.Header.Set("Accept", "application/json")
2459	return req, nil
2460}
2461
2462// listWebWorkerUsagesHandleResponse handles the ListWebWorkerUsages response.
2463func (client *AppServiceEnvironmentsClient) listWebWorkerUsagesHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsListWebWorkerUsagesResponse, error) {
2464	result := AppServiceEnvironmentsListWebWorkerUsagesResponse{RawResponse: resp.Response}
2465	if err := resp.UnmarshalAsJSON(&result.UsageCollection); err != nil {
2466		return AppServiceEnvironmentsListWebWorkerUsagesResponse{}, err
2467	}
2468	return result, nil
2469}
2470
2471// listWebWorkerUsagesHandleError handles the ListWebWorkerUsages error response.
2472func (client *AppServiceEnvironmentsClient) listWebWorkerUsagesHandleError(resp *azcore.Response) error {
2473	body, err := resp.Payload()
2474	if err != nil {
2475		return azcore.NewResponseError(err, resp.Response)
2476	}
2477	errType := DefaultErrorResponse{raw: string(body)}
2478	if err := resp.UnmarshalAsJSON(&errType); err != nil {
2479		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
2480	}
2481	return azcore.NewResponseError(&errType, resp.Response)
2482}
2483
2484// ListWorkerPoolInstanceMetricDefinitions - Description for Get metric definitions for a specific instance of a worker pool of an App Service Environment.
2485// If the operation fails it returns the *DefaultErrorResponse error type.
2486func (client *AppServiceEnvironmentsClient) ListWorkerPoolInstanceMetricDefinitions(resourceGroupName string, name string, workerPoolName string, instance string, options *AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsOptions) AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsPager {
2487	return &appServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsPager{
2488		client: client,
2489		requester: func(ctx context.Context) (*azcore.Request, error) {
2490			return client.listWorkerPoolInstanceMetricDefinitionsCreateRequest(ctx, resourceGroupName, name, workerPoolName, instance, options)
2491		},
2492		advancer: func(ctx context.Context, resp AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsResponse) (*azcore.Request, error) {
2493			return azcore.NewRequest(ctx, http.MethodGet, *resp.ResourceMetricDefinitionCollection.NextLink)
2494		},
2495	}
2496}
2497
2498// listWorkerPoolInstanceMetricDefinitionsCreateRequest creates the ListWorkerPoolInstanceMetricDefinitions request.
2499func (client *AppServiceEnvironmentsClient) listWorkerPoolInstanceMetricDefinitionsCreateRequest(ctx context.Context, resourceGroupName string, name string, workerPoolName string, instance string, options *AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsOptions) (*azcore.Request, error) {
2500	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metricdefinitions"
2501	if resourceGroupName == "" {
2502		return nil, errors.New("parameter resourceGroupName cannot be empty")
2503	}
2504	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
2505	if name == "" {
2506		return nil, errors.New("parameter name cannot be empty")
2507	}
2508	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
2509	if workerPoolName == "" {
2510		return nil, errors.New("parameter workerPoolName cannot be empty")
2511	}
2512	urlPath = strings.ReplaceAll(urlPath, "{workerPoolName}", url.PathEscape(workerPoolName))
2513	if instance == "" {
2514		return nil, errors.New("parameter instance cannot be empty")
2515	}
2516	urlPath = strings.ReplaceAll(urlPath, "{instance}", url.PathEscape(instance))
2517	if client.subscriptionID == "" {
2518		return nil, errors.New("parameter client.subscriptionID cannot be empty")
2519	}
2520	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
2521	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
2522	if err != nil {
2523		return nil, err
2524	}
2525	req.Telemetry(telemetryInfo)
2526	reqQP := req.URL.Query()
2527	reqQP.Set("api-version", "2021-01-15")
2528	req.URL.RawQuery = reqQP.Encode()
2529	req.Header.Set("Accept", "application/json")
2530	return req, nil
2531}
2532
2533// listWorkerPoolInstanceMetricDefinitionsHandleResponse handles the ListWorkerPoolInstanceMetricDefinitions response.
2534func (client *AppServiceEnvironmentsClient) listWorkerPoolInstanceMetricDefinitionsHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsResponse, error) {
2535	result := AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsResponse{RawResponse: resp.Response}
2536	if err := resp.UnmarshalAsJSON(&result.ResourceMetricDefinitionCollection); err != nil {
2537		return AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsResponse{}, err
2538	}
2539	return result, nil
2540}
2541
2542// listWorkerPoolInstanceMetricDefinitionsHandleError handles the ListWorkerPoolInstanceMetricDefinitions error response.
2543func (client *AppServiceEnvironmentsClient) listWorkerPoolInstanceMetricDefinitionsHandleError(resp *azcore.Response) error {
2544	body, err := resp.Payload()
2545	if err != nil {
2546		return azcore.NewResponseError(err, resp.Response)
2547	}
2548	errType := DefaultErrorResponse{raw: string(body)}
2549	if err := resp.UnmarshalAsJSON(&errType); err != nil {
2550		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
2551	}
2552	return azcore.NewResponseError(&errType, resp.Response)
2553}
2554
2555// ListWorkerPoolSKUs - Description for Get available SKUs for scaling a worker pool.
2556// If the operation fails it returns the *DefaultErrorResponse error type.
2557func (client *AppServiceEnvironmentsClient) ListWorkerPoolSKUs(resourceGroupName string, name string, workerPoolName string, options *AppServiceEnvironmentsListWorkerPoolSKUsOptions) AppServiceEnvironmentsListWorkerPoolSKUsPager {
2558	return &appServiceEnvironmentsListWorkerPoolSKUsPager{
2559		client: client,
2560		requester: func(ctx context.Context) (*azcore.Request, error) {
2561			return client.listWorkerPoolSKUsCreateRequest(ctx, resourceGroupName, name, workerPoolName, options)
2562		},
2563		advancer: func(ctx context.Context, resp AppServiceEnvironmentsListWorkerPoolSKUsResponse) (*azcore.Request, error) {
2564			return azcore.NewRequest(ctx, http.MethodGet, *resp.SKUInfoCollection.NextLink)
2565		},
2566	}
2567}
2568
2569// listWorkerPoolSKUsCreateRequest creates the ListWorkerPoolSKUs request.
2570func (client *AppServiceEnvironmentsClient) listWorkerPoolSKUsCreateRequest(ctx context.Context, resourceGroupName string, name string, workerPoolName string, options *AppServiceEnvironmentsListWorkerPoolSKUsOptions) (*azcore.Request, error) {
2571	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/skus"
2572	if resourceGroupName == "" {
2573		return nil, errors.New("parameter resourceGroupName cannot be empty")
2574	}
2575	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
2576	if name == "" {
2577		return nil, errors.New("parameter name cannot be empty")
2578	}
2579	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
2580	if workerPoolName == "" {
2581		return nil, errors.New("parameter workerPoolName cannot be empty")
2582	}
2583	urlPath = strings.ReplaceAll(urlPath, "{workerPoolName}", url.PathEscape(workerPoolName))
2584	if client.subscriptionID == "" {
2585		return nil, errors.New("parameter client.subscriptionID cannot be empty")
2586	}
2587	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
2588	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
2589	if err != nil {
2590		return nil, err
2591	}
2592	req.Telemetry(telemetryInfo)
2593	reqQP := req.URL.Query()
2594	reqQP.Set("api-version", "2021-01-15")
2595	req.URL.RawQuery = reqQP.Encode()
2596	req.Header.Set("Accept", "application/json")
2597	return req, nil
2598}
2599
2600// listWorkerPoolSKUsHandleResponse handles the ListWorkerPoolSKUs response.
2601func (client *AppServiceEnvironmentsClient) listWorkerPoolSKUsHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsListWorkerPoolSKUsResponse, error) {
2602	result := AppServiceEnvironmentsListWorkerPoolSKUsResponse{RawResponse: resp.Response}
2603	if err := resp.UnmarshalAsJSON(&result.SKUInfoCollection); err != nil {
2604		return AppServiceEnvironmentsListWorkerPoolSKUsResponse{}, err
2605	}
2606	return result, nil
2607}
2608
2609// listWorkerPoolSKUsHandleError handles the ListWorkerPoolSKUs error response.
2610func (client *AppServiceEnvironmentsClient) listWorkerPoolSKUsHandleError(resp *azcore.Response) error {
2611	body, err := resp.Payload()
2612	if err != nil {
2613		return azcore.NewResponseError(err, resp.Response)
2614	}
2615	errType := DefaultErrorResponse{raw: string(body)}
2616	if err := resp.UnmarshalAsJSON(&errType); err != nil {
2617		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
2618	}
2619	return azcore.NewResponseError(&errType, resp.Response)
2620}
2621
2622// ListWorkerPools - Description for Get all worker pools of an App Service Environment.
2623// If the operation fails it returns the *DefaultErrorResponse error type.
2624func (client *AppServiceEnvironmentsClient) ListWorkerPools(resourceGroupName string, name string, options *AppServiceEnvironmentsListWorkerPoolsOptions) AppServiceEnvironmentsListWorkerPoolsPager {
2625	return &appServiceEnvironmentsListWorkerPoolsPager{
2626		client: client,
2627		requester: func(ctx context.Context) (*azcore.Request, error) {
2628			return client.listWorkerPoolsCreateRequest(ctx, resourceGroupName, name, options)
2629		},
2630		advancer: func(ctx context.Context, resp AppServiceEnvironmentsListWorkerPoolsResponse) (*azcore.Request, error) {
2631			return azcore.NewRequest(ctx, http.MethodGet, *resp.WorkerPoolCollection.NextLink)
2632		},
2633	}
2634}
2635
2636// listWorkerPoolsCreateRequest creates the ListWorkerPools request.
2637func (client *AppServiceEnvironmentsClient) listWorkerPoolsCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsListWorkerPoolsOptions) (*azcore.Request, error) {
2638	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools"
2639	if resourceGroupName == "" {
2640		return nil, errors.New("parameter resourceGroupName cannot be empty")
2641	}
2642	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
2643	if name == "" {
2644		return nil, errors.New("parameter name cannot be empty")
2645	}
2646	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
2647	if client.subscriptionID == "" {
2648		return nil, errors.New("parameter client.subscriptionID cannot be empty")
2649	}
2650	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
2651	req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath))
2652	if err != nil {
2653		return nil, err
2654	}
2655	req.Telemetry(telemetryInfo)
2656	reqQP := req.URL.Query()
2657	reqQP.Set("api-version", "2021-01-15")
2658	req.URL.RawQuery = reqQP.Encode()
2659	req.Header.Set("Accept", "application/json")
2660	return req, nil
2661}
2662
2663// listWorkerPoolsHandleResponse handles the ListWorkerPools response.
2664func (client *AppServiceEnvironmentsClient) listWorkerPoolsHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsListWorkerPoolsResponse, error) {
2665	result := AppServiceEnvironmentsListWorkerPoolsResponse{RawResponse: resp.Response}
2666	if err := resp.UnmarshalAsJSON(&result.WorkerPoolCollection); err != nil {
2667		return AppServiceEnvironmentsListWorkerPoolsResponse{}, err
2668	}
2669	return result, nil
2670}
2671
2672// listWorkerPoolsHandleError handles the ListWorkerPools error response.
2673func (client *AppServiceEnvironmentsClient) listWorkerPoolsHandleError(resp *azcore.Response) error {
2674	body, err := resp.Payload()
2675	if err != nil {
2676		return azcore.NewResponseError(err, resp.Response)
2677	}
2678	errType := DefaultErrorResponse{raw: string(body)}
2679	if err := resp.UnmarshalAsJSON(&errType); err != nil {
2680		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
2681	}
2682	return azcore.NewResponseError(&errType, resp.Response)
2683}
2684
2685// Reboot - Description for Reboot all machines in an App Service Environment.
2686// If the operation fails it returns the *DefaultErrorResponse error type.
2687func (client *AppServiceEnvironmentsClient) Reboot(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsRebootOptions) (AppServiceEnvironmentsRebootResponse, error) {
2688	req, err := client.rebootCreateRequest(ctx, resourceGroupName, name, options)
2689	if err != nil {
2690		return AppServiceEnvironmentsRebootResponse{}, err
2691	}
2692	resp, err := client.con.Pipeline().Do(req)
2693	if err != nil {
2694		return AppServiceEnvironmentsRebootResponse{}, err
2695	}
2696	if !resp.HasStatusCode(http.StatusAccepted) {
2697		return AppServiceEnvironmentsRebootResponse{}, client.rebootHandleError(resp)
2698	}
2699	return AppServiceEnvironmentsRebootResponse{RawResponse: resp.Response}, nil
2700}
2701
2702// rebootCreateRequest creates the Reboot request.
2703func (client *AppServiceEnvironmentsClient) rebootCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsRebootOptions) (*azcore.Request, error) {
2704	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/reboot"
2705	if resourceGroupName == "" {
2706		return nil, errors.New("parameter resourceGroupName cannot be empty")
2707	}
2708	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
2709	if name == "" {
2710		return nil, errors.New("parameter name cannot be empty")
2711	}
2712	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
2713	if client.subscriptionID == "" {
2714		return nil, errors.New("parameter client.subscriptionID cannot be empty")
2715	}
2716	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
2717	req, err := azcore.NewRequest(ctx, http.MethodPost, azcore.JoinPaths(client.con.Endpoint(), urlPath))
2718	if err != nil {
2719		return nil, err
2720	}
2721	req.Telemetry(telemetryInfo)
2722	reqQP := req.URL.Query()
2723	reqQP.Set("api-version", "2021-01-15")
2724	req.URL.RawQuery = reqQP.Encode()
2725	req.Header.Set("Accept", "application/json")
2726	return req, nil
2727}
2728
2729// rebootHandleError handles the Reboot error response.
2730func (client *AppServiceEnvironmentsClient) rebootHandleError(resp *azcore.Response) error {
2731	body, err := resp.Payload()
2732	if err != nil {
2733		return azcore.NewResponseError(err, resp.Response)
2734	}
2735	errType := DefaultErrorResponse{raw: string(body)}
2736	if err := resp.UnmarshalAsJSON(&errType); err != nil {
2737		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
2738	}
2739	return azcore.NewResponseError(&errType, resp.Response)
2740}
2741
2742// BeginResume - Description for Resume an App Service Environment.
2743// If the operation fails it returns the *DefaultErrorResponse error type.
2744func (client *AppServiceEnvironmentsClient) BeginResume(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsBeginResumeOptions) (AppServiceEnvironmentsResumePollerResponse, error) {
2745	resp, err := client.resume(ctx, resourceGroupName, name, options)
2746	if err != nil {
2747		return AppServiceEnvironmentsResumePollerResponse{}, err
2748	}
2749	result := AppServiceEnvironmentsResumePollerResponse{
2750		RawResponse: resp.Response,
2751	}
2752	pt, err := armcore.NewLROPoller("AppServiceEnvironmentsClient.Resume", "", resp, client.con.Pipeline(), client.resumeHandleError)
2753	if err != nil {
2754		return AppServiceEnvironmentsResumePollerResponse{}, err
2755	}
2756	poller := &appServiceEnvironmentsResumePoller{
2757		pt:     pt,
2758		client: client,
2759	}
2760	result.Poller = poller
2761	result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceEnvironmentsResumePager, error) {
2762		return poller.pollUntilDone(ctx, frequency)
2763	}
2764	return result, nil
2765}
2766
2767// ResumeResume creates a new AppServiceEnvironmentsResumePoller from the specified resume token.
2768// token - The value must come from a previous call to AppServiceEnvironmentsResumePoller.ResumeToken().
2769func (client *AppServiceEnvironmentsClient) ResumeResume(ctx context.Context, token string) (AppServiceEnvironmentsResumePollerResponse, error) {
2770	pt, err := armcore.NewLROPollerFromResumeToken("AppServiceEnvironmentsClient.Resume", token, client.con.Pipeline(), client.resumeHandleError)
2771	if err != nil {
2772		return AppServiceEnvironmentsResumePollerResponse{}, err
2773	}
2774	poller := &appServiceEnvironmentsResumePoller{
2775		pt:     pt,
2776		client: client,
2777	}
2778	resp, err := poller.Poll(ctx)
2779	if err != nil {
2780		return AppServiceEnvironmentsResumePollerResponse{}, err
2781	}
2782	result := AppServiceEnvironmentsResumePollerResponse{
2783		RawResponse: resp,
2784	}
2785	result.Poller = poller
2786	result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceEnvironmentsResumePager, error) {
2787		return poller.pollUntilDone(ctx, frequency)
2788	}
2789	return result, nil
2790}
2791
2792// Resume - Description for Resume an App Service Environment.
2793// If the operation fails it returns the *DefaultErrorResponse error type.
2794func (client *AppServiceEnvironmentsClient) resume(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsBeginResumeOptions) (*azcore.Response, error) {
2795	req, err := client.resumeCreateRequest(ctx, resourceGroupName, name, options)
2796	if err != nil {
2797		return nil, err
2798	}
2799	resp, err := client.con.Pipeline().Do(req)
2800	if err != nil {
2801		return nil, err
2802	}
2803	if !resp.HasStatusCode(http.StatusOK, http.StatusAccepted) {
2804		return nil, client.resumeHandleError(resp)
2805	}
2806	return resp, nil
2807}
2808
2809// resumeCreateRequest creates the Resume request.
2810func (client *AppServiceEnvironmentsClient) resumeCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsBeginResumeOptions) (*azcore.Request, error) {
2811	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/resume"
2812	if resourceGroupName == "" {
2813		return nil, errors.New("parameter resourceGroupName cannot be empty")
2814	}
2815	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
2816	if name == "" {
2817		return nil, errors.New("parameter name cannot be empty")
2818	}
2819	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
2820	if client.subscriptionID == "" {
2821		return nil, errors.New("parameter client.subscriptionID cannot be empty")
2822	}
2823	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
2824	req, err := azcore.NewRequest(ctx, http.MethodPost, azcore.JoinPaths(client.con.Endpoint(), urlPath))
2825	if err != nil {
2826		return nil, err
2827	}
2828	req.Telemetry(telemetryInfo)
2829	reqQP := req.URL.Query()
2830	reqQP.Set("api-version", "2021-01-15")
2831	req.URL.RawQuery = reqQP.Encode()
2832	req.Header.Set("Accept", "application/json")
2833	return req, nil
2834}
2835
2836// resumeHandleResponse handles the Resume response.
2837func (client *AppServiceEnvironmentsClient) resumeHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsResumeResponse, error) {
2838	result := AppServiceEnvironmentsResumeResponse{RawResponse: resp.Response}
2839	if err := resp.UnmarshalAsJSON(&result.WebAppCollection); err != nil {
2840		return AppServiceEnvironmentsResumeResponse{}, err
2841	}
2842	return result, nil
2843}
2844
2845// resumeHandleError handles the Resume error response.
2846func (client *AppServiceEnvironmentsClient) resumeHandleError(resp *azcore.Response) error {
2847	body, err := resp.Payload()
2848	if err != nil {
2849		return azcore.NewResponseError(err, resp.Response)
2850	}
2851	errType := DefaultErrorResponse{raw: string(body)}
2852	if err := resp.UnmarshalAsJSON(&errType); err != nil {
2853		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
2854	}
2855	return azcore.NewResponseError(&errType, resp.Response)
2856}
2857
2858// BeginSuspend - Description for Suspend an App Service Environment.
2859// If the operation fails it returns the *DefaultErrorResponse error type.
2860func (client *AppServiceEnvironmentsClient) BeginSuspend(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsBeginSuspendOptions) (AppServiceEnvironmentsSuspendPollerResponse, error) {
2861	resp, err := client.suspend(ctx, resourceGroupName, name, options)
2862	if err != nil {
2863		return AppServiceEnvironmentsSuspendPollerResponse{}, err
2864	}
2865	result := AppServiceEnvironmentsSuspendPollerResponse{
2866		RawResponse: resp.Response,
2867	}
2868	pt, err := armcore.NewLROPoller("AppServiceEnvironmentsClient.Suspend", "", resp, client.con.Pipeline(), client.suspendHandleError)
2869	if err != nil {
2870		return AppServiceEnvironmentsSuspendPollerResponse{}, err
2871	}
2872	poller := &appServiceEnvironmentsSuspendPoller{
2873		pt:     pt,
2874		client: client,
2875	}
2876	result.Poller = poller
2877	result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceEnvironmentsSuspendPager, error) {
2878		return poller.pollUntilDone(ctx, frequency)
2879	}
2880	return result, nil
2881}
2882
2883// ResumeSuspend creates a new AppServiceEnvironmentsSuspendPoller from the specified resume token.
2884// token - The value must come from a previous call to AppServiceEnvironmentsSuspendPoller.ResumeToken().
2885func (client *AppServiceEnvironmentsClient) ResumeSuspend(ctx context.Context, token string) (AppServiceEnvironmentsSuspendPollerResponse, error) {
2886	pt, err := armcore.NewLROPollerFromResumeToken("AppServiceEnvironmentsClient.Suspend", token, client.con.Pipeline(), client.suspendHandleError)
2887	if err != nil {
2888		return AppServiceEnvironmentsSuspendPollerResponse{}, err
2889	}
2890	poller := &appServiceEnvironmentsSuspendPoller{
2891		pt:     pt,
2892		client: client,
2893	}
2894	resp, err := poller.Poll(ctx)
2895	if err != nil {
2896		return AppServiceEnvironmentsSuspendPollerResponse{}, err
2897	}
2898	result := AppServiceEnvironmentsSuspendPollerResponse{
2899		RawResponse: resp,
2900	}
2901	result.Poller = poller
2902	result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceEnvironmentsSuspendPager, error) {
2903		return poller.pollUntilDone(ctx, frequency)
2904	}
2905	return result, nil
2906}
2907
2908// Suspend - Description for Suspend an App Service Environment.
2909// If the operation fails it returns the *DefaultErrorResponse error type.
2910func (client *AppServiceEnvironmentsClient) suspend(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsBeginSuspendOptions) (*azcore.Response, error) {
2911	req, err := client.suspendCreateRequest(ctx, resourceGroupName, name, options)
2912	if err != nil {
2913		return nil, err
2914	}
2915	resp, err := client.con.Pipeline().Do(req)
2916	if err != nil {
2917		return nil, err
2918	}
2919	if !resp.HasStatusCode(http.StatusOK, http.StatusAccepted) {
2920		return nil, client.suspendHandleError(resp)
2921	}
2922	return resp, nil
2923}
2924
2925// suspendCreateRequest creates the Suspend request.
2926func (client *AppServiceEnvironmentsClient) suspendCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceEnvironmentsBeginSuspendOptions) (*azcore.Request, error) {
2927	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/suspend"
2928	if resourceGroupName == "" {
2929		return nil, errors.New("parameter resourceGroupName cannot be empty")
2930	}
2931	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
2932	if name == "" {
2933		return nil, errors.New("parameter name cannot be empty")
2934	}
2935	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
2936	if client.subscriptionID == "" {
2937		return nil, errors.New("parameter client.subscriptionID cannot be empty")
2938	}
2939	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
2940	req, err := azcore.NewRequest(ctx, http.MethodPost, azcore.JoinPaths(client.con.Endpoint(), urlPath))
2941	if err != nil {
2942		return nil, err
2943	}
2944	req.Telemetry(telemetryInfo)
2945	reqQP := req.URL.Query()
2946	reqQP.Set("api-version", "2021-01-15")
2947	req.URL.RawQuery = reqQP.Encode()
2948	req.Header.Set("Accept", "application/json")
2949	return req, nil
2950}
2951
2952// suspendHandleResponse handles the Suspend response.
2953func (client *AppServiceEnvironmentsClient) suspendHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsSuspendResponse, error) {
2954	result := AppServiceEnvironmentsSuspendResponse{RawResponse: resp.Response}
2955	if err := resp.UnmarshalAsJSON(&result.WebAppCollection); err != nil {
2956		return AppServiceEnvironmentsSuspendResponse{}, err
2957	}
2958	return result, nil
2959}
2960
2961// suspendHandleError handles the Suspend error response.
2962func (client *AppServiceEnvironmentsClient) suspendHandleError(resp *azcore.Response) error {
2963	body, err := resp.Payload()
2964	if err != nil {
2965		return azcore.NewResponseError(err, resp.Response)
2966	}
2967	errType := DefaultErrorResponse{raw: string(body)}
2968	if err := resp.UnmarshalAsJSON(&errType); err != nil {
2969		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
2970	}
2971	return azcore.NewResponseError(&errType, resp.Response)
2972}
2973
2974// Update - Description for Create or update an App Service Environment.
2975// If the operation fails it returns the *DefaultErrorResponse error type.
2976func (client *AppServiceEnvironmentsClient) Update(ctx context.Context, resourceGroupName string, name string, hostingEnvironmentEnvelope AppServiceEnvironmentPatchResource, options *AppServiceEnvironmentsUpdateOptions) (AppServiceEnvironmentsUpdateResponse, error) {
2977	req, err := client.updateCreateRequest(ctx, resourceGroupName, name, hostingEnvironmentEnvelope, options)
2978	if err != nil {
2979		return AppServiceEnvironmentsUpdateResponse{}, err
2980	}
2981	resp, err := client.con.Pipeline().Do(req)
2982	if err != nil {
2983		return AppServiceEnvironmentsUpdateResponse{}, err
2984	}
2985	if !resp.HasStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted) {
2986		return AppServiceEnvironmentsUpdateResponse{}, client.updateHandleError(resp)
2987	}
2988	return client.updateHandleResponse(resp)
2989}
2990
2991// updateCreateRequest creates the Update request.
2992func (client *AppServiceEnvironmentsClient) updateCreateRequest(ctx context.Context, resourceGroupName string, name string, hostingEnvironmentEnvelope AppServiceEnvironmentPatchResource, options *AppServiceEnvironmentsUpdateOptions) (*azcore.Request, error) {
2993	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}"
2994	if resourceGroupName == "" {
2995		return nil, errors.New("parameter resourceGroupName cannot be empty")
2996	}
2997	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
2998	if name == "" {
2999		return nil, errors.New("parameter name cannot be empty")
3000	}
3001	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
3002	if client.subscriptionID == "" {
3003		return nil, errors.New("parameter client.subscriptionID cannot be empty")
3004	}
3005	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
3006	req, err := azcore.NewRequest(ctx, http.MethodPatch, azcore.JoinPaths(client.con.Endpoint(), urlPath))
3007	if err != nil {
3008		return nil, err
3009	}
3010	req.Telemetry(telemetryInfo)
3011	reqQP := req.URL.Query()
3012	reqQP.Set("api-version", "2021-01-15")
3013	req.URL.RawQuery = reqQP.Encode()
3014	req.Header.Set("Accept", "application/json")
3015	return req, req.MarshalAsJSON(hostingEnvironmentEnvelope)
3016}
3017
3018// updateHandleResponse handles the Update response.
3019func (client *AppServiceEnvironmentsClient) updateHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsUpdateResponse, error) {
3020	result := AppServiceEnvironmentsUpdateResponse{RawResponse: resp.Response}
3021	if err := resp.UnmarshalAsJSON(&result.AppServiceEnvironmentResource); err != nil {
3022		return AppServiceEnvironmentsUpdateResponse{}, err
3023	}
3024	return result, nil
3025}
3026
3027// updateHandleError handles the Update error response.
3028func (client *AppServiceEnvironmentsClient) updateHandleError(resp *azcore.Response) error {
3029	body, err := resp.Payload()
3030	if err != nil {
3031		return azcore.NewResponseError(err, resp.Response)
3032	}
3033	errType := DefaultErrorResponse{raw: string(body)}
3034	if err := resp.UnmarshalAsJSON(&errType); err != nil {
3035		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
3036	}
3037	return azcore.NewResponseError(&errType, resp.Response)
3038}
3039
3040// UpdateAseNetworkingConfiguration - Description for Update networking configuration of an App Service Environment
3041// If the operation fails it returns the *DefaultErrorResponse error type.
3042func (client *AppServiceEnvironmentsClient) UpdateAseNetworkingConfiguration(ctx context.Context, resourceGroupName string, name string, aseNetworkingConfiguration AseV3NetworkingConfiguration, options *AppServiceEnvironmentsUpdateAseNetworkingConfigurationOptions) (AppServiceEnvironmentsUpdateAseNetworkingConfigurationResponse, error) {
3043	req, err := client.updateAseNetworkingConfigurationCreateRequest(ctx, resourceGroupName, name, aseNetworkingConfiguration, options)
3044	if err != nil {
3045		return AppServiceEnvironmentsUpdateAseNetworkingConfigurationResponse{}, err
3046	}
3047	resp, err := client.con.Pipeline().Do(req)
3048	if err != nil {
3049		return AppServiceEnvironmentsUpdateAseNetworkingConfigurationResponse{}, err
3050	}
3051	if !resp.HasStatusCode(http.StatusOK) {
3052		return AppServiceEnvironmentsUpdateAseNetworkingConfigurationResponse{}, client.updateAseNetworkingConfigurationHandleError(resp)
3053	}
3054	return client.updateAseNetworkingConfigurationHandleResponse(resp)
3055}
3056
3057// updateAseNetworkingConfigurationCreateRequest creates the UpdateAseNetworkingConfiguration request.
3058func (client *AppServiceEnvironmentsClient) updateAseNetworkingConfigurationCreateRequest(ctx context.Context, resourceGroupName string, name string, aseNetworkingConfiguration AseV3NetworkingConfiguration, options *AppServiceEnvironmentsUpdateAseNetworkingConfigurationOptions) (*azcore.Request, error) {
3059	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/configurations/networking"
3060	if resourceGroupName == "" {
3061		return nil, errors.New("parameter resourceGroupName cannot be empty")
3062	}
3063	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
3064	if name == "" {
3065		return nil, errors.New("parameter name cannot be empty")
3066	}
3067	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
3068	if client.subscriptionID == "" {
3069		return nil, errors.New("parameter client.subscriptionID cannot be empty")
3070	}
3071	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
3072	req, err := azcore.NewRequest(ctx, http.MethodPut, azcore.JoinPaths(client.con.Endpoint(), urlPath))
3073	if err != nil {
3074		return nil, err
3075	}
3076	req.Telemetry(telemetryInfo)
3077	reqQP := req.URL.Query()
3078	reqQP.Set("api-version", "2021-01-15")
3079	req.URL.RawQuery = reqQP.Encode()
3080	req.Header.Set("Accept", "application/json")
3081	return req, req.MarshalAsJSON(aseNetworkingConfiguration)
3082}
3083
3084// updateAseNetworkingConfigurationHandleResponse handles the UpdateAseNetworkingConfiguration response.
3085func (client *AppServiceEnvironmentsClient) updateAseNetworkingConfigurationHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsUpdateAseNetworkingConfigurationResponse, error) {
3086	result := AppServiceEnvironmentsUpdateAseNetworkingConfigurationResponse{RawResponse: resp.Response}
3087	if err := resp.UnmarshalAsJSON(&result.AseV3NetworkingConfiguration); err != nil {
3088		return AppServiceEnvironmentsUpdateAseNetworkingConfigurationResponse{}, err
3089	}
3090	return result, nil
3091}
3092
3093// updateAseNetworkingConfigurationHandleError handles the UpdateAseNetworkingConfiguration error response.
3094func (client *AppServiceEnvironmentsClient) updateAseNetworkingConfigurationHandleError(resp *azcore.Response) error {
3095	body, err := resp.Payload()
3096	if err != nil {
3097		return azcore.NewResponseError(err, resp.Response)
3098	}
3099	errType := DefaultErrorResponse{raw: string(body)}
3100	if err := resp.UnmarshalAsJSON(&errType); err != nil {
3101		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
3102	}
3103	return azcore.NewResponseError(&errType, resp.Response)
3104}
3105
3106// UpdateMultiRolePool - Description for Create or update a multi-role pool.
3107// If the operation fails it returns the *DefaultErrorResponse error type.
3108func (client *AppServiceEnvironmentsClient) UpdateMultiRolePool(ctx context.Context, resourceGroupName string, name string, multiRolePoolEnvelope WorkerPoolResource, options *AppServiceEnvironmentsUpdateMultiRolePoolOptions) (AppServiceEnvironmentsUpdateMultiRolePoolResponse, error) {
3109	req, err := client.updateMultiRolePoolCreateRequest(ctx, resourceGroupName, name, multiRolePoolEnvelope, options)
3110	if err != nil {
3111		return AppServiceEnvironmentsUpdateMultiRolePoolResponse{}, err
3112	}
3113	resp, err := client.con.Pipeline().Do(req)
3114	if err != nil {
3115		return AppServiceEnvironmentsUpdateMultiRolePoolResponse{}, err
3116	}
3117	if !resp.HasStatusCode(http.StatusOK, http.StatusAccepted) {
3118		return AppServiceEnvironmentsUpdateMultiRolePoolResponse{}, client.updateMultiRolePoolHandleError(resp)
3119	}
3120	return client.updateMultiRolePoolHandleResponse(resp)
3121}
3122
3123// updateMultiRolePoolCreateRequest creates the UpdateMultiRolePool request.
3124func (client *AppServiceEnvironmentsClient) updateMultiRolePoolCreateRequest(ctx context.Context, resourceGroupName string, name string, multiRolePoolEnvelope WorkerPoolResource, options *AppServiceEnvironmentsUpdateMultiRolePoolOptions) (*azcore.Request, error) {
3125	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default"
3126	if resourceGroupName == "" {
3127		return nil, errors.New("parameter resourceGroupName cannot be empty")
3128	}
3129	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
3130	if name == "" {
3131		return nil, errors.New("parameter name cannot be empty")
3132	}
3133	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
3134	if client.subscriptionID == "" {
3135		return nil, errors.New("parameter client.subscriptionID cannot be empty")
3136	}
3137	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
3138	req, err := azcore.NewRequest(ctx, http.MethodPatch, azcore.JoinPaths(client.con.Endpoint(), urlPath))
3139	if err != nil {
3140		return nil, err
3141	}
3142	req.Telemetry(telemetryInfo)
3143	reqQP := req.URL.Query()
3144	reqQP.Set("api-version", "2021-01-15")
3145	req.URL.RawQuery = reqQP.Encode()
3146	req.Header.Set("Accept", "application/json")
3147	return req, req.MarshalAsJSON(multiRolePoolEnvelope)
3148}
3149
3150// updateMultiRolePoolHandleResponse handles the UpdateMultiRolePool response.
3151func (client *AppServiceEnvironmentsClient) updateMultiRolePoolHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsUpdateMultiRolePoolResponse, error) {
3152	result := AppServiceEnvironmentsUpdateMultiRolePoolResponse{RawResponse: resp.Response}
3153	if err := resp.UnmarshalAsJSON(&result.WorkerPoolResource); err != nil {
3154		return AppServiceEnvironmentsUpdateMultiRolePoolResponse{}, err
3155	}
3156	return result, nil
3157}
3158
3159// updateMultiRolePoolHandleError handles the UpdateMultiRolePool error response.
3160func (client *AppServiceEnvironmentsClient) updateMultiRolePoolHandleError(resp *azcore.Response) error {
3161	body, err := resp.Payload()
3162	if err != nil {
3163		return azcore.NewResponseError(err, resp.Response)
3164	}
3165	errType := DefaultErrorResponse{raw: string(body)}
3166	if err := resp.UnmarshalAsJSON(&errType); err != nil {
3167		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
3168	}
3169	return azcore.NewResponseError(&errType, resp.Response)
3170}
3171
3172// UpdateWorkerPool - Description for Create or update a worker pool.
3173// If the operation fails it returns the *DefaultErrorResponse error type.
3174func (client *AppServiceEnvironmentsClient) UpdateWorkerPool(ctx context.Context, resourceGroupName string, name string, workerPoolName string, workerPoolEnvelope WorkerPoolResource, options *AppServiceEnvironmentsUpdateWorkerPoolOptions) (AppServiceEnvironmentsUpdateWorkerPoolResponse, error) {
3175	req, err := client.updateWorkerPoolCreateRequest(ctx, resourceGroupName, name, workerPoolName, workerPoolEnvelope, options)
3176	if err != nil {
3177		return AppServiceEnvironmentsUpdateWorkerPoolResponse{}, err
3178	}
3179	resp, err := client.con.Pipeline().Do(req)
3180	if err != nil {
3181		return AppServiceEnvironmentsUpdateWorkerPoolResponse{}, err
3182	}
3183	if !resp.HasStatusCode(http.StatusOK, http.StatusAccepted) {
3184		return AppServiceEnvironmentsUpdateWorkerPoolResponse{}, client.updateWorkerPoolHandleError(resp)
3185	}
3186	return client.updateWorkerPoolHandleResponse(resp)
3187}
3188
3189// updateWorkerPoolCreateRequest creates the UpdateWorkerPool request.
3190func (client *AppServiceEnvironmentsClient) updateWorkerPoolCreateRequest(ctx context.Context, resourceGroupName string, name string, workerPoolName string, workerPoolEnvelope WorkerPoolResource, options *AppServiceEnvironmentsUpdateWorkerPoolOptions) (*azcore.Request, error) {
3191	urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}"
3192	if resourceGroupName == "" {
3193		return nil, errors.New("parameter resourceGroupName cannot be empty")
3194	}
3195	urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
3196	if name == "" {
3197		return nil, errors.New("parameter name cannot be empty")
3198	}
3199	urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name))
3200	if workerPoolName == "" {
3201		return nil, errors.New("parameter workerPoolName cannot be empty")
3202	}
3203	urlPath = strings.ReplaceAll(urlPath, "{workerPoolName}", url.PathEscape(workerPoolName))
3204	if client.subscriptionID == "" {
3205		return nil, errors.New("parameter client.subscriptionID cannot be empty")
3206	}
3207	urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
3208	req, err := azcore.NewRequest(ctx, http.MethodPatch, azcore.JoinPaths(client.con.Endpoint(), urlPath))
3209	if err != nil {
3210		return nil, err
3211	}
3212	req.Telemetry(telemetryInfo)
3213	reqQP := req.URL.Query()
3214	reqQP.Set("api-version", "2021-01-15")
3215	req.URL.RawQuery = reqQP.Encode()
3216	req.Header.Set("Accept", "application/json")
3217	return req, req.MarshalAsJSON(workerPoolEnvelope)
3218}
3219
3220// updateWorkerPoolHandleResponse handles the UpdateWorkerPool response.
3221func (client *AppServiceEnvironmentsClient) updateWorkerPoolHandleResponse(resp *azcore.Response) (AppServiceEnvironmentsUpdateWorkerPoolResponse, error) {
3222	result := AppServiceEnvironmentsUpdateWorkerPoolResponse{RawResponse: resp.Response}
3223	if err := resp.UnmarshalAsJSON(&result.WorkerPoolResource); err != nil {
3224		return AppServiceEnvironmentsUpdateWorkerPoolResponse{}, err
3225	}
3226	return result, nil
3227}
3228
3229// updateWorkerPoolHandleError handles the UpdateWorkerPool error response.
3230func (client *AppServiceEnvironmentsClient) updateWorkerPoolHandleError(resp *azcore.Response) error {
3231	body, err := resp.Payload()
3232	if err != nil {
3233		return azcore.NewResponseError(err, resp.Response)
3234	}
3235	errType := DefaultErrorResponse{raw: string(body)}
3236	if err := resp.UnmarshalAsJSON(&errType); err != nil {
3237		return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response)
3238	}
3239	return azcore.NewResponseError(&errType, resp.Response)
3240}
3241