1package network 2 3// Copyright (c) Microsoft and contributors. All rights reserved. 4// 5// Licensed under the Apache License, Version 2.0 (the "License"); 6// you may not use this file except in compliance with the License. 7// You may obtain a copy of the License at 8// http://www.apache.org/licenses/LICENSE-2.0 9// 10// Unless required by applicable law or agreed to in writing, software 11// distributed under the License is distributed on an "AS IS" BASIS, 12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13// 14// See the License for the specific language governing permissions and 15// limitations under the License. 16// 17// Code generated by Microsoft (R) AutoRest Code Generator. 18// Changes may cause incorrect behavior and will be lost if the code is regenerated. 19 20import ( 21 "context" 22 "github.com/Azure/go-autorest/autorest" 23 "github.com/Azure/go-autorest/autorest/azure" 24 "github.com/Azure/go-autorest/tracing" 25 "net/http" 26) 27 28// ServiceEndpointPoliciesClient is the network Client 29type ServiceEndpointPoliciesClient struct { 30 BaseClient 31} 32 33// NewServiceEndpointPoliciesClient creates an instance of the ServiceEndpointPoliciesClient client. 34func NewServiceEndpointPoliciesClient(subscriptionID string) ServiceEndpointPoliciesClient { 35 return NewServiceEndpointPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) 36} 37 38// NewServiceEndpointPoliciesClientWithBaseURI creates an instance of the ServiceEndpointPoliciesClient client using a 39// custom endpoint. Use this when interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, 40// Azure stack). 41func NewServiceEndpointPoliciesClientWithBaseURI(baseURI string, subscriptionID string) ServiceEndpointPoliciesClient { 42 return ServiceEndpointPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} 43} 44 45// CreateOrUpdate creates or updates a service Endpoint Policies. 46// Parameters: 47// resourceGroupName - the name of the resource group. 48// serviceEndpointPolicyName - the name of the service endpoint policy. 49// parameters - parameters supplied to the create or update service endpoint policy operation. 50func (client ServiceEndpointPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, parameters ServiceEndpointPolicy) (result ServiceEndpointPoliciesCreateOrUpdateFuture, err error) { 51 if tracing.IsEnabled() { 52 ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.CreateOrUpdate") 53 defer func() { 54 sc := -1 55 if result.Response() != nil { 56 sc = result.Response().StatusCode 57 } 58 tracing.EndSpan(ctx, sc, err) 59 }() 60 } 61 req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serviceEndpointPolicyName, parameters) 62 if err != nil { 63 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") 64 return 65 } 66 67 result, err = client.CreateOrUpdateSender(req) 68 if err != nil { 69 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "CreateOrUpdate", nil, "Failure sending request") 70 return 71 } 72 73 return 74} 75 76// CreateOrUpdatePreparer prepares the CreateOrUpdate request. 77func (client ServiceEndpointPoliciesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, parameters ServiceEndpointPolicy) (*http.Request, error) { 78 pathParameters := map[string]interface{}{ 79 "resourceGroupName": autorest.Encode("path", resourceGroupName), 80 "serviceEndpointPolicyName": autorest.Encode("path", serviceEndpointPolicyName), 81 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 82 } 83 84 const APIVersion = "2019-07-01" 85 queryParameters := map[string]interface{}{ 86 "api-version": APIVersion, 87 } 88 89 preparer := autorest.CreatePreparer( 90 autorest.AsContentType("application/json; charset=utf-8"), 91 autorest.AsPut(), 92 autorest.WithBaseURL(client.BaseURI), 93 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}", pathParameters), 94 autorest.WithJSON(parameters), 95 autorest.WithQueryParameters(queryParameters)) 96 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 97} 98 99// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the 100// http.Response Body if it receives an error. 101func (client ServiceEndpointPoliciesClient) CreateOrUpdateSender(req *http.Request) (future ServiceEndpointPoliciesCreateOrUpdateFuture, err error) { 102 var resp *http.Response 103 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 104 if err != nil { 105 return 106 } 107 var azf azure.Future 108 azf, err = azure.NewFutureFromResponse(resp) 109 future.FutureAPI = &azf 110 future.Result = func(client ServiceEndpointPoliciesClient) (sep ServiceEndpointPolicy, err error) { 111 var done bool 112 done, err = future.DoneWithContext(context.Background(), client) 113 if err != nil { 114 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 115 return 116 } 117 if !done { 118 err = azure.NewAsyncOpIncompleteError("network.ServiceEndpointPoliciesCreateOrUpdateFuture") 119 return 120 } 121 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 122 if sep.Response.Response, err = future.GetResult(sender); err == nil && sep.Response.Response.StatusCode != http.StatusNoContent { 123 sep, err = client.CreateOrUpdateResponder(sep.Response.Response) 124 if err != nil { 125 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesCreateOrUpdateFuture", "Result", sep.Response.Response, "Failure responding to request") 126 } 127 } 128 return 129 } 130 return 131} 132 133// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always 134// closes the http.Response Body. 135func (client ServiceEndpointPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result ServiceEndpointPolicy, err error) { 136 err = autorest.Respond( 137 resp, 138 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), 139 autorest.ByUnmarshallingJSON(&result), 140 autorest.ByClosing()) 141 result.Response = autorest.Response{Response: resp} 142 return 143} 144 145// Delete deletes the specified service endpoint policy. 146// Parameters: 147// resourceGroupName - the name of the resource group. 148// serviceEndpointPolicyName - the name of the service endpoint policy. 149func (client ServiceEndpointPoliciesClient) Delete(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string) (result ServiceEndpointPoliciesDeleteFuture, err error) { 150 if tracing.IsEnabled() { 151 ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.Delete") 152 defer func() { 153 sc := -1 154 if result.Response() != nil { 155 sc = result.Response().StatusCode 156 } 157 tracing.EndSpan(ctx, sc, err) 158 }() 159 } 160 req, err := client.DeletePreparer(ctx, resourceGroupName, serviceEndpointPolicyName) 161 if err != nil { 162 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "Delete", nil, "Failure preparing request") 163 return 164 } 165 166 result, err = client.DeleteSender(req) 167 if err != nil { 168 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "Delete", nil, "Failure sending request") 169 return 170 } 171 172 return 173} 174 175// DeletePreparer prepares the Delete request. 176func (client ServiceEndpointPoliciesClient) DeletePreparer(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string) (*http.Request, error) { 177 pathParameters := map[string]interface{}{ 178 "resourceGroupName": autorest.Encode("path", resourceGroupName), 179 "serviceEndpointPolicyName": autorest.Encode("path", serviceEndpointPolicyName), 180 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 181 } 182 183 const APIVersion = "2019-07-01" 184 queryParameters := map[string]interface{}{ 185 "api-version": APIVersion, 186 } 187 188 preparer := autorest.CreatePreparer( 189 autorest.AsDelete(), 190 autorest.WithBaseURL(client.BaseURI), 191 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}", pathParameters), 192 autorest.WithQueryParameters(queryParameters)) 193 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 194} 195 196// DeleteSender sends the Delete request. The method will close the 197// http.Response Body if it receives an error. 198func (client ServiceEndpointPoliciesClient) DeleteSender(req *http.Request) (future ServiceEndpointPoliciesDeleteFuture, err error) { 199 var resp *http.Response 200 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 201 if err != nil { 202 return 203 } 204 var azf azure.Future 205 azf, err = azure.NewFutureFromResponse(resp) 206 future.FutureAPI = &azf 207 future.Result = func(client ServiceEndpointPoliciesClient) (ar autorest.Response, err error) { 208 var done bool 209 done, err = future.DoneWithContext(context.Background(), client) 210 if err != nil { 211 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesDeleteFuture", "Result", future.Response(), "Polling failure") 212 return 213 } 214 if !done { 215 err = azure.NewAsyncOpIncompleteError("network.ServiceEndpointPoliciesDeleteFuture") 216 return 217 } 218 ar.Response = future.Response() 219 return 220 } 221 return 222} 223 224// DeleteResponder handles the response to the Delete request. The method always 225// closes the http.Response Body. 226func (client ServiceEndpointPoliciesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { 227 err = autorest.Respond( 228 resp, 229 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), 230 autorest.ByClosing()) 231 result.Response = resp 232 return 233} 234 235// Get gets the specified service Endpoint Policies in a specified resource group. 236// Parameters: 237// resourceGroupName - the name of the resource group. 238// serviceEndpointPolicyName - the name of the service endpoint policy. 239// expand - expands referenced resources. 240func (client ServiceEndpointPoliciesClient) Get(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, expand string) (result ServiceEndpointPolicy, err error) { 241 if tracing.IsEnabled() { 242 ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.Get") 243 defer func() { 244 sc := -1 245 if result.Response.Response != nil { 246 sc = result.Response.Response.StatusCode 247 } 248 tracing.EndSpan(ctx, sc, err) 249 }() 250 } 251 req, err := client.GetPreparer(ctx, resourceGroupName, serviceEndpointPolicyName, expand) 252 if err != nil { 253 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "Get", nil, "Failure preparing request") 254 return 255 } 256 257 resp, err := client.GetSender(req) 258 if err != nil { 259 result.Response = autorest.Response{Response: resp} 260 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "Get", resp, "Failure sending request") 261 return 262 } 263 264 result, err = client.GetResponder(resp) 265 if err != nil { 266 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "Get", resp, "Failure responding to request") 267 return 268 } 269 270 return 271} 272 273// GetPreparer prepares the Get request. 274func (client ServiceEndpointPoliciesClient) GetPreparer(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, expand string) (*http.Request, error) { 275 pathParameters := map[string]interface{}{ 276 "resourceGroupName": autorest.Encode("path", resourceGroupName), 277 "serviceEndpointPolicyName": autorest.Encode("path", serviceEndpointPolicyName), 278 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 279 } 280 281 const APIVersion = "2019-07-01" 282 queryParameters := map[string]interface{}{ 283 "api-version": APIVersion, 284 } 285 if len(expand) > 0 { 286 queryParameters["$expand"] = autorest.Encode("query", expand) 287 } 288 289 preparer := autorest.CreatePreparer( 290 autorest.AsGet(), 291 autorest.WithBaseURL(client.BaseURI), 292 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}", pathParameters), 293 autorest.WithQueryParameters(queryParameters)) 294 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 295} 296 297// GetSender sends the Get request. The method will close the 298// http.Response Body if it receives an error. 299func (client ServiceEndpointPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { 300 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 301} 302 303// GetResponder handles the response to the Get request. The method always 304// closes the http.Response Body. 305func (client ServiceEndpointPoliciesClient) GetResponder(resp *http.Response) (result ServiceEndpointPolicy, err error) { 306 err = autorest.Respond( 307 resp, 308 azure.WithErrorUnlessStatusCode(http.StatusOK), 309 autorest.ByUnmarshallingJSON(&result), 310 autorest.ByClosing()) 311 result.Response = autorest.Response{Response: resp} 312 return 313} 314 315// List gets all the service endpoint policies in a subscription. 316func (client ServiceEndpointPoliciesClient) List(ctx context.Context) (result ServiceEndpointPolicyListResultPage, err error) { 317 if tracing.IsEnabled() { 318 ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.List") 319 defer func() { 320 sc := -1 321 if result.seplr.Response.Response != nil { 322 sc = result.seplr.Response.Response.StatusCode 323 } 324 tracing.EndSpan(ctx, sc, err) 325 }() 326 } 327 result.fn = client.listNextResults 328 req, err := client.ListPreparer(ctx) 329 if err != nil { 330 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "List", nil, "Failure preparing request") 331 return 332 } 333 334 resp, err := client.ListSender(req) 335 if err != nil { 336 result.seplr.Response = autorest.Response{Response: resp} 337 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "List", resp, "Failure sending request") 338 return 339 } 340 341 result.seplr, err = client.ListResponder(resp) 342 if err != nil { 343 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "List", resp, "Failure responding to request") 344 return 345 } 346 if result.seplr.hasNextLink() && result.seplr.IsEmpty() { 347 err = result.NextWithContext(ctx) 348 return 349 } 350 351 return 352} 353 354// ListPreparer prepares the List request. 355func (client ServiceEndpointPoliciesClient) ListPreparer(ctx context.Context) (*http.Request, error) { 356 pathParameters := map[string]interface{}{ 357 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 358 } 359 360 const APIVersion = "2019-07-01" 361 queryParameters := map[string]interface{}{ 362 "api-version": APIVersion, 363 } 364 365 preparer := autorest.CreatePreparer( 366 autorest.AsGet(), 367 autorest.WithBaseURL(client.BaseURI), 368 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ServiceEndpointPolicies", pathParameters), 369 autorest.WithQueryParameters(queryParameters)) 370 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 371} 372 373// ListSender sends the List request. The method will close the 374// http.Response Body if it receives an error. 375func (client ServiceEndpointPoliciesClient) ListSender(req *http.Request) (*http.Response, error) { 376 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 377} 378 379// ListResponder handles the response to the List request. The method always 380// closes the http.Response Body. 381func (client ServiceEndpointPoliciesClient) ListResponder(resp *http.Response) (result ServiceEndpointPolicyListResult, err error) { 382 err = autorest.Respond( 383 resp, 384 azure.WithErrorUnlessStatusCode(http.StatusOK), 385 autorest.ByUnmarshallingJSON(&result), 386 autorest.ByClosing()) 387 result.Response = autorest.Response{Response: resp} 388 return 389} 390 391// listNextResults retrieves the next set of results, if any. 392func (client ServiceEndpointPoliciesClient) listNextResults(ctx context.Context, lastResults ServiceEndpointPolicyListResult) (result ServiceEndpointPolicyListResult, err error) { 393 req, err := lastResults.serviceEndpointPolicyListResultPreparer(ctx) 394 if err != nil { 395 return result, autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "listNextResults", nil, "Failure preparing next results request") 396 } 397 if req == nil { 398 return 399 } 400 resp, err := client.ListSender(req) 401 if err != nil { 402 result.Response = autorest.Response{Response: resp} 403 return result, autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "listNextResults", resp, "Failure sending next results request") 404 } 405 result, err = client.ListResponder(resp) 406 if err != nil { 407 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "listNextResults", resp, "Failure responding to next results request") 408 } 409 return 410} 411 412// ListComplete enumerates all values, automatically crossing page boundaries as required. 413func (client ServiceEndpointPoliciesClient) ListComplete(ctx context.Context) (result ServiceEndpointPolicyListResultIterator, err error) { 414 if tracing.IsEnabled() { 415 ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.List") 416 defer func() { 417 sc := -1 418 if result.Response().Response.Response != nil { 419 sc = result.page.Response().Response.Response.StatusCode 420 } 421 tracing.EndSpan(ctx, sc, err) 422 }() 423 } 424 result.page, err = client.List(ctx) 425 return 426} 427 428// ListByResourceGroup gets all service endpoint Policies in a resource group. 429// Parameters: 430// resourceGroupName - the name of the resource group. 431func (client ServiceEndpointPoliciesClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ServiceEndpointPolicyListResultPage, err error) { 432 if tracing.IsEnabled() { 433 ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.ListByResourceGroup") 434 defer func() { 435 sc := -1 436 if result.seplr.Response.Response != nil { 437 sc = result.seplr.Response.Response.StatusCode 438 } 439 tracing.EndSpan(ctx, sc, err) 440 }() 441 } 442 result.fn = client.listByResourceGroupNextResults 443 req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) 444 if err != nil { 445 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "ListByResourceGroup", nil, "Failure preparing request") 446 return 447 } 448 449 resp, err := client.ListByResourceGroupSender(req) 450 if err != nil { 451 result.seplr.Response = autorest.Response{Response: resp} 452 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "ListByResourceGroup", resp, "Failure sending request") 453 return 454 } 455 456 result.seplr, err = client.ListByResourceGroupResponder(resp) 457 if err != nil { 458 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "ListByResourceGroup", resp, "Failure responding to request") 459 return 460 } 461 if result.seplr.hasNextLink() && result.seplr.IsEmpty() { 462 err = result.NextWithContext(ctx) 463 return 464 } 465 466 return 467} 468 469// ListByResourceGroupPreparer prepares the ListByResourceGroup request. 470func (client ServiceEndpointPoliciesClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { 471 pathParameters := map[string]interface{}{ 472 "resourceGroupName": autorest.Encode("path", resourceGroupName), 473 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 474 } 475 476 const APIVersion = "2019-07-01" 477 queryParameters := map[string]interface{}{ 478 "api-version": APIVersion, 479 } 480 481 preparer := autorest.CreatePreparer( 482 autorest.AsGet(), 483 autorest.WithBaseURL(client.BaseURI), 484 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies", pathParameters), 485 autorest.WithQueryParameters(queryParameters)) 486 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 487} 488 489// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the 490// http.Response Body if it receives an error. 491func (client ServiceEndpointPoliciesClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { 492 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 493} 494 495// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always 496// closes the http.Response Body. 497func (client ServiceEndpointPoliciesClient) ListByResourceGroupResponder(resp *http.Response) (result ServiceEndpointPolicyListResult, err error) { 498 err = autorest.Respond( 499 resp, 500 azure.WithErrorUnlessStatusCode(http.StatusOK), 501 autorest.ByUnmarshallingJSON(&result), 502 autorest.ByClosing()) 503 result.Response = autorest.Response{Response: resp} 504 return 505} 506 507// listByResourceGroupNextResults retrieves the next set of results, if any. 508func (client ServiceEndpointPoliciesClient) listByResourceGroupNextResults(ctx context.Context, lastResults ServiceEndpointPolicyListResult) (result ServiceEndpointPolicyListResult, err error) { 509 req, err := lastResults.serviceEndpointPolicyListResultPreparer(ctx) 510 if err != nil { 511 return result, autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") 512 } 513 if req == nil { 514 return 515 } 516 resp, err := client.ListByResourceGroupSender(req) 517 if err != nil { 518 result.Response = autorest.Response{Response: resp} 519 return result, autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") 520 } 521 result, err = client.ListByResourceGroupResponder(resp) 522 if err != nil { 523 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") 524 } 525 return 526} 527 528// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. 529func (client ServiceEndpointPoliciesClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ServiceEndpointPolicyListResultIterator, err error) { 530 if tracing.IsEnabled() { 531 ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.ListByResourceGroup") 532 defer func() { 533 sc := -1 534 if result.Response().Response.Response != nil { 535 sc = result.page.Response().Response.Response.StatusCode 536 } 537 tracing.EndSpan(ctx, sc, err) 538 }() 539 } 540 result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) 541 return 542} 543 544// Update updates service Endpoint Policies. 545// Parameters: 546// resourceGroupName - the name of the resource group. 547// serviceEndpointPolicyName - the name of the service endpoint policy. 548// parameters - parameters supplied to update service endpoint policy tags. 549func (client ServiceEndpointPoliciesClient) Update(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, parameters TagsObject) (result ServiceEndpointPoliciesUpdateFuture, err error) { 550 if tracing.IsEnabled() { 551 ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.Update") 552 defer func() { 553 sc := -1 554 if result.Response() != nil { 555 sc = result.Response().StatusCode 556 } 557 tracing.EndSpan(ctx, sc, err) 558 }() 559 } 560 req, err := client.UpdatePreparer(ctx, resourceGroupName, serviceEndpointPolicyName, parameters) 561 if err != nil { 562 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "Update", nil, "Failure preparing request") 563 return 564 } 565 566 result, err = client.UpdateSender(req) 567 if err != nil { 568 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "Update", nil, "Failure sending request") 569 return 570 } 571 572 return 573} 574 575// UpdatePreparer prepares the Update request. 576func (client ServiceEndpointPoliciesClient) UpdatePreparer(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, parameters TagsObject) (*http.Request, error) { 577 pathParameters := map[string]interface{}{ 578 "resourceGroupName": autorest.Encode("path", resourceGroupName), 579 "serviceEndpointPolicyName": autorest.Encode("path", serviceEndpointPolicyName), 580 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 581 } 582 583 const APIVersion = "2019-07-01" 584 queryParameters := map[string]interface{}{ 585 "api-version": APIVersion, 586 } 587 588 preparer := autorest.CreatePreparer( 589 autorest.AsContentType("application/json; charset=utf-8"), 590 autorest.AsPatch(), 591 autorest.WithBaseURL(client.BaseURI), 592 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}", pathParameters), 593 autorest.WithJSON(parameters), 594 autorest.WithQueryParameters(queryParameters)) 595 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 596} 597 598// UpdateSender sends the Update request. The method will close the 599// http.Response Body if it receives an error. 600func (client ServiceEndpointPoliciesClient) UpdateSender(req *http.Request) (future ServiceEndpointPoliciesUpdateFuture, err error) { 601 var resp *http.Response 602 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 603 if err != nil { 604 return 605 } 606 var azf azure.Future 607 azf, err = azure.NewFutureFromResponse(resp) 608 future.FutureAPI = &azf 609 future.Result = func(client ServiceEndpointPoliciesClient) (sep ServiceEndpointPolicy, err error) { 610 var done bool 611 done, err = future.DoneWithContext(context.Background(), client) 612 if err != nil { 613 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesUpdateFuture", "Result", future.Response(), "Polling failure") 614 return 615 } 616 if !done { 617 err = azure.NewAsyncOpIncompleteError("network.ServiceEndpointPoliciesUpdateFuture") 618 return 619 } 620 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 621 if sep.Response.Response, err = future.GetResult(sender); err == nil && sep.Response.Response.StatusCode != http.StatusNoContent { 622 sep, err = client.UpdateResponder(sep.Response.Response) 623 if err != nil { 624 err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesUpdateFuture", "Result", sep.Response.Response, "Failure responding to request") 625 } 626 } 627 return 628 } 629 return 630} 631 632// UpdateResponder handles the response to the Update request. The method always 633// closes the http.Response Body. 634func (client ServiceEndpointPoliciesClient) UpdateResponder(resp *http.Response) (result ServiceEndpointPolicy, err error) { 635 err = autorest.Respond( 636 resp, 637 azure.WithErrorUnlessStatusCode(http.StatusOK), 638 autorest.ByUnmarshallingJSON(&result), 639 autorest.ByClosing()) 640 result.Response = autorest.Response{Response: resp} 641 return 642} 643