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