...

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

View as plain text