1package web 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// 6// Code generated by Microsoft (R) AutoRest Code Generator. 7// Changes may cause incorrect behavior and will be lost if the code is regenerated. 8 9import ( 10 "context" 11 "github.com/Azure/go-autorest/autorest" 12 "github.com/Azure/go-autorest/autorest/azure" 13 "github.com/Azure/go-autorest/tracing" 14 "net/http" 15) 16 17// ProviderClient is the webSite Management Client 18type ProviderClient struct { 19 BaseClient 20} 21 22// NewProviderClient creates an instance of the ProviderClient client. 23func NewProviderClient(subscriptionID string) ProviderClient { 24 return NewProviderClientWithBaseURI(DefaultBaseURI, subscriptionID) 25} 26 27// NewProviderClientWithBaseURI creates an instance of the ProviderClient client using a custom endpoint. Use this 28// when interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure stack). 29func NewProviderClientWithBaseURI(baseURI string, subscriptionID string) ProviderClient { 30 return ProviderClient{NewWithBaseURI(baseURI, subscriptionID)} 31} 32 33// GetAvailableStacks description for Get available application frameworks and their versions 34func (client ProviderClient) GetAvailableStacks(ctx context.Context, osTypeSelected string) (result ApplicationStackCollectionPage, err error) { 35 if tracing.IsEnabled() { 36 ctx = tracing.StartSpan(ctx, fqdn+"/ProviderClient.GetAvailableStacks") 37 defer func() { 38 sc := -1 39 if result.asc.Response.Response != nil { 40 sc = result.asc.Response.Response.StatusCode 41 } 42 tracing.EndSpan(ctx, sc, err) 43 }() 44 } 45 result.fn = client.getAvailableStacksNextResults 46 req, err := client.GetAvailableStacksPreparer(ctx, osTypeSelected) 47 if err != nil { 48 err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetAvailableStacks", nil, "Failure preparing request") 49 return 50 } 51 52 resp, err := client.GetAvailableStacksSender(req) 53 if err != nil { 54 result.asc.Response = autorest.Response{Response: resp} 55 err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetAvailableStacks", resp, "Failure sending request") 56 return 57 } 58 59 result.asc, err = client.GetAvailableStacksResponder(resp) 60 if err != nil { 61 err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetAvailableStacks", resp, "Failure responding to request") 62 return 63 } 64 if result.asc.hasNextLink() && result.asc.IsEmpty() { 65 err = result.NextWithContext(ctx) 66 return 67 } 68 69 return 70} 71 72// GetAvailableStacksPreparer prepares the GetAvailableStacks request. 73func (client ProviderClient) GetAvailableStacksPreparer(ctx context.Context, osTypeSelected string) (*http.Request, error) { 74 const APIVersion = "2021-01-15" 75 queryParameters := map[string]interface{}{ 76 "api-version": APIVersion, 77 } 78 if len(string(osTypeSelected)) > 0 { 79 queryParameters["osTypeSelected"] = autorest.Encode("query", osTypeSelected) 80 } 81 82 preparer := autorest.CreatePreparer( 83 autorest.AsGet(), 84 autorest.WithBaseURL(client.BaseURI), 85 autorest.WithPath("/providers/Microsoft.Web/availableStacks"), 86 autorest.WithQueryParameters(queryParameters)) 87 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 88} 89 90// GetAvailableStacksSender sends the GetAvailableStacks request. The method will close the 91// http.Response Body if it receives an error. 92func (client ProviderClient) GetAvailableStacksSender(req *http.Request) (*http.Response, error) { 93 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 94} 95 96// GetAvailableStacksResponder handles the response to the GetAvailableStacks request. The method always 97// closes the http.Response Body. 98func (client ProviderClient) GetAvailableStacksResponder(resp *http.Response) (result ApplicationStackCollection, err error) { 99 err = autorest.Respond( 100 resp, 101 azure.WithErrorUnlessStatusCode(http.StatusOK), 102 autorest.ByUnmarshallingJSON(&result), 103 autorest.ByClosing()) 104 result.Response = autorest.Response{Response: resp} 105 return 106} 107 108// getAvailableStacksNextResults retrieves the next set of results, if any. 109func (client ProviderClient) getAvailableStacksNextResults(ctx context.Context, lastResults ApplicationStackCollection) (result ApplicationStackCollection, err error) { 110 req, err := lastResults.applicationStackCollectionPreparer(ctx) 111 if err != nil { 112 return result, autorest.NewErrorWithError(err, "web.ProviderClient", "getAvailableStacksNextResults", nil, "Failure preparing next results request") 113 } 114 if req == nil { 115 return 116 } 117 resp, err := client.GetAvailableStacksSender(req) 118 if err != nil { 119 result.Response = autorest.Response{Response: resp} 120 return result, autorest.NewErrorWithError(err, "web.ProviderClient", "getAvailableStacksNextResults", resp, "Failure sending next results request") 121 } 122 result, err = client.GetAvailableStacksResponder(resp) 123 if err != nil { 124 err = autorest.NewErrorWithError(err, "web.ProviderClient", "getAvailableStacksNextResults", resp, "Failure responding to next results request") 125 } 126 return 127} 128 129// GetAvailableStacksComplete enumerates all values, automatically crossing page boundaries as required. 130func (client ProviderClient) GetAvailableStacksComplete(ctx context.Context, osTypeSelected string) (result ApplicationStackCollectionIterator, err error) { 131 if tracing.IsEnabled() { 132 ctx = tracing.StartSpan(ctx, fqdn+"/ProviderClient.GetAvailableStacks") 133 defer func() { 134 sc := -1 135 if result.Response().Response.Response != nil { 136 sc = result.page.Response().Response.Response.StatusCode 137 } 138 tracing.EndSpan(ctx, sc, err) 139 }() 140 } 141 result.page, err = client.GetAvailableStacks(ctx, osTypeSelected) 142 return 143} 144 145// GetAvailableStacksOnPrem description for Get available application frameworks and their versions 146func (client ProviderClient) GetAvailableStacksOnPrem(ctx context.Context, osTypeSelected string) (result ApplicationStackCollectionPage, err error) { 147 if tracing.IsEnabled() { 148 ctx = tracing.StartSpan(ctx, fqdn+"/ProviderClient.GetAvailableStacksOnPrem") 149 defer func() { 150 sc := -1 151 if result.asc.Response.Response != nil { 152 sc = result.asc.Response.Response.StatusCode 153 } 154 tracing.EndSpan(ctx, sc, err) 155 }() 156 } 157 result.fn = client.getAvailableStacksOnPremNextResults 158 req, err := client.GetAvailableStacksOnPremPreparer(ctx, osTypeSelected) 159 if err != nil { 160 err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetAvailableStacksOnPrem", nil, "Failure preparing request") 161 return 162 } 163 164 resp, err := client.GetAvailableStacksOnPremSender(req) 165 if err != nil { 166 result.asc.Response = autorest.Response{Response: resp} 167 err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetAvailableStacksOnPrem", resp, "Failure sending request") 168 return 169 } 170 171 result.asc, err = client.GetAvailableStacksOnPremResponder(resp) 172 if err != nil { 173 err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetAvailableStacksOnPrem", resp, "Failure responding to request") 174 return 175 } 176 if result.asc.hasNextLink() && result.asc.IsEmpty() { 177 err = result.NextWithContext(ctx) 178 return 179 } 180 181 return 182} 183 184// GetAvailableStacksOnPremPreparer prepares the GetAvailableStacksOnPrem request. 185func (client ProviderClient) GetAvailableStacksOnPremPreparer(ctx context.Context, osTypeSelected string) (*http.Request, error) { 186 pathParameters := map[string]interface{}{ 187 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 188 } 189 190 const APIVersion = "2021-01-15" 191 queryParameters := map[string]interface{}{ 192 "api-version": APIVersion, 193 } 194 if len(string(osTypeSelected)) > 0 { 195 queryParameters["osTypeSelected"] = autorest.Encode("query", osTypeSelected) 196 } 197 198 preparer := autorest.CreatePreparer( 199 autorest.AsGet(), 200 autorest.WithBaseURL(client.BaseURI), 201 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/availableStacks", pathParameters), 202 autorest.WithQueryParameters(queryParameters)) 203 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 204} 205 206// GetAvailableStacksOnPremSender sends the GetAvailableStacksOnPrem request. The method will close the 207// http.Response Body if it receives an error. 208func (client ProviderClient) GetAvailableStacksOnPremSender(req *http.Request) (*http.Response, error) { 209 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 210} 211 212// GetAvailableStacksOnPremResponder handles the response to the GetAvailableStacksOnPrem request. The method always 213// closes the http.Response Body. 214func (client ProviderClient) GetAvailableStacksOnPremResponder(resp *http.Response) (result ApplicationStackCollection, err error) { 215 err = autorest.Respond( 216 resp, 217 azure.WithErrorUnlessStatusCode(http.StatusOK), 218 autorest.ByUnmarshallingJSON(&result), 219 autorest.ByClosing()) 220 result.Response = autorest.Response{Response: resp} 221 return 222} 223 224// getAvailableStacksOnPremNextResults retrieves the next set of results, if any. 225func (client ProviderClient) getAvailableStacksOnPremNextResults(ctx context.Context, lastResults ApplicationStackCollection) (result ApplicationStackCollection, err error) { 226 req, err := lastResults.applicationStackCollectionPreparer(ctx) 227 if err != nil { 228 return result, autorest.NewErrorWithError(err, "web.ProviderClient", "getAvailableStacksOnPremNextResults", nil, "Failure preparing next results request") 229 } 230 if req == nil { 231 return 232 } 233 resp, err := client.GetAvailableStacksOnPremSender(req) 234 if err != nil { 235 result.Response = autorest.Response{Response: resp} 236 return result, autorest.NewErrorWithError(err, "web.ProviderClient", "getAvailableStacksOnPremNextResults", resp, "Failure sending next results request") 237 } 238 result, err = client.GetAvailableStacksOnPremResponder(resp) 239 if err != nil { 240 err = autorest.NewErrorWithError(err, "web.ProviderClient", "getAvailableStacksOnPremNextResults", resp, "Failure responding to next results request") 241 } 242 return 243} 244 245// GetAvailableStacksOnPremComplete enumerates all values, automatically crossing page boundaries as required. 246func (client ProviderClient) GetAvailableStacksOnPremComplete(ctx context.Context, osTypeSelected string) (result ApplicationStackCollectionIterator, err error) { 247 if tracing.IsEnabled() { 248 ctx = tracing.StartSpan(ctx, fqdn+"/ProviderClient.GetAvailableStacksOnPrem") 249 defer func() { 250 sc := -1 251 if result.Response().Response.Response != nil { 252 sc = result.page.Response().Response.Response.StatusCode 253 } 254 tracing.EndSpan(ctx, sc, err) 255 }() 256 } 257 result.page, err = client.GetAvailableStacksOnPrem(ctx, osTypeSelected) 258 return 259} 260 261// GetFunctionAppStacks description for Get available Function app frameworks and their versions 262// Parameters: 263// stackOsType - stack OS Type 264func (client ProviderClient) GetFunctionAppStacks(ctx context.Context, stackOsType string) (result FunctionAppStackCollectionPage, err error) { 265 if tracing.IsEnabled() { 266 ctx = tracing.StartSpan(ctx, fqdn+"/ProviderClient.GetFunctionAppStacks") 267 defer func() { 268 sc := -1 269 if result.fasc.Response.Response != nil { 270 sc = result.fasc.Response.Response.StatusCode 271 } 272 tracing.EndSpan(ctx, sc, err) 273 }() 274 } 275 result.fn = client.getFunctionAppStacksNextResults 276 req, err := client.GetFunctionAppStacksPreparer(ctx, stackOsType) 277 if err != nil { 278 err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetFunctionAppStacks", nil, "Failure preparing request") 279 return 280 } 281 282 resp, err := client.GetFunctionAppStacksSender(req) 283 if err != nil { 284 result.fasc.Response = autorest.Response{Response: resp} 285 err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetFunctionAppStacks", resp, "Failure sending request") 286 return 287 } 288 289 result.fasc, err = client.GetFunctionAppStacksResponder(resp) 290 if err != nil { 291 err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetFunctionAppStacks", resp, "Failure responding to request") 292 return 293 } 294 if result.fasc.hasNextLink() && result.fasc.IsEmpty() { 295 err = result.NextWithContext(ctx) 296 return 297 } 298 299 return 300} 301 302// GetFunctionAppStacksPreparer prepares the GetFunctionAppStacks request. 303func (client ProviderClient) GetFunctionAppStacksPreparer(ctx context.Context, stackOsType string) (*http.Request, error) { 304 const APIVersion = "2021-01-15" 305 queryParameters := map[string]interface{}{ 306 "api-version": APIVersion, 307 } 308 if len(string(stackOsType)) > 0 { 309 queryParameters["stackOsType"] = autorest.Encode("query", stackOsType) 310 } 311 312 preparer := autorest.CreatePreparer( 313 autorest.AsGet(), 314 autorest.WithBaseURL(client.BaseURI), 315 autorest.WithPath("/providers/Microsoft.Web/functionAppStacks"), 316 autorest.WithQueryParameters(queryParameters)) 317 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 318} 319 320// GetFunctionAppStacksSender sends the GetFunctionAppStacks request. The method will close the 321// http.Response Body if it receives an error. 322func (client ProviderClient) GetFunctionAppStacksSender(req *http.Request) (*http.Response, error) { 323 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 324} 325 326// GetFunctionAppStacksResponder handles the response to the GetFunctionAppStacks request. The method always 327// closes the http.Response Body. 328func (client ProviderClient) GetFunctionAppStacksResponder(resp *http.Response) (result FunctionAppStackCollection, err error) { 329 err = autorest.Respond( 330 resp, 331 azure.WithErrorUnlessStatusCode(http.StatusOK), 332 autorest.ByUnmarshallingJSON(&result), 333 autorest.ByClosing()) 334 result.Response = autorest.Response{Response: resp} 335 return 336} 337 338// getFunctionAppStacksNextResults retrieves the next set of results, if any. 339func (client ProviderClient) getFunctionAppStacksNextResults(ctx context.Context, lastResults FunctionAppStackCollection) (result FunctionAppStackCollection, err error) { 340 req, err := lastResults.functionAppStackCollectionPreparer(ctx) 341 if err != nil { 342 return result, autorest.NewErrorWithError(err, "web.ProviderClient", "getFunctionAppStacksNextResults", nil, "Failure preparing next results request") 343 } 344 if req == nil { 345 return 346 } 347 resp, err := client.GetFunctionAppStacksSender(req) 348 if err != nil { 349 result.Response = autorest.Response{Response: resp} 350 return result, autorest.NewErrorWithError(err, "web.ProviderClient", "getFunctionAppStacksNextResults", resp, "Failure sending next results request") 351 } 352 result, err = client.GetFunctionAppStacksResponder(resp) 353 if err != nil { 354 err = autorest.NewErrorWithError(err, "web.ProviderClient", "getFunctionAppStacksNextResults", resp, "Failure responding to next results request") 355 } 356 return 357} 358 359// GetFunctionAppStacksComplete enumerates all values, automatically crossing page boundaries as required. 360func (client ProviderClient) GetFunctionAppStacksComplete(ctx context.Context, stackOsType string) (result FunctionAppStackCollectionIterator, err error) { 361 if tracing.IsEnabled() { 362 ctx = tracing.StartSpan(ctx, fqdn+"/ProviderClient.GetFunctionAppStacks") 363 defer func() { 364 sc := -1 365 if result.Response().Response.Response != nil { 366 sc = result.page.Response().Response.Response.StatusCode 367 } 368 tracing.EndSpan(ctx, sc, err) 369 }() 370 } 371 result.page, err = client.GetFunctionAppStacks(ctx, stackOsType) 372 return 373} 374 375// GetFunctionAppStacksForLocation description for Get available Function app frameworks and their versions for 376// location 377// Parameters: 378// location - function App stack location. 379// stackOsType - stack OS Type 380func (client ProviderClient) GetFunctionAppStacksForLocation(ctx context.Context, location string, stackOsType string) (result FunctionAppStackCollectionPage, err error) { 381 if tracing.IsEnabled() { 382 ctx = tracing.StartSpan(ctx, fqdn+"/ProviderClient.GetFunctionAppStacksForLocation") 383 defer func() { 384 sc := -1 385 if result.fasc.Response.Response != nil { 386 sc = result.fasc.Response.Response.StatusCode 387 } 388 tracing.EndSpan(ctx, sc, err) 389 }() 390 } 391 result.fn = client.getFunctionAppStacksForLocationNextResults 392 req, err := client.GetFunctionAppStacksForLocationPreparer(ctx, location, stackOsType) 393 if err != nil { 394 err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetFunctionAppStacksForLocation", nil, "Failure preparing request") 395 return 396 } 397 398 resp, err := client.GetFunctionAppStacksForLocationSender(req) 399 if err != nil { 400 result.fasc.Response = autorest.Response{Response: resp} 401 err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetFunctionAppStacksForLocation", resp, "Failure sending request") 402 return 403 } 404 405 result.fasc, err = client.GetFunctionAppStacksForLocationResponder(resp) 406 if err != nil { 407 err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetFunctionAppStacksForLocation", resp, "Failure responding to request") 408 return 409 } 410 if result.fasc.hasNextLink() && result.fasc.IsEmpty() { 411 err = result.NextWithContext(ctx) 412 return 413 } 414 415 return 416} 417 418// GetFunctionAppStacksForLocationPreparer prepares the GetFunctionAppStacksForLocation request. 419func (client ProviderClient) GetFunctionAppStacksForLocationPreparer(ctx context.Context, location string, stackOsType string) (*http.Request, error) { 420 pathParameters := map[string]interface{}{ 421 "location": autorest.Encode("path", location), 422 } 423 424 const APIVersion = "2021-01-15" 425 queryParameters := map[string]interface{}{ 426 "api-version": APIVersion, 427 } 428 if len(string(stackOsType)) > 0 { 429 queryParameters["stackOsType"] = autorest.Encode("query", stackOsType) 430 } 431 432 preparer := autorest.CreatePreparer( 433 autorest.AsGet(), 434 autorest.WithBaseURL(client.BaseURI), 435 autorest.WithPathParameters("/providers/Microsoft.Web/locations/{location}/functionAppStacks", pathParameters), 436 autorest.WithQueryParameters(queryParameters)) 437 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 438} 439 440// GetFunctionAppStacksForLocationSender sends the GetFunctionAppStacksForLocation request. The method will close the 441// http.Response Body if it receives an error. 442func (client ProviderClient) GetFunctionAppStacksForLocationSender(req *http.Request) (*http.Response, error) { 443 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 444} 445 446// GetFunctionAppStacksForLocationResponder handles the response to the GetFunctionAppStacksForLocation request. The method always 447// closes the http.Response Body. 448func (client ProviderClient) GetFunctionAppStacksForLocationResponder(resp *http.Response) (result FunctionAppStackCollection, err error) { 449 err = autorest.Respond( 450 resp, 451 azure.WithErrorUnlessStatusCode(http.StatusOK), 452 autorest.ByUnmarshallingJSON(&result), 453 autorest.ByClosing()) 454 result.Response = autorest.Response{Response: resp} 455 return 456} 457 458// getFunctionAppStacksForLocationNextResults retrieves the next set of results, if any. 459func (client ProviderClient) getFunctionAppStacksForLocationNextResults(ctx context.Context, lastResults FunctionAppStackCollection) (result FunctionAppStackCollection, err error) { 460 req, err := lastResults.functionAppStackCollectionPreparer(ctx) 461 if err != nil { 462 return result, autorest.NewErrorWithError(err, "web.ProviderClient", "getFunctionAppStacksForLocationNextResults", nil, "Failure preparing next results request") 463 } 464 if req == nil { 465 return 466 } 467 resp, err := client.GetFunctionAppStacksForLocationSender(req) 468 if err != nil { 469 result.Response = autorest.Response{Response: resp} 470 return result, autorest.NewErrorWithError(err, "web.ProviderClient", "getFunctionAppStacksForLocationNextResults", resp, "Failure sending next results request") 471 } 472 result, err = client.GetFunctionAppStacksForLocationResponder(resp) 473 if err != nil { 474 err = autorest.NewErrorWithError(err, "web.ProviderClient", "getFunctionAppStacksForLocationNextResults", resp, "Failure responding to next results request") 475 } 476 return 477} 478 479// GetFunctionAppStacksForLocationComplete enumerates all values, automatically crossing page boundaries as required. 480func (client ProviderClient) GetFunctionAppStacksForLocationComplete(ctx context.Context, location string, stackOsType string) (result FunctionAppStackCollectionIterator, err error) { 481 if tracing.IsEnabled() { 482 ctx = tracing.StartSpan(ctx, fqdn+"/ProviderClient.GetFunctionAppStacksForLocation") 483 defer func() { 484 sc := -1 485 if result.Response().Response.Response != nil { 486 sc = result.page.Response().Response.Response.StatusCode 487 } 488 tracing.EndSpan(ctx, sc, err) 489 }() 490 } 491 result.page, err = client.GetFunctionAppStacksForLocation(ctx, location, stackOsType) 492 return 493} 494 495// GetWebAppStacks description for Get available Web app frameworks and their versions 496// Parameters: 497// stackOsType - stack OS Type 498func (client ProviderClient) GetWebAppStacks(ctx context.Context, stackOsType string) (result AppStackCollectionPage, err error) { 499 if tracing.IsEnabled() { 500 ctx = tracing.StartSpan(ctx, fqdn+"/ProviderClient.GetWebAppStacks") 501 defer func() { 502 sc := -1 503 if result.asc.Response.Response != nil { 504 sc = result.asc.Response.Response.StatusCode 505 } 506 tracing.EndSpan(ctx, sc, err) 507 }() 508 } 509 result.fn = client.getWebAppStacksNextResults 510 req, err := client.GetWebAppStacksPreparer(ctx, stackOsType) 511 if err != nil { 512 err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetWebAppStacks", nil, "Failure preparing request") 513 return 514 } 515 516 resp, err := client.GetWebAppStacksSender(req) 517 if err != nil { 518 result.asc.Response = autorest.Response{Response: resp} 519 err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetWebAppStacks", resp, "Failure sending request") 520 return 521 } 522 523 result.asc, err = client.GetWebAppStacksResponder(resp) 524 if err != nil { 525 err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetWebAppStacks", resp, "Failure responding to request") 526 return 527 } 528 if result.asc.hasNextLink() && result.asc.IsEmpty() { 529 err = result.NextWithContext(ctx) 530 return 531 } 532 533 return 534} 535 536// GetWebAppStacksPreparer prepares the GetWebAppStacks request. 537func (client ProviderClient) GetWebAppStacksPreparer(ctx context.Context, stackOsType string) (*http.Request, error) { 538 const APIVersion = "2021-01-15" 539 queryParameters := map[string]interface{}{ 540 "api-version": APIVersion, 541 } 542 if len(string(stackOsType)) > 0 { 543 queryParameters["stackOsType"] = autorest.Encode("query", stackOsType) 544 } 545 546 preparer := autorest.CreatePreparer( 547 autorest.AsGet(), 548 autorest.WithBaseURL(client.BaseURI), 549 autorest.WithPath("/providers/Microsoft.Web/webAppStacks"), 550 autorest.WithQueryParameters(queryParameters)) 551 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 552} 553 554// GetWebAppStacksSender sends the GetWebAppStacks request. The method will close the 555// http.Response Body if it receives an error. 556func (client ProviderClient) GetWebAppStacksSender(req *http.Request) (*http.Response, error) { 557 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 558} 559 560// GetWebAppStacksResponder handles the response to the GetWebAppStacks request. The method always 561// closes the http.Response Body. 562func (client ProviderClient) GetWebAppStacksResponder(resp *http.Response) (result AppStackCollection, err error) { 563 err = autorest.Respond( 564 resp, 565 azure.WithErrorUnlessStatusCode(http.StatusOK), 566 autorest.ByUnmarshallingJSON(&result), 567 autorest.ByClosing()) 568 result.Response = autorest.Response{Response: resp} 569 return 570} 571 572// getWebAppStacksNextResults retrieves the next set of results, if any. 573func (client ProviderClient) getWebAppStacksNextResults(ctx context.Context, lastResults AppStackCollection) (result AppStackCollection, err error) { 574 req, err := lastResults.appStackCollectionPreparer(ctx) 575 if err != nil { 576 return result, autorest.NewErrorWithError(err, "web.ProviderClient", "getWebAppStacksNextResults", nil, "Failure preparing next results request") 577 } 578 if req == nil { 579 return 580 } 581 resp, err := client.GetWebAppStacksSender(req) 582 if err != nil { 583 result.Response = autorest.Response{Response: resp} 584 return result, autorest.NewErrorWithError(err, "web.ProviderClient", "getWebAppStacksNextResults", resp, "Failure sending next results request") 585 } 586 result, err = client.GetWebAppStacksResponder(resp) 587 if err != nil { 588 err = autorest.NewErrorWithError(err, "web.ProviderClient", "getWebAppStacksNextResults", resp, "Failure responding to next results request") 589 } 590 return 591} 592 593// GetWebAppStacksComplete enumerates all values, automatically crossing page boundaries as required. 594func (client ProviderClient) GetWebAppStacksComplete(ctx context.Context, stackOsType string) (result AppStackCollectionIterator, err error) { 595 if tracing.IsEnabled() { 596 ctx = tracing.StartSpan(ctx, fqdn+"/ProviderClient.GetWebAppStacks") 597 defer func() { 598 sc := -1 599 if result.Response().Response.Response != nil { 600 sc = result.page.Response().Response.Response.StatusCode 601 } 602 tracing.EndSpan(ctx, sc, err) 603 }() 604 } 605 result.page, err = client.GetWebAppStacks(ctx, stackOsType) 606 return 607} 608 609// GetWebAppStacksForLocation description for Get available Web app frameworks and their versions for location 610// Parameters: 611// location - web App stack location. 612// stackOsType - stack OS Type 613func (client ProviderClient) GetWebAppStacksForLocation(ctx context.Context, location string, stackOsType string) (result AppStackCollectionPage, err error) { 614 if tracing.IsEnabled() { 615 ctx = tracing.StartSpan(ctx, fqdn+"/ProviderClient.GetWebAppStacksForLocation") 616 defer func() { 617 sc := -1 618 if result.asc.Response.Response != nil { 619 sc = result.asc.Response.Response.StatusCode 620 } 621 tracing.EndSpan(ctx, sc, err) 622 }() 623 } 624 result.fn = client.getWebAppStacksForLocationNextResults 625 req, err := client.GetWebAppStacksForLocationPreparer(ctx, location, stackOsType) 626 if err != nil { 627 err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetWebAppStacksForLocation", nil, "Failure preparing request") 628 return 629 } 630 631 resp, err := client.GetWebAppStacksForLocationSender(req) 632 if err != nil { 633 result.asc.Response = autorest.Response{Response: resp} 634 err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetWebAppStacksForLocation", resp, "Failure sending request") 635 return 636 } 637 638 result.asc, err = client.GetWebAppStacksForLocationResponder(resp) 639 if err != nil { 640 err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetWebAppStacksForLocation", resp, "Failure responding to request") 641 return 642 } 643 if result.asc.hasNextLink() && result.asc.IsEmpty() { 644 err = result.NextWithContext(ctx) 645 return 646 } 647 648 return 649} 650 651// GetWebAppStacksForLocationPreparer prepares the GetWebAppStacksForLocation request. 652func (client ProviderClient) GetWebAppStacksForLocationPreparer(ctx context.Context, location string, stackOsType string) (*http.Request, error) { 653 pathParameters := map[string]interface{}{ 654 "location": autorest.Encode("path", location), 655 } 656 657 const APIVersion = "2021-01-15" 658 queryParameters := map[string]interface{}{ 659 "api-version": APIVersion, 660 } 661 if len(string(stackOsType)) > 0 { 662 queryParameters["stackOsType"] = autorest.Encode("query", stackOsType) 663 } 664 665 preparer := autorest.CreatePreparer( 666 autorest.AsGet(), 667 autorest.WithBaseURL(client.BaseURI), 668 autorest.WithPathParameters("/providers/Microsoft.Web/locations/{location}/webAppStacks", pathParameters), 669 autorest.WithQueryParameters(queryParameters)) 670 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 671} 672 673// GetWebAppStacksForLocationSender sends the GetWebAppStacksForLocation request. The method will close the 674// http.Response Body if it receives an error. 675func (client ProviderClient) GetWebAppStacksForLocationSender(req *http.Request) (*http.Response, error) { 676 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 677} 678 679// GetWebAppStacksForLocationResponder handles the response to the GetWebAppStacksForLocation request. The method always 680// closes the http.Response Body. 681func (client ProviderClient) GetWebAppStacksForLocationResponder(resp *http.Response) (result AppStackCollection, err error) { 682 err = autorest.Respond( 683 resp, 684 azure.WithErrorUnlessStatusCode(http.StatusOK), 685 autorest.ByUnmarshallingJSON(&result), 686 autorest.ByClosing()) 687 result.Response = autorest.Response{Response: resp} 688 return 689} 690 691// getWebAppStacksForLocationNextResults retrieves the next set of results, if any. 692func (client ProviderClient) getWebAppStacksForLocationNextResults(ctx context.Context, lastResults AppStackCollection) (result AppStackCollection, err error) { 693 req, err := lastResults.appStackCollectionPreparer(ctx) 694 if err != nil { 695 return result, autorest.NewErrorWithError(err, "web.ProviderClient", "getWebAppStacksForLocationNextResults", nil, "Failure preparing next results request") 696 } 697 if req == nil { 698 return 699 } 700 resp, err := client.GetWebAppStacksForLocationSender(req) 701 if err != nil { 702 result.Response = autorest.Response{Response: resp} 703 return result, autorest.NewErrorWithError(err, "web.ProviderClient", "getWebAppStacksForLocationNextResults", resp, "Failure sending next results request") 704 } 705 result, err = client.GetWebAppStacksForLocationResponder(resp) 706 if err != nil { 707 err = autorest.NewErrorWithError(err, "web.ProviderClient", "getWebAppStacksForLocationNextResults", resp, "Failure responding to next results request") 708 } 709 return 710} 711 712// GetWebAppStacksForLocationComplete enumerates all values, automatically crossing page boundaries as required. 713func (client ProviderClient) GetWebAppStacksForLocationComplete(ctx context.Context, location string, stackOsType string) (result AppStackCollectionIterator, err error) { 714 if tracing.IsEnabled() { 715 ctx = tracing.StartSpan(ctx, fqdn+"/ProviderClient.GetWebAppStacksForLocation") 716 defer func() { 717 sc := -1 718 if result.Response().Response.Response != nil { 719 sc = result.page.Response().Response.Response.StatusCode 720 } 721 tracing.EndSpan(ctx, sc, err) 722 }() 723 } 724 result.page, err = client.GetWebAppStacksForLocation(ctx, location, stackOsType) 725 return 726} 727 728// ListOperations description for Gets all available operations for the Microsoft.Web resource provider. Also exposes 729// resource metric definitions 730func (client ProviderClient) ListOperations(ctx context.Context) (result CsmOperationCollectionPage, err error) { 731 if tracing.IsEnabled() { 732 ctx = tracing.StartSpan(ctx, fqdn+"/ProviderClient.ListOperations") 733 defer func() { 734 sc := -1 735 if result.coc.Response.Response != nil { 736 sc = result.coc.Response.Response.StatusCode 737 } 738 tracing.EndSpan(ctx, sc, err) 739 }() 740 } 741 result.fn = client.listOperationsNextResults 742 req, err := client.ListOperationsPreparer(ctx) 743 if err != nil { 744 err = autorest.NewErrorWithError(err, "web.ProviderClient", "ListOperations", nil, "Failure preparing request") 745 return 746 } 747 748 resp, err := client.ListOperationsSender(req) 749 if err != nil { 750 result.coc.Response = autorest.Response{Response: resp} 751 err = autorest.NewErrorWithError(err, "web.ProviderClient", "ListOperations", resp, "Failure sending request") 752 return 753 } 754 755 result.coc, err = client.ListOperationsResponder(resp) 756 if err != nil { 757 err = autorest.NewErrorWithError(err, "web.ProviderClient", "ListOperations", resp, "Failure responding to request") 758 return 759 } 760 if result.coc.hasNextLink() && result.coc.IsEmpty() { 761 err = result.NextWithContext(ctx) 762 return 763 } 764 765 return 766} 767 768// ListOperationsPreparer prepares the ListOperations request. 769func (client ProviderClient) ListOperationsPreparer(ctx context.Context) (*http.Request, error) { 770 const APIVersion = "2021-01-15" 771 queryParameters := map[string]interface{}{ 772 "api-version": APIVersion, 773 } 774 775 preparer := autorest.CreatePreparer( 776 autorest.AsGet(), 777 autorest.WithBaseURL(client.BaseURI), 778 autorest.WithPath("/providers/Microsoft.Web/operations"), 779 autorest.WithQueryParameters(queryParameters)) 780 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 781} 782 783// ListOperationsSender sends the ListOperations request. The method will close the 784// http.Response Body if it receives an error. 785func (client ProviderClient) ListOperationsSender(req *http.Request) (*http.Response, error) { 786 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 787} 788 789// ListOperationsResponder handles the response to the ListOperations request. The method always 790// closes the http.Response Body. 791func (client ProviderClient) ListOperationsResponder(resp *http.Response) (result CsmOperationCollection, err error) { 792 err = autorest.Respond( 793 resp, 794 azure.WithErrorUnlessStatusCode(http.StatusOK), 795 autorest.ByUnmarshallingJSON(&result), 796 autorest.ByClosing()) 797 result.Response = autorest.Response{Response: resp} 798 return 799} 800 801// listOperationsNextResults retrieves the next set of results, if any. 802func (client ProviderClient) listOperationsNextResults(ctx context.Context, lastResults CsmOperationCollection) (result CsmOperationCollection, err error) { 803 req, err := lastResults.csmOperationCollectionPreparer(ctx) 804 if err != nil { 805 return result, autorest.NewErrorWithError(err, "web.ProviderClient", "listOperationsNextResults", nil, "Failure preparing next results request") 806 } 807 if req == nil { 808 return 809 } 810 resp, err := client.ListOperationsSender(req) 811 if err != nil { 812 result.Response = autorest.Response{Response: resp} 813 return result, autorest.NewErrorWithError(err, "web.ProviderClient", "listOperationsNextResults", resp, "Failure sending next results request") 814 } 815 result, err = client.ListOperationsResponder(resp) 816 if err != nil { 817 err = autorest.NewErrorWithError(err, "web.ProviderClient", "listOperationsNextResults", resp, "Failure responding to next results request") 818 } 819 return 820} 821 822// ListOperationsComplete enumerates all values, automatically crossing page boundaries as required. 823func (client ProviderClient) ListOperationsComplete(ctx context.Context) (result CsmOperationCollectionIterator, err error) { 824 if tracing.IsEnabled() { 825 ctx = tracing.StartSpan(ctx, fqdn+"/ProviderClient.ListOperations") 826 defer func() { 827 sc := -1 828 if result.Response().Response.Response != nil { 829 sc = result.page.Response().Response.Response.StatusCode 830 } 831 tracing.EndSpan(ctx, sc, err) 832 }() 833 } 834 result.page, err = client.ListOperations(ctx) 835 return 836} 837