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/autorest/validation" 14 "github.com/Azure/go-autorest/tracing" 15 "net/http" 16) 17 18// KubeEnvironmentsClient is the webSite Management Client 19type KubeEnvironmentsClient struct { 20 BaseClient 21} 22 23// NewKubeEnvironmentsClient creates an instance of the KubeEnvironmentsClient client. 24func NewKubeEnvironmentsClient(subscriptionID string) KubeEnvironmentsClient { 25 return NewKubeEnvironmentsClientWithBaseURI(DefaultBaseURI, subscriptionID) 26} 27 28// NewKubeEnvironmentsClientWithBaseURI creates an instance of the KubeEnvironmentsClient client using a custom 29// endpoint. Use this when interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure 30// stack). 31func NewKubeEnvironmentsClientWithBaseURI(baseURI string, subscriptionID string) KubeEnvironmentsClient { 32 return KubeEnvironmentsClient{NewWithBaseURI(baseURI, subscriptionID)} 33} 34 35// CreateOrUpdate description for Creates or updates a Kubernetes Environment. 36// Parameters: 37// resourceGroupName - name of the resource group to which the resource belongs. 38// name - name of the Kubernetes Environment. 39// kubeEnvironmentEnvelope - configuration details of the Kubernetes Environment. 40func (client KubeEnvironmentsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, name string, kubeEnvironmentEnvelope KubeEnvironment) (result KubeEnvironmentsCreateOrUpdateFuture, err error) { 41 if tracing.IsEnabled() { 42 ctx = tracing.StartSpan(ctx, fqdn+"/KubeEnvironmentsClient.CreateOrUpdate") 43 defer func() { 44 sc := -1 45 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 46 sc = result.FutureAPI.Response().StatusCode 47 } 48 tracing.EndSpan(ctx, sc, err) 49 }() 50 } 51 if err := validation.Validate([]validation.Validation{ 52 {TargetValue: resourceGroupName, 53 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, 54 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, 55 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { 56 return result, validation.NewError("web.KubeEnvironmentsClient", "CreateOrUpdate", err.Error()) 57 } 58 59 req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, name, kubeEnvironmentEnvelope) 60 if err != nil { 61 err = autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "CreateOrUpdate", nil, "Failure preparing request") 62 return 63 } 64 65 result, err = client.CreateOrUpdateSender(req) 66 if err != nil { 67 err = autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "CreateOrUpdate", nil, "Failure sending request") 68 return 69 } 70 71 return 72} 73 74// CreateOrUpdatePreparer prepares the CreateOrUpdate request. 75func (client KubeEnvironmentsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, name string, kubeEnvironmentEnvelope KubeEnvironment) (*http.Request, error) { 76 pathParameters := map[string]interface{}{ 77 "name": autorest.Encode("path", name), 78 "resourceGroupName": autorest.Encode("path", resourceGroupName), 79 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 80 } 81 82 const APIVersion = "2021-01-15" 83 queryParameters := map[string]interface{}{ 84 "api-version": APIVersion, 85 } 86 87 preparer := autorest.CreatePreparer( 88 autorest.AsContentType("application/json; charset=utf-8"), 89 autorest.AsPut(), 90 autorest.WithBaseURL(client.BaseURI), 91 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/kubeEnvironments/{name}", pathParameters), 92 autorest.WithJSON(kubeEnvironmentEnvelope), 93 autorest.WithQueryParameters(queryParameters)) 94 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 95} 96 97// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the 98// http.Response Body if it receives an error. 99func (client KubeEnvironmentsClient) CreateOrUpdateSender(req *http.Request) (future KubeEnvironmentsCreateOrUpdateFuture, err error) { 100 var resp *http.Response 101 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 102 if err != nil { 103 return 104 } 105 var azf azure.Future 106 azf, err = azure.NewFutureFromResponse(resp) 107 future.FutureAPI = &azf 108 future.Result = future.result 109 return 110} 111 112// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always 113// closes the http.Response Body. 114func (client KubeEnvironmentsClient) CreateOrUpdateResponder(resp *http.Response) (result KubeEnvironment, err error) { 115 err = autorest.Respond( 116 resp, 117 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), 118 autorest.ByUnmarshallingJSON(&result), 119 autorest.ByClosing()) 120 result.Response = autorest.Response{Response: resp} 121 return 122} 123 124// Delete description for Delete a Kubernetes Environment. 125// Parameters: 126// resourceGroupName - name of the resource group to which the resource belongs. 127// name - name of the Kubernetes Environment. 128func (client KubeEnvironmentsClient) Delete(ctx context.Context, resourceGroupName string, name string) (result KubeEnvironmentsDeleteFuture, err error) { 129 if tracing.IsEnabled() { 130 ctx = tracing.StartSpan(ctx, fqdn+"/KubeEnvironmentsClient.Delete") 131 defer func() { 132 sc := -1 133 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 134 sc = result.FutureAPI.Response().StatusCode 135 } 136 tracing.EndSpan(ctx, sc, err) 137 }() 138 } 139 if err := validation.Validate([]validation.Validation{ 140 {TargetValue: resourceGroupName, 141 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, 142 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, 143 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { 144 return result, validation.NewError("web.KubeEnvironmentsClient", "Delete", err.Error()) 145 } 146 147 req, err := client.DeletePreparer(ctx, resourceGroupName, name) 148 if err != nil { 149 err = autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "Delete", nil, "Failure preparing request") 150 return 151 } 152 153 result, err = client.DeleteSender(req) 154 if err != nil { 155 err = autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "Delete", nil, "Failure sending request") 156 return 157 } 158 159 return 160} 161 162// DeletePreparer prepares the Delete request. 163func (client KubeEnvironmentsClient) DeletePreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { 164 pathParameters := map[string]interface{}{ 165 "name": autorest.Encode("path", name), 166 "resourceGroupName": autorest.Encode("path", resourceGroupName), 167 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 168 } 169 170 const APIVersion = "2021-01-15" 171 queryParameters := map[string]interface{}{ 172 "api-version": APIVersion, 173 } 174 175 preparer := autorest.CreatePreparer( 176 autorest.AsDelete(), 177 autorest.WithBaseURL(client.BaseURI), 178 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/kubeEnvironments/{name}", pathParameters), 179 autorest.WithQueryParameters(queryParameters)) 180 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 181} 182 183// DeleteSender sends the Delete request. The method will close the 184// http.Response Body if it receives an error. 185func (client KubeEnvironmentsClient) DeleteSender(req *http.Request) (future KubeEnvironmentsDeleteFuture, err error) { 186 var resp *http.Response 187 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 188 if err != nil { 189 return 190 } 191 var azf azure.Future 192 azf, err = azure.NewFutureFromResponse(resp) 193 future.FutureAPI = &azf 194 future.Result = future.result 195 return 196} 197 198// DeleteResponder handles the response to the Delete request. The method always 199// closes the http.Response Body. 200func (client KubeEnvironmentsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { 201 err = autorest.Respond( 202 resp, 203 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), 204 autorest.ByClosing()) 205 result.Response = resp 206 return 207} 208 209// Get description for Get the properties of a Kubernetes Environment. 210// Parameters: 211// resourceGroupName - name of the resource group to which the resource belongs. 212// name - name of the Kubernetes Environment. 213func (client KubeEnvironmentsClient) Get(ctx context.Context, resourceGroupName string, name string) (result KubeEnvironment, err error) { 214 if tracing.IsEnabled() { 215 ctx = tracing.StartSpan(ctx, fqdn+"/KubeEnvironmentsClient.Get") 216 defer func() { 217 sc := -1 218 if result.Response.Response != nil { 219 sc = result.Response.Response.StatusCode 220 } 221 tracing.EndSpan(ctx, sc, err) 222 }() 223 } 224 if err := validation.Validate([]validation.Validation{ 225 {TargetValue: resourceGroupName, 226 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, 227 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, 228 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { 229 return result, validation.NewError("web.KubeEnvironmentsClient", "Get", err.Error()) 230 } 231 232 req, err := client.GetPreparer(ctx, resourceGroupName, name) 233 if err != nil { 234 err = autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "Get", nil, "Failure preparing request") 235 return 236 } 237 238 resp, err := client.GetSender(req) 239 if err != nil { 240 result.Response = autorest.Response{Response: resp} 241 err = autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "Get", resp, "Failure sending request") 242 return 243 } 244 245 result, err = client.GetResponder(resp) 246 if err != nil { 247 err = autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "Get", resp, "Failure responding to request") 248 return 249 } 250 251 return 252} 253 254// GetPreparer prepares the Get request. 255func (client KubeEnvironmentsClient) GetPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { 256 pathParameters := map[string]interface{}{ 257 "name": autorest.Encode("path", name), 258 "resourceGroupName": autorest.Encode("path", resourceGroupName), 259 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 260 } 261 262 const APIVersion = "2021-01-15" 263 queryParameters := map[string]interface{}{ 264 "api-version": APIVersion, 265 } 266 267 preparer := autorest.CreatePreparer( 268 autorest.AsGet(), 269 autorest.WithBaseURL(client.BaseURI), 270 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/kubeEnvironments/{name}", pathParameters), 271 autorest.WithQueryParameters(queryParameters)) 272 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 273} 274 275// GetSender sends the Get request. The method will close the 276// http.Response Body if it receives an error. 277func (client KubeEnvironmentsClient) GetSender(req *http.Request) (*http.Response, error) { 278 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 279} 280 281// GetResponder handles the response to the Get request. The method always 282// closes the http.Response Body. 283func (client KubeEnvironmentsClient) GetResponder(resp *http.Response) (result KubeEnvironment, err error) { 284 err = autorest.Respond( 285 resp, 286 azure.WithErrorUnlessStatusCode(http.StatusOK), 287 autorest.ByUnmarshallingJSON(&result), 288 autorest.ByClosing()) 289 result.Response = autorest.Response{Response: resp} 290 return 291} 292 293// ListByResourceGroup description for Get all the Kubernetes Environments in a resource group. 294// Parameters: 295// resourceGroupName - name of the resource group to which the resource belongs. 296func (client KubeEnvironmentsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result KubeEnvironmentCollectionPage, err error) { 297 if tracing.IsEnabled() { 298 ctx = tracing.StartSpan(ctx, fqdn+"/KubeEnvironmentsClient.ListByResourceGroup") 299 defer func() { 300 sc := -1 301 if result.kec.Response.Response != nil { 302 sc = result.kec.Response.Response.StatusCode 303 } 304 tracing.EndSpan(ctx, sc, err) 305 }() 306 } 307 if err := validation.Validate([]validation.Validation{ 308 {TargetValue: resourceGroupName, 309 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, 310 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, 311 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { 312 return result, validation.NewError("web.KubeEnvironmentsClient", "ListByResourceGroup", err.Error()) 313 } 314 315 result.fn = client.listByResourceGroupNextResults 316 req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) 317 if err != nil { 318 err = autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "ListByResourceGroup", nil, "Failure preparing request") 319 return 320 } 321 322 resp, err := client.ListByResourceGroupSender(req) 323 if err != nil { 324 result.kec.Response = autorest.Response{Response: resp} 325 err = autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "ListByResourceGroup", resp, "Failure sending request") 326 return 327 } 328 329 result.kec, err = client.ListByResourceGroupResponder(resp) 330 if err != nil { 331 err = autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "ListByResourceGroup", resp, "Failure responding to request") 332 return 333 } 334 if result.kec.hasNextLink() && result.kec.IsEmpty() { 335 err = result.NextWithContext(ctx) 336 return 337 } 338 339 return 340} 341 342// ListByResourceGroupPreparer prepares the ListByResourceGroup request. 343func (client KubeEnvironmentsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { 344 pathParameters := map[string]interface{}{ 345 "resourceGroupName": autorest.Encode("path", resourceGroupName), 346 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 347 } 348 349 const APIVersion = "2021-01-15" 350 queryParameters := map[string]interface{}{ 351 "api-version": APIVersion, 352 } 353 354 preparer := autorest.CreatePreparer( 355 autorest.AsGet(), 356 autorest.WithBaseURL(client.BaseURI), 357 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/kubeEnvironments", pathParameters), 358 autorest.WithQueryParameters(queryParameters)) 359 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 360} 361 362// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the 363// http.Response Body if it receives an error. 364func (client KubeEnvironmentsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { 365 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 366} 367 368// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always 369// closes the http.Response Body. 370func (client KubeEnvironmentsClient) ListByResourceGroupResponder(resp *http.Response) (result KubeEnvironmentCollection, err error) { 371 err = autorest.Respond( 372 resp, 373 azure.WithErrorUnlessStatusCode(http.StatusOK), 374 autorest.ByUnmarshallingJSON(&result), 375 autorest.ByClosing()) 376 result.Response = autorest.Response{Response: resp} 377 return 378} 379 380// listByResourceGroupNextResults retrieves the next set of results, if any. 381func (client KubeEnvironmentsClient) listByResourceGroupNextResults(ctx context.Context, lastResults KubeEnvironmentCollection) (result KubeEnvironmentCollection, err error) { 382 req, err := lastResults.kubeEnvironmentCollectionPreparer(ctx) 383 if err != nil { 384 return result, autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") 385 } 386 if req == nil { 387 return 388 } 389 resp, err := client.ListByResourceGroupSender(req) 390 if err != nil { 391 result.Response = autorest.Response{Response: resp} 392 return result, autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") 393 } 394 result, err = client.ListByResourceGroupResponder(resp) 395 if err != nil { 396 err = autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") 397 } 398 return 399} 400 401// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. 402func (client KubeEnvironmentsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result KubeEnvironmentCollectionIterator, err error) { 403 if tracing.IsEnabled() { 404 ctx = tracing.StartSpan(ctx, fqdn+"/KubeEnvironmentsClient.ListByResourceGroup") 405 defer func() { 406 sc := -1 407 if result.Response().Response.Response != nil { 408 sc = result.page.Response().Response.Response.StatusCode 409 } 410 tracing.EndSpan(ctx, sc, err) 411 }() 412 } 413 result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) 414 return 415} 416 417// ListBySubscription description for Get all Kubernetes Environments for a subscription. 418func (client KubeEnvironmentsClient) ListBySubscription(ctx context.Context) (result KubeEnvironmentCollectionPage, err error) { 419 if tracing.IsEnabled() { 420 ctx = tracing.StartSpan(ctx, fqdn+"/KubeEnvironmentsClient.ListBySubscription") 421 defer func() { 422 sc := -1 423 if result.kec.Response.Response != nil { 424 sc = result.kec.Response.Response.StatusCode 425 } 426 tracing.EndSpan(ctx, sc, err) 427 }() 428 } 429 result.fn = client.listBySubscriptionNextResults 430 req, err := client.ListBySubscriptionPreparer(ctx) 431 if err != nil { 432 err = autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "ListBySubscription", nil, "Failure preparing request") 433 return 434 } 435 436 resp, err := client.ListBySubscriptionSender(req) 437 if err != nil { 438 result.kec.Response = autorest.Response{Response: resp} 439 err = autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "ListBySubscription", resp, "Failure sending request") 440 return 441 } 442 443 result.kec, err = client.ListBySubscriptionResponder(resp) 444 if err != nil { 445 err = autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "ListBySubscription", resp, "Failure responding to request") 446 return 447 } 448 if result.kec.hasNextLink() && result.kec.IsEmpty() { 449 err = result.NextWithContext(ctx) 450 return 451 } 452 453 return 454} 455 456// ListBySubscriptionPreparer prepares the ListBySubscription request. 457func (client KubeEnvironmentsClient) ListBySubscriptionPreparer(ctx context.Context) (*http.Request, error) { 458 pathParameters := map[string]interface{}{ 459 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 460 } 461 462 const APIVersion = "2021-01-15" 463 queryParameters := map[string]interface{}{ 464 "api-version": APIVersion, 465 } 466 467 preparer := autorest.CreatePreparer( 468 autorest.AsGet(), 469 autorest.WithBaseURL(client.BaseURI), 470 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/kubeEnvironments", pathParameters), 471 autorest.WithQueryParameters(queryParameters)) 472 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 473} 474 475// ListBySubscriptionSender sends the ListBySubscription request. The method will close the 476// http.Response Body if it receives an error. 477func (client KubeEnvironmentsClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { 478 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 479} 480 481// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always 482// closes the http.Response Body. 483func (client KubeEnvironmentsClient) ListBySubscriptionResponder(resp *http.Response) (result KubeEnvironmentCollection, err error) { 484 err = autorest.Respond( 485 resp, 486 azure.WithErrorUnlessStatusCode(http.StatusOK), 487 autorest.ByUnmarshallingJSON(&result), 488 autorest.ByClosing()) 489 result.Response = autorest.Response{Response: resp} 490 return 491} 492 493// listBySubscriptionNextResults retrieves the next set of results, if any. 494func (client KubeEnvironmentsClient) listBySubscriptionNextResults(ctx context.Context, lastResults KubeEnvironmentCollection) (result KubeEnvironmentCollection, err error) { 495 req, err := lastResults.kubeEnvironmentCollectionPreparer(ctx) 496 if err != nil { 497 return result, autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "listBySubscriptionNextResults", nil, "Failure preparing next results request") 498 } 499 if req == nil { 500 return 501 } 502 resp, err := client.ListBySubscriptionSender(req) 503 if err != nil { 504 result.Response = autorest.Response{Response: resp} 505 return result, autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "listBySubscriptionNextResults", resp, "Failure sending next results request") 506 } 507 result, err = client.ListBySubscriptionResponder(resp) 508 if err != nil { 509 err = autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "listBySubscriptionNextResults", resp, "Failure responding to next results request") 510 } 511 return 512} 513 514// ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. 515func (client KubeEnvironmentsClient) ListBySubscriptionComplete(ctx context.Context) (result KubeEnvironmentCollectionIterator, err error) { 516 if tracing.IsEnabled() { 517 ctx = tracing.StartSpan(ctx, fqdn+"/KubeEnvironmentsClient.ListBySubscription") 518 defer func() { 519 sc := -1 520 if result.Response().Response.Response != nil { 521 sc = result.page.Response().Response.Response.StatusCode 522 } 523 tracing.EndSpan(ctx, sc, err) 524 }() 525 } 526 result.page, err = client.ListBySubscription(ctx) 527 return 528} 529 530// Update description for Creates or updates a Kubernetes Environment. 531// Parameters: 532// resourceGroupName - name of the resource group to which the resource belongs. 533// name - name of the Kubernetes Environment. 534// kubeEnvironmentEnvelope - configuration details of the Kubernetes Environment. 535func (client KubeEnvironmentsClient) Update(ctx context.Context, resourceGroupName string, name string, kubeEnvironmentEnvelope KubeEnvironmentPatchResource) (result KubeEnvironment, err error) { 536 if tracing.IsEnabled() { 537 ctx = tracing.StartSpan(ctx, fqdn+"/KubeEnvironmentsClient.Update") 538 defer func() { 539 sc := -1 540 if result.Response.Response != nil { 541 sc = result.Response.Response.StatusCode 542 } 543 tracing.EndSpan(ctx, sc, err) 544 }() 545 } 546 if err := validation.Validate([]validation.Validation{ 547 {TargetValue: resourceGroupName, 548 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, 549 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, 550 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { 551 return result, validation.NewError("web.KubeEnvironmentsClient", "Update", err.Error()) 552 } 553 554 req, err := client.UpdatePreparer(ctx, resourceGroupName, name, kubeEnvironmentEnvelope) 555 if err != nil { 556 err = autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "Update", nil, "Failure preparing request") 557 return 558 } 559 560 resp, err := client.UpdateSender(req) 561 if err != nil { 562 result.Response = autorest.Response{Response: resp} 563 err = autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "Update", resp, "Failure sending request") 564 return 565 } 566 567 result, err = client.UpdateResponder(resp) 568 if err != nil { 569 err = autorest.NewErrorWithError(err, "web.KubeEnvironmentsClient", "Update", resp, "Failure responding to request") 570 return 571 } 572 573 return 574} 575 576// UpdatePreparer prepares the Update request. 577func (client KubeEnvironmentsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, name string, kubeEnvironmentEnvelope KubeEnvironmentPatchResource) (*http.Request, error) { 578 pathParameters := map[string]interface{}{ 579 "name": autorest.Encode("path", name), 580 "resourceGroupName": autorest.Encode("path", resourceGroupName), 581 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 582 } 583 584 const APIVersion = "2021-01-15" 585 queryParameters := map[string]interface{}{ 586 "api-version": APIVersion, 587 } 588 589 preparer := autorest.CreatePreparer( 590 autorest.AsContentType("application/json; charset=utf-8"), 591 autorest.AsPatch(), 592 autorest.WithBaseURL(client.BaseURI), 593 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/kubeEnvironments/{name}", pathParameters), 594 autorest.WithJSON(kubeEnvironmentEnvelope), 595 autorest.WithQueryParameters(queryParameters)) 596 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 597} 598 599// UpdateSender sends the Update request. The method will close the 600// http.Response Body if it receives an error. 601func (client KubeEnvironmentsClient) UpdateSender(req *http.Request) (*http.Response, error) { 602 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 603} 604 605// UpdateResponder handles the response to the Update request. The method always 606// closes the http.Response Body. 607func (client KubeEnvironmentsClient) UpdateResponder(resp *http.Response) (result KubeEnvironment, err error) { 608 err = autorest.Respond( 609 resp, 610 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), 611 autorest.ByUnmarshallingJSON(&result), 612 autorest.ByClosing()) 613 result.Response = autorest.Response{Response: resp} 614 return 615} 616