...

Source file src/github.com/Azure/azure-sdk-for-go/services/network/mgmt/2018-08-01/network/azurefirewalls.go

Documentation: github.com/Azure/azure-sdk-for-go/services/network/mgmt/2018-08-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/tracing"
    14  	"net/http"
    15  )
    16  
    17  // AzureFirewallsClient is the network Client
    18  type AzureFirewallsClient struct {
    19  	BaseClient
    20  }
    21  
    22  // NewAzureFirewallsClient creates an instance of the AzureFirewallsClient client.
    23  func NewAzureFirewallsClient(subscriptionID string) AzureFirewallsClient {
    24  	return NewAzureFirewallsClientWithBaseURI(DefaultBaseURI, subscriptionID)
    25  }
    26  
    27  // NewAzureFirewallsClientWithBaseURI creates an instance of the AzureFirewallsClient client using a custom endpoint.
    28  // Use this when interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure stack).
    29  func NewAzureFirewallsClientWithBaseURI(baseURI string, subscriptionID string) AzureFirewallsClient {
    30  	return AzureFirewallsClient{NewWithBaseURI(baseURI, subscriptionID)}
    31  }
    32  
    33  // CreateOrUpdate creates or updates the specified Azure Firewall.
    34  // Parameters:
    35  // resourceGroupName - the name of the resource group.
    36  // azureFirewallName - the name of the Azure Firewall.
    37  // parameters - parameters supplied to the create or update Azure Firewall operation.
    38  func (client AzureFirewallsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, azureFirewallName string, parameters AzureFirewall) (result AzureFirewallsCreateOrUpdateFuture, err error) {
    39  	if tracing.IsEnabled() {
    40  		ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.CreateOrUpdate")
    41  		defer func() {
    42  			sc := -1
    43  			if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
    44  				sc = result.FutureAPI.Response().StatusCode
    45  			}
    46  			tracing.EndSpan(ctx, sc, err)
    47  		}()
    48  	}
    49  	req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, azureFirewallName, parameters)
    50  	if err != nil {
    51  		err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "CreateOrUpdate", nil, "Failure preparing request")
    52  		return
    53  	}
    54  
    55  	result, err = client.CreateOrUpdateSender(req)
    56  	if err != nil {
    57  		err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "CreateOrUpdate", result.Response(), "Failure sending request")
    58  		return
    59  	}
    60  
    61  	return
    62  }
    63  
    64  // CreateOrUpdatePreparer prepares the CreateOrUpdate request.
    65  func (client AzureFirewallsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, azureFirewallName string, parameters AzureFirewall) (*http.Request, error) {
    66  	pathParameters := map[string]interface{}{
    67  		"azureFirewallName": autorest.Encode("path", azureFirewallName),
    68  		"resourceGroupName": autorest.Encode("path", resourceGroupName),
    69  		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
    70  	}
    71  
    72  	const APIVersion = "2018-08-01"
    73  	queryParameters := map[string]interface{}{
    74  		"api-version": APIVersion,
    75  	}
    76  
    77  	parameters.Etag = nil
    78  	preparer := autorest.CreatePreparer(
    79  		autorest.AsContentType("application/json; charset=utf-8"),
    80  		autorest.AsPut(),
    81  		autorest.WithBaseURL(client.BaseURI),
    82  		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}", pathParameters),
    83  		autorest.WithJSON(parameters),
    84  		autorest.WithQueryParameters(queryParameters))
    85  	return preparer.Prepare((&http.Request{}).WithContext(ctx))
    86  }
    87  
    88  // CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the
    89  // http.Response Body if it receives an error.
    90  func (client AzureFirewallsClient) CreateOrUpdateSender(req *http.Request) (future AzureFirewallsCreateOrUpdateFuture, err error) {
    91  	var resp *http.Response
    92  	future.FutureAPI = &azure.Future{}
    93  	resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
    94  	if err != nil {
    95  		return
    96  	}
    97  	var azf azure.Future
    98  	azf, err = azure.NewFutureFromResponse(resp)
    99  	future.FutureAPI = &azf
   100  	future.Result = future.result
   101  	return
   102  }
   103  
   104  // CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always
   105  // closes the http.Response Body.
   106  func (client AzureFirewallsClient) CreateOrUpdateResponder(resp *http.Response) (result AzureFirewall, err error) {
   107  	err = autorest.Respond(
   108  		resp,
   109  		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated),
   110  		autorest.ByUnmarshallingJSON(&result),
   111  		autorest.ByClosing())
   112  	result.Response = autorest.Response{Response: resp}
   113  	return
   114  }
   115  
   116  // Delete deletes the specified Azure Firewall.
   117  // Parameters:
   118  // resourceGroupName - the name of the resource group.
   119  // azureFirewallName - the name of the Azure Firewall.
   120  func (client AzureFirewallsClient) Delete(ctx context.Context, resourceGroupName string, azureFirewallName string) (result AzureFirewallsDeleteFuture, err error) {
   121  	if tracing.IsEnabled() {
   122  		ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.Delete")
   123  		defer func() {
   124  			sc := -1
   125  			if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
   126  				sc = result.FutureAPI.Response().StatusCode
   127  			}
   128  			tracing.EndSpan(ctx, sc, err)
   129  		}()
   130  	}
   131  	req, err := client.DeletePreparer(ctx, resourceGroupName, azureFirewallName)
   132  	if err != nil {
   133  		err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "Delete", nil, "Failure preparing request")
   134  		return
   135  	}
   136  
   137  	result, err = client.DeleteSender(req)
   138  	if err != nil {
   139  		err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "Delete", result.Response(), "Failure sending request")
   140  		return
   141  	}
   142  
   143  	return
   144  }
   145  
   146  // DeletePreparer prepares the Delete request.
   147  func (client AzureFirewallsClient) DeletePreparer(ctx context.Context, resourceGroupName string, azureFirewallName string) (*http.Request, error) {
   148  	pathParameters := map[string]interface{}{
   149  		"azureFirewallName": autorest.Encode("path", azureFirewallName),
   150  		"resourceGroupName": autorest.Encode("path", resourceGroupName),
   151  		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
   152  	}
   153  
   154  	const APIVersion = "2018-08-01"
   155  	queryParameters := map[string]interface{}{
   156  		"api-version": APIVersion,
   157  	}
   158  
   159  	preparer := autorest.CreatePreparer(
   160  		autorest.AsDelete(),
   161  		autorest.WithBaseURL(client.BaseURI),
   162  		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}", pathParameters),
   163  		autorest.WithQueryParameters(queryParameters))
   164  	return preparer.Prepare((&http.Request{}).WithContext(ctx))
   165  }
   166  
   167  // DeleteSender sends the Delete request. The method will close the
   168  // http.Response Body if it receives an error.
   169  func (client AzureFirewallsClient) DeleteSender(req *http.Request) (future AzureFirewallsDeleteFuture, err error) {
   170  	var resp *http.Response
   171  	future.FutureAPI = &azure.Future{}
   172  	resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
   173  	if err != nil {
   174  		return
   175  	}
   176  	var azf azure.Future
   177  	azf, err = azure.NewFutureFromResponse(resp)
   178  	future.FutureAPI = &azf
   179  	future.Result = future.result
   180  	return
   181  }
   182  
   183  // DeleteResponder handles the response to the Delete request. The method always
   184  // closes the http.Response Body.
   185  func (client AzureFirewallsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) {
   186  	err = autorest.Respond(
   187  		resp,
   188  		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent),
   189  		autorest.ByClosing())
   190  	result.Response = resp
   191  	return
   192  }
   193  
   194  // Get gets the specified Azure Firewall.
   195  // Parameters:
   196  // resourceGroupName - the name of the resource group.
   197  // azureFirewallName - the name of the Azure Firewall.
   198  func (client AzureFirewallsClient) Get(ctx context.Context, resourceGroupName string, azureFirewallName string) (result AzureFirewall, err error) {
   199  	if tracing.IsEnabled() {
   200  		ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.Get")
   201  		defer func() {
   202  			sc := -1
   203  			if result.Response.Response != nil {
   204  				sc = result.Response.Response.StatusCode
   205  			}
   206  			tracing.EndSpan(ctx, sc, err)
   207  		}()
   208  	}
   209  	req, err := client.GetPreparer(ctx, resourceGroupName, azureFirewallName)
   210  	if err != nil {
   211  		err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "Get", nil, "Failure preparing request")
   212  		return
   213  	}
   214  
   215  	resp, err := client.GetSender(req)
   216  	if err != nil {
   217  		result.Response = autorest.Response{Response: resp}
   218  		err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "Get", resp, "Failure sending request")
   219  		return
   220  	}
   221  
   222  	result, err = client.GetResponder(resp)
   223  	if err != nil {
   224  		err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "Get", resp, "Failure responding to request")
   225  		return
   226  	}
   227  
   228  	return
   229  }
   230  
   231  // GetPreparer prepares the Get request.
   232  func (client AzureFirewallsClient) GetPreparer(ctx context.Context, resourceGroupName string, azureFirewallName string) (*http.Request, error) {
   233  	pathParameters := map[string]interface{}{
   234  		"azureFirewallName": autorest.Encode("path", azureFirewallName),
   235  		"resourceGroupName": autorest.Encode("path", resourceGroupName),
   236  		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
   237  	}
   238  
   239  	const APIVersion = "2018-08-01"
   240  	queryParameters := map[string]interface{}{
   241  		"api-version": APIVersion,
   242  	}
   243  
   244  	preparer := autorest.CreatePreparer(
   245  		autorest.AsGet(),
   246  		autorest.WithBaseURL(client.BaseURI),
   247  		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}", pathParameters),
   248  		autorest.WithQueryParameters(queryParameters))
   249  	return preparer.Prepare((&http.Request{}).WithContext(ctx))
   250  }
   251  
   252  // GetSender sends the Get request. The method will close the
   253  // http.Response Body if it receives an error.
   254  func (client AzureFirewallsClient) GetSender(req *http.Request) (*http.Response, error) {
   255  	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
   256  }
   257  
   258  // GetResponder handles the response to the Get request. The method always
   259  // closes the http.Response Body.
   260  func (client AzureFirewallsClient) GetResponder(resp *http.Response) (result AzureFirewall, err error) {
   261  	err = autorest.Respond(
   262  		resp,
   263  		azure.WithErrorUnlessStatusCode(http.StatusOK),
   264  		autorest.ByUnmarshallingJSON(&result),
   265  		autorest.ByClosing())
   266  	result.Response = autorest.Response{Response: resp}
   267  	return
   268  }
   269  
   270  // List lists all Azure Firewalls in a resource group.
   271  // Parameters:
   272  // resourceGroupName - the name of the resource group.
   273  func (client AzureFirewallsClient) List(ctx context.Context, resourceGroupName string) (result AzureFirewallListResultPage, err error) {
   274  	if tracing.IsEnabled() {
   275  		ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.List")
   276  		defer func() {
   277  			sc := -1
   278  			if result.aflr.Response.Response != nil {
   279  				sc = result.aflr.Response.Response.StatusCode
   280  			}
   281  			tracing.EndSpan(ctx, sc, err)
   282  		}()
   283  	}
   284  	result.fn = client.listNextResults
   285  	req, err := client.ListPreparer(ctx, resourceGroupName)
   286  	if err != nil {
   287  		err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "List", nil, "Failure preparing request")
   288  		return
   289  	}
   290  
   291  	resp, err := client.ListSender(req)
   292  	if err != nil {
   293  		result.aflr.Response = autorest.Response{Response: resp}
   294  		err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "List", resp, "Failure sending request")
   295  		return
   296  	}
   297  
   298  	result.aflr, err = client.ListResponder(resp)
   299  	if err != nil {
   300  		err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "List", resp, "Failure responding to request")
   301  		return
   302  	}
   303  	if result.aflr.hasNextLink() && result.aflr.IsEmpty() {
   304  		err = result.NextWithContext(ctx)
   305  		return
   306  	}
   307  
   308  	return
   309  }
   310  
   311  // ListPreparer prepares the List request.
   312  func (client AzureFirewallsClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) {
   313  	pathParameters := map[string]interface{}{
   314  		"resourceGroupName": autorest.Encode("path", resourceGroupName),
   315  		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
   316  	}
   317  
   318  	const APIVersion = "2018-08-01"
   319  	queryParameters := map[string]interface{}{
   320  		"api-version": APIVersion,
   321  	}
   322  
   323  	preparer := autorest.CreatePreparer(
   324  		autorest.AsGet(),
   325  		autorest.WithBaseURL(client.BaseURI),
   326  		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls", pathParameters),
   327  		autorest.WithQueryParameters(queryParameters))
   328  	return preparer.Prepare((&http.Request{}).WithContext(ctx))
   329  }
   330  
   331  // ListSender sends the List request. The method will close the
   332  // http.Response Body if it receives an error.
   333  func (client AzureFirewallsClient) ListSender(req *http.Request) (*http.Response, error) {
   334  	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
   335  }
   336  
   337  // ListResponder handles the response to the List request. The method always
   338  // closes the http.Response Body.
   339  func (client AzureFirewallsClient) ListResponder(resp *http.Response) (result AzureFirewallListResult, err error) {
   340  	err = autorest.Respond(
   341  		resp,
   342  		azure.WithErrorUnlessStatusCode(http.StatusOK),
   343  		autorest.ByUnmarshallingJSON(&result),
   344  		autorest.ByClosing())
   345  	result.Response = autorest.Response{Response: resp}
   346  	return
   347  }
   348  
   349  // listNextResults retrieves the next set of results, if any.
   350  func (client AzureFirewallsClient) listNextResults(ctx context.Context, lastResults AzureFirewallListResult) (result AzureFirewallListResult, err error) {
   351  	req, err := lastResults.azureFirewallListResultPreparer(ctx)
   352  	if err != nil {
   353  		return result, autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "listNextResults", nil, "Failure preparing next results request")
   354  	}
   355  	if req == nil {
   356  		return
   357  	}
   358  	resp, err := client.ListSender(req)
   359  	if err != nil {
   360  		result.Response = autorest.Response{Response: resp}
   361  		return result, autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "listNextResults", resp, "Failure sending next results request")
   362  	}
   363  	result, err = client.ListResponder(resp)
   364  	if err != nil {
   365  		err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "listNextResults", resp, "Failure responding to next results request")
   366  	}
   367  	return
   368  }
   369  
   370  // ListComplete enumerates all values, automatically crossing page boundaries as required.
   371  func (client AzureFirewallsClient) ListComplete(ctx context.Context, resourceGroupName string) (result AzureFirewallListResultIterator, err error) {
   372  	if tracing.IsEnabled() {
   373  		ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.List")
   374  		defer func() {
   375  			sc := -1
   376  			if result.Response().Response.Response != nil {
   377  				sc = result.page.Response().Response.Response.StatusCode
   378  			}
   379  			tracing.EndSpan(ctx, sc, err)
   380  		}()
   381  	}
   382  	result.page, err = client.List(ctx, resourceGroupName)
   383  	return
   384  }
   385  
   386  // ListAll gets all the Azure Firewalls in a subscription.
   387  func (client AzureFirewallsClient) ListAll(ctx context.Context) (result AzureFirewallListResultPage, err error) {
   388  	if tracing.IsEnabled() {
   389  		ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.ListAll")
   390  		defer func() {
   391  			sc := -1
   392  			if result.aflr.Response.Response != nil {
   393  				sc = result.aflr.Response.Response.StatusCode
   394  			}
   395  			tracing.EndSpan(ctx, sc, err)
   396  		}()
   397  	}
   398  	result.fn = client.listAllNextResults
   399  	req, err := client.ListAllPreparer(ctx)
   400  	if err != nil {
   401  		err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "ListAll", nil, "Failure preparing request")
   402  		return
   403  	}
   404  
   405  	resp, err := client.ListAllSender(req)
   406  	if err != nil {
   407  		result.aflr.Response = autorest.Response{Response: resp}
   408  		err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "ListAll", resp, "Failure sending request")
   409  		return
   410  	}
   411  
   412  	result.aflr, err = client.ListAllResponder(resp)
   413  	if err != nil {
   414  		err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "ListAll", resp, "Failure responding to request")
   415  		return
   416  	}
   417  	if result.aflr.hasNextLink() && result.aflr.IsEmpty() {
   418  		err = result.NextWithContext(ctx)
   419  		return
   420  	}
   421  
   422  	return
   423  }
   424  
   425  // ListAllPreparer prepares the ListAll request.
   426  func (client AzureFirewallsClient) ListAllPreparer(ctx context.Context) (*http.Request, error) {
   427  	pathParameters := map[string]interface{}{
   428  		"subscriptionId": autorest.Encode("path", client.SubscriptionID),
   429  	}
   430  
   431  	const APIVersion = "2018-08-01"
   432  	queryParameters := map[string]interface{}{
   433  		"api-version": APIVersion,
   434  	}
   435  
   436  	preparer := autorest.CreatePreparer(
   437  		autorest.AsGet(),
   438  		autorest.WithBaseURL(client.BaseURI),
   439  		autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls", pathParameters),
   440  		autorest.WithQueryParameters(queryParameters))
   441  	return preparer.Prepare((&http.Request{}).WithContext(ctx))
   442  }
   443  
   444  // ListAllSender sends the ListAll request. The method will close the
   445  // http.Response Body if it receives an error.
   446  func (client AzureFirewallsClient) ListAllSender(req *http.Request) (*http.Response, error) {
   447  	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
   448  }
   449  
   450  // ListAllResponder handles the response to the ListAll request. The method always
   451  // closes the http.Response Body.
   452  func (client AzureFirewallsClient) ListAllResponder(resp *http.Response) (result AzureFirewallListResult, err error) {
   453  	err = autorest.Respond(
   454  		resp,
   455  		azure.WithErrorUnlessStatusCode(http.StatusOK),
   456  		autorest.ByUnmarshallingJSON(&result),
   457  		autorest.ByClosing())
   458  	result.Response = autorest.Response{Response: resp}
   459  	return
   460  }
   461  
   462  // listAllNextResults retrieves the next set of results, if any.
   463  func (client AzureFirewallsClient) listAllNextResults(ctx context.Context, lastResults AzureFirewallListResult) (result AzureFirewallListResult, err error) {
   464  	req, err := lastResults.azureFirewallListResultPreparer(ctx)
   465  	if err != nil {
   466  		return result, autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "listAllNextResults", nil, "Failure preparing next results request")
   467  	}
   468  	if req == nil {
   469  		return
   470  	}
   471  	resp, err := client.ListAllSender(req)
   472  	if err != nil {
   473  		result.Response = autorest.Response{Response: resp}
   474  		return result, autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "listAllNextResults", resp, "Failure sending next results request")
   475  	}
   476  	result, err = client.ListAllResponder(resp)
   477  	if err != nil {
   478  		err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "listAllNextResults", resp, "Failure responding to next results request")
   479  	}
   480  	return
   481  }
   482  
   483  // ListAllComplete enumerates all values, automatically crossing page boundaries as required.
   484  func (client AzureFirewallsClient) ListAllComplete(ctx context.Context) (result AzureFirewallListResultIterator, err error) {
   485  	if tracing.IsEnabled() {
   486  		ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.ListAll")
   487  		defer func() {
   488  			sc := -1
   489  			if result.Response().Response.Response != nil {
   490  				sc = result.page.Response().Response.Response.StatusCode
   491  			}
   492  			tracing.EndSpan(ctx, sc, err)
   493  		}()
   494  	}
   495  	result.page, err = client.ListAll(ctx)
   496  	return
   497  }
   498  

View as plain text