...

Source file src/github.com/Azure/azure-sdk-for-go/services/network/mgmt/2022-01-01/network/virtualappliances.go

Documentation: github.com/Azure/azure-sdk-for-go/services/network/mgmt/2022-01-01/network

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

View as plain text