1package network 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// InterfaceTapConfigurationsClient is the network Client 19type InterfaceTapConfigurationsClient struct { 20 BaseClient 21} 22 23// NewInterfaceTapConfigurationsClient creates an instance of the InterfaceTapConfigurationsClient client. 24func NewInterfaceTapConfigurationsClient(subscriptionID string) InterfaceTapConfigurationsClient { 25 return NewInterfaceTapConfigurationsClientWithBaseURI(DefaultBaseURI, subscriptionID) 26} 27 28// NewInterfaceTapConfigurationsClientWithBaseURI creates an instance of the InterfaceTapConfigurationsClient client 29// using a custom endpoint. Use this when interacting with an Azure cloud that uses a non-standard base URI (sovereign 30// clouds, Azure stack). 31func NewInterfaceTapConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) InterfaceTapConfigurationsClient { 32 return InterfaceTapConfigurationsClient{NewWithBaseURI(baseURI, subscriptionID)} 33} 34 35// CreateOrUpdate creates or updates a Tap configuration in the specified NetworkInterface. 36// Parameters: 37// resourceGroupName - the name of the resource group. 38// networkInterfaceName - the name of the network interface. 39// tapConfigurationName - the name of the tap configuration. 40// tapConfigurationParameters - parameters supplied to the create or update tap configuration operation. 41func (client InterfaceTapConfigurationsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string, tapConfigurationParameters InterfaceTapConfiguration) (result InterfaceTapConfigurationsCreateOrUpdateFuture, err error) { 42 if tracing.IsEnabled() { 43 ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceTapConfigurationsClient.CreateOrUpdate") 44 defer func() { 45 sc := -1 46 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 47 sc = result.FutureAPI.Response().StatusCode 48 } 49 tracing.EndSpan(ctx, sc, err) 50 }() 51 } 52 if err := validation.Validate([]validation.Validation{ 53 {TargetValue: tapConfigurationParameters, 54 Constraints: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat", Name: validation.Null, Rule: false, 55 Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap", Name: validation.Null, Rule: false, 56 Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat", Name: validation.Null, Rule: false, 57 Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration", Name: validation.Null, Rule: false, 58 Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, 59 Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, 60 Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat", Name: validation.Null, Rule: false, 61 Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration", Name: validation.Null, Rule: false, 62 Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, 63 Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, Chain: nil}}}, 64 }}, 65 }}, 66 }}, 67 }}, 68 }}, 69 {Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration", Name: validation.Null, Rule: false, 70 Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, 71 Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, 72 Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat", Name: validation.Null, Rule: false, 73 Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration", Name: validation.Null, Rule: false, 74 Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, 75 Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, Chain: nil}}}, 76 }}, 77 }}, 78 }}, 79 }}, 80 }}, 81 }}, 82 }}, 83 }}}}}); err != nil { 84 return result, validation.NewError("network.InterfaceTapConfigurationsClient", "CreateOrUpdate", err.Error()) 85 } 86 87 req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, networkInterfaceName, tapConfigurationName, tapConfigurationParameters) 88 if err != nil { 89 err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "CreateOrUpdate", nil, "Failure preparing request") 90 return 91 } 92 93 result, err = client.CreateOrUpdateSender(req) 94 if err != nil { 95 err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "CreateOrUpdate", nil, "Failure sending request") 96 return 97 } 98 99 return 100} 101 102// CreateOrUpdatePreparer prepares the CreateOrUpdate request. 103func (client InterfaceTapConfigurationsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string, tapConfigurationParameters InterfaceTapConfiguration) (*http.Request, error) { 104 pathParameters := map[string]interface{}{ 105 "networkInterfaceName": autorest.Encode("path", networkInterfaceName), 106 "resourceGroupName": autorest.Encode("path", resourceGroupName), 107 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 108 "tapConfigurationName": autorest.Encode("path", tapConfigurationName), 109 } 110 111 const APIVersion = "2018-08-01" 112 queryParameters := map[string]interface{}{ 113 "api-version": APIVersion, 114 } 115 116 tapConfigurationParameters.Type = nil 117 preparer := autorest.CreatePreparer( 118 autorest.AsContentType("application/json; charset=utf-8"), 119 autorest.AsPut(), 120 autorest.WithBaseURL(client.BaseURI), 121 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}", pathParameters), 122 autorest.WithJSON(tapConfigurationParameters), 123 autorest.WithQueryParameters(queryParameters)) 124 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 125} 126 127// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the 128// http.Response Body if it receives an error. 129func (client InterfaceTapConfigurationsClient) CreateOrUpdateSender(req *http.Request) (future InterfaceTapConfigurationsCreateOrUpdateFuture, err error) { 130 var resp *http.Response 131 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 132 if err != nil { 133 return 134 } 135 var azf azure.Future 136 azf, err = azure.NewFutureFromResponse(resp) 137 future.FutureAPI = &azf 138 future.Result = future.result 139 return 140} 141 142// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always 143// closes the http.Response Body. 144func (client InterfaceTapConfigurationsClient) CreateOrUpdateResponder(resp *http.Response) (result InterfaceTapConfiguration, err error) { 145 err = autorest.Respond( 146 resp, 147 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), 148 autorest.ByUnmarshallingJSON(&result), 149 autorest.ByClosing()) 150 result.Response = autorest.Response{Response: resp} 151 return 152} 153 154// Delete deletes the specified tap configuration from the NetworkInterface. 155// Parameters: 156// resourceGroupName - the name of the resource group. 157// networkInterfaceName - the name of the network interface. 158// tapConfigurationName - the name of the tap configuration. 159func (client InterfaceTapConfigurationsClient) Delete(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string) (result InterfaceTapConfigurationsDeleteFuture, err error) { 160 if tracing.IsEnabled() { 161 ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceTapConfigurationsClient.Delete") 162 defer func() { 163 sc := -1 164 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 165 sc = result.FutureAPI.Response().StatusCode 166 } 167 tracing.EndSpan(ctx, sc, err) 168 }() 169 } 170 req, err := client.DeletePreparer(ctx, resourceGroupName, networkInterfaceName, tapConfigurationName) 171 if err != nil { 172 err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "Delete", nil, "Failure preparing request") 173 return 174 } 175 176 result, err = client.DeleteSender(req) 177 if err != nil { 178 err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "Delete", nil, "Failure sending request") 179 return 180 } 181 182 return 183} 184 185// DeletePreparer prepares the Delete request. 186func (client InterfaceTapConfigurationsClient) DeletePreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string) (*http.Request, error) { 187 pathParameters := map[string]interface{}{ 188 "networkInterfaceName": autorest.Encode("path", networkInterfaceName), 189 "resourceGroupName": autorest.Encode("path", resourceGroupName), 190 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 191 "tapConfigurationName": autorest.Encode("path", tapConfigurationName), 192 } 193 194 const APIVersion = "2018-08-01" 195 queryParameters := map[string]interface{}{ 196 "api-version": APIVersion, 197 } 198 199 preparer := autorest.CreatePreparer( 200 autorest.AsDelete(), 201 autorest.WithBaseURL(client.BaseURI), 202 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}", pathParameters), 203 autorest.WithQueryParameters(queryParameters)) 204 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 205} 206 207// DeleteSender sends the Delete request. The method will close the 208// http.Response Body if it receives an error. 209func (client InterfaceTapConfigurationsClient) DeleteSender(req *http.Request) (future InterfaceTapConfigurationsDeleteFuture, err error) { 210 var resp *http.Response 211 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 212 if err != nil { 213 return 214 } 215 var azf azure.Future 216 azf, err = azure.NewFutureFromResponse(resp) 217 future.FutureAPI = &azf 218 future.Result = future.result 219 return 220} 221 222// DeleteResponder handles the response to the Delete request. The method always 223// closes the http.Response Body. 224func (client InterfaceTapConfigurationsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { 225 err = autorest.Respond( 226 resp, 227 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), 228 autorest.ByClosing()) 229 result.Response = resp 230 return 231} 232 233// Get get the specified tap configuration on a network interface. 234// Parameters: 235// resourceGroupName - the name of the resource group. 236// networkInterfaceName - the name of the network interface. 237// tapConfigurationName - the name of the tap configuration. 238func (client InterfaceTapConfigurationsClient) Get(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string) (result InterfaceTapConfiguration, err error) { 239 if tracing.IsEnabled() { 240 ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceTapConfigurationsClient.Get") 241 defer func() { 242 sc := -1 243 if result.Response.Response != nil { 244 sc = result.Response.Response.StatusCode 245 } 246 tracing.EndSpan(ctx, sc, err) 247 }() 248 } 249 req, err := client.GetPreparer(ctx, resourceGroupName, networkInterfaceName, tapConfigurationName) 250 if err != nil { 251 err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "Get", nil, "Failure preparing request") 252 return 253 } 254 255 resp, err := client.GetSender(req) 256 if err != nil { 257 result.Response = autorest.Response{Response: resp} 258 err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "Get", resp, "Failure sending request") 259 return 260 } 261 262 result, err = client.GetResponder(resp) 263 if err != nil { 264 err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "Get", resp, "Failure responding to request") 265 return 266 } 267 268 return 269} 270 271// GetPreparer prepares the Get request. 272func (client InterfaceTapConfigurationsClient) GetPreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string) (*http.Request, error) { 273 pathParameters := map[string]interface{}{ 274 "networkInterfaceName": autorest.Encode("path", networkInterfaceName), 275 "resourceGroupName": autorest.Encode("path", resourceGroupName), 276 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 277 "tapConfigurationName": autorest.Encode("path", tapConfigurationName), 278 } 279 280 const APIVersion = "2018-08-01" 281 queryParameters := map[string]interface{}{ 282 "api-version": APIVersion, 283 } 284 285 preparer := autorest.CreatePreparer( 286 autorest.AsGet(), 287 autorest.WithBaseURL(client.BaseURI), 288 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}", pathParameters), 289 autorest.WithQueryParameters(queryParameters)) 290 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 291} 292 293// GetSender sends the Get request. The method will close the 294// http.Response Body if it receives an error. 295func (client InterfaceTapConfigurationsClient) GetSender(req *http.Request) (*http.Response, error) { 296 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 297} 298 299// GetResponder handles the response to the Get request. The method always 300// closes the http.Response Body. 301func (client InterfaceTapConfigurationsClient) GetResponder(resp *http.Response) (result InterfaceTapConfiguration, err error) { 302 err = autorest.Respond( 303 resp, 304 azure.WithErrorUnlessStatusCode(http.StatusOK), 305 autorest.ByUnmarshallingJSON(&result), 306 autorest.ByClosing()) 307 result.Response = autorest.Response{Response: resp} 308 return 309} 310 311// List get all Tap configurations in a network interface 312// Parameters: 313// resourceGroupName - the name of the resource group. 314// networkInterfaceName - the name of the network interface. 315func (client InterfaceTapConfigurationsClient) List(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result InterfaceTapConfigurationListResultPage, err error) { 316 if tracing.IsEnabled() { 317 ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceTapConfigurationsClient.List") 318 defer func() { 319 sc := -1 320 if result.itclr.Response.Response != nil { 321 sc = result.itclr.Response.Response.StatusCode 322 } 323 tracing.EndSpan(ctx, sc, err) 324 }() 325 } 326 result.fn = client.listNextResults 327 req, err := client.ListPreparer(ctx, resourceGroupName, networkInterfaceName) 328 if err != nil { 329 err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "List", nil, "Failure preparing request") 330 return 331 } 332 333 resp, err := client.ListSender(req) 334 if err != nil { 335 result.itclr.Response = autorest.Response{Response: resp} 336 err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "List", resp, "Failure sending request") 337 return 338 } 339 340 result.itclr, err = client.ListResponder(resp) 341 if err != nil { 342 err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "List", resp, "Failure responding to request") 343 return 344 } 345 if result.itclr.hasNextLink() && result.itclr.IsEmpty() { 346 err = result.NextWithContext(ctx) 347 return 348 } 349 350 return 351} 352 353// ListPreparer prepares the List request. 354func (client InterfaceTapConfigurationsClient) ListPreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string) (*http.Request, error) { 355 pathParameters := map[string]interface{}{ 356 "networkInterfaceName": autorest.Encode("path", networkInterfaceName), 357 "resourceGroupName": autorest.Encode("path", resourceGroupName), 358 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 359 } 360 361 const APIVersion = "2018-08-01" 362 queryParameters := map[string]interface{}{ 363 "api-version": APIVersion, 364 } 365 366 preparer := autorest.CreatePreparer( 367 autorest.AsGet(), 368 autorest.WithBaseURL(client.BaseURI), 369 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations", pathParameters), 370 autorest.WithQueryParameters(queryParameters)) 371 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 372} 373 374// ListSender sends the List request. The method will close the 375// http.Response Body if it receives an error. 376func (client InterfaceTapConfigurationsClient) ListSender(req *http.Request) (*http.Response, error) { 377 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 378} 379 380// ListResponder handles the response to the List request. The method always 381// closes the http.Response Body. 382func (client InterfaceTapConfigurationsClient) ListResponder(resp *http.Response) (result InterfaceTapConfigurationListResult, err error) { 383 err = autorest.Respond( 384 resp, 385 azure.WithErrorUnlessStatusCode(http.StatusOK), 386 autorest.ByUnmarshallingJSON(&result), 387 autorest.ByClosing()) 388 result.Response = autorest.Response{Response: resp} 389 return 390} 391 392// listNextResults retrieves the next set of results, if any. 393func (client InterfaceTapConfigurationsClient) listNextResults(ctx context.Context, lastResults InterfaceTapConfigurationListResult) (result InterfaceTapConfigurationListResult, err error) { 394 req, err := lastResults.interfaceTapConfigurationListResultPreparer(ctx) 395 if err != nil { 396 return result, autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "listNextResults", nil, "Failure preparing next results request") 397 } 398 if req == nil { 399 return 400 } 401 resp, err := client.ListSender(req) 402 if err != nil { 403 result.Response = autorest.Response{Response: resp} 404 return result, autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "listNextResults", resp, "Failure sending next results request") 405 } 406 result, err = client.ListResponder(resp) 407 if err != nil { 408 err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "listNextResults", resp, "Failure responding to next results request") 409 } 410 return 411} 412 413// ListComplete enumerates all values, automatically crossing page boundaries as required. 414func (client InterfaceTapConfigurationsClient) ListComplete(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result InterfaceTapConfigurationListResultIterator, err error) { 415 if tracing.IsEnabled() { 416 ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceTapConfigurationsClient.List") 417 defer func() { 418 sc := -1 419 if result.Response().Response.Response != nil { 420 sc = result.page.Response().Response.Response.StatusCode 421 } 422 tracing.EndSpan(ctx, sc, err) 423 }() 424 } 425 result.page, err = client.List(ctx, resourceGroupName, networkInterfaceName) 426 return 427} 428