1package synapse
2
3// Copyright (c) Microsoft and contributors.  All rights reserved.
4//
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13//
14// See the License for the specific language governing permissions and
15// limitations under the License.
16//
17// Code generated by Microsoft (R) AutoRest Code Generator.
18// Changes may cause incorrect behavior and will be lost if the code is regenerated.
19
20import (
21	"context"
22	"github.com/Azure/go-autorest/autorest"
23	"github.com/Azure/go-autorest/autorest/azure"
24	"github.com/Azure/go-autorest/autorest/validation"
25	"github.com/Azure/go-autorest/tracing"
26	"net/http"
27)
28
29// IPFirewallRulesClient is the azure Synapse Analytics Management Client
30type IPFirewallRulesClient struct {
31	BaseClient
32}
33
34// NewIPFirewallRulesClient creates an instance of the IPFirewallRulesClient client.
35func NewIPFirewallRulesClient(subscriptionID string) IPFirewallRulesClient {
36	return NewIPFirewallRulesClientWithBaseURI(DefaultBaseURI, subscriptionID)
37}
38
39// NewIPFirewallRulesClientWithBaseURI creates an instance of the IPFirewallRulesClient client using a custom endpoint.
40// Use this when interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure stack).
41func NewIPFirewallRulesClientWithBaseURI(baseURI string, subscriptionID string) IPFirewallRulesClient {
42	return IPFirewallRulesClient{NewWithBaseURI(baseURI, subscriptionID)}
43}
44
45// CreateOrUpdate creates or updates a firewall rule
46// Parameters:
47// resourceGroupName - the name of the resource group. The name is case insensitive.
48// workspaceName - the name of the workspace
49// ruleName - the IP firewall rule name
50// IPFirewallRuleInfo - IP firewall rule properties
51func (client IPFirewallRulesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, workspaceName string, ruleName string, IPFirewallRuleInfo IPFirewallRuleInfo) (result IPFirewallRulesCreateOrUpdateFuture, err error) {
52	if tracing.IsEnabled() {
53		ctx = tracing.StartSpan(ctx, fqdn+"/IPFirewallRulesClient.CreateOrUpdate")
54		defer func() {
55			sc := -1
56			if result.Response() != nil {
57				sc = result.Response().StatusCode
58			}
59			tracing.EndSpan(ctx, sc, err)
60		}()
61	}
62	if err := validation.Validate([]validation.Validation{
63		{TargetValue: client.SubscriptionID,
64			Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
65		{TargetValue: resourceGroupName,
66			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
67				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
68				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil {
69		return result, validation.NewError("synapse.IPFirewallRulesClient", "CreateOrUpdate", err.Error())
70	}
71
72	req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, workspaceName, ruleName, IPFirewallRuleInfo)
73	if err != nil {
74		err = autorest.NewErrorWithError(err, "synapse.IPFirewallRulesClient", "CreateOrUpdate", nil, "Failure preparing request")
75		return
76	}
77
78	result, err = client.CreateOrUpdateSender(req)
79	if err != nil {
80		err = autorest.NewErrorWithError(err, "synapse.IPFirewallRulesClient", "CreateOrUpdate", result.Response(), "Failure sending request")
81		return
82	}
83
84	return
85}
86
87// CreateOrUpdatePreparer prepares the CreateOrUpdate request.
88func (client IPFirewallRulesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, workspaceName string, ruleName string, IPFirewallRuleInfo IPFirewallRuleInfo) (*http.Request, error) {
89	pathParameters := map[string]interface{}{
90		"resourceGroupName": autorest.Encode("path", resourceGroupName),
91		"ruleName":          autorest.Encode("path", ruleName),
92		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
93		"workspaceName":     autorest.Encode("path", workspaceName),
94	}
95
96	const APIVersion = "2019-06-01-preview"
97	queryParameters := map[string]interface{}{
98		"api-version": APIVersion,
99	}
100
101	preparer := autorest.CreatePreparer(
102		autorest.AsContentType("application/json; charset=utf-8"),
103		autorest.AsPut(),
104		autorest.WithBaseURL(client.BaseURI),
105		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/firewallRules/{ruleName}", pathParameters),
106		autorest.WithJSON(IPFirewallRuleInfo),
107		autorest.WithQueryParameters(queryParameters))
108	return preparer.Prepare((&http.Request{}).WithContext(ctx))
109}
110
111// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the
112// http.Response Body if it receives an error.
113func (client IPFirewallRulesClient) CreateOrUpdateSender(req *http.Request) (future IPFirewallRulesCreateOrUpdateFuture, err error) {
114	var resp *http.Response
115	resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
116	if err != nil {
117		return
118	}
119	future.Future, err = azure.NewFutureFromResponse(resp)
120	return
121}
122
123// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always
124// closes the http.Response Body.
125func (client IPFirewallRulesClient) CreateOrUpdateResponder(resp *http.Response) (result IPFirewallRuleInfo, err error) {
126	err = autorest.Respond(
127		resp,
128		client.ByInspecting(),
129		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated),
130		autorest.ByUnmarshallingJSON(&result),
131		autorest.ByClosing())
132	result.Response = autorest.Response{Response: resp}
133	return
134}
135
136// Delete deletes a firewall rule
137// Parameters:
138// resourceGroupName - the name of the resource group. The name is case insensitive.
139// workspaceName - the name of the workspace
140// ruleName - the IP firewall rule name
141func (client IPFirewallRulesClient) Delete(ctx context.Context, resourceGroupName string, workspaceName string, ruleName string) (result IPFirewallRulesDeleteFuture, err error) {
142	if tracing.IsEnabled() {
143		ctx = tracing.StartSpan(ctx, fqdn+"/IPFirewallRulesClient.Delete")
144		defer func() {
145			sc := -1
146			if result.Response() != nil {
147				sc = result.Response().StatusCode
148			}
149			tracing.EndSpan(ctx, sc, err)
150		}()
151	}
152	if err := validation.Validate([]validation.Validation{
153		{TargetValue: client.SubscriptionID,
154			Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
155		{TargetValue: resourceGroupName,
156			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
157				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
158				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil {
159		return result, validation.NewError("synapse.IPFirewallRulesClient", "Delete", err.Error())
160	}
161
162	req, err := client.DeletePreparer(ctx, resourceGroupName, workspaceName, ruleName)
163	if err != nil {
164		err = autorest.NewErrorWithError(err, "synapse.IPFirewallRulesClient", "Delete", nil, "Failure preparing request")
165		return
166	}
167
168	result, err = client.DeleteSender(req)
169	if err != nil {
170		err = autorest.NewErrorWithError(err, "synapse.IPFirewallRulesClient", "Delete", result.Response(), "Failure sending request")
171		return
172	}
173
174	return
175}
176
177// DeletePreparer prepares the Delete request.
178func (client IPFirewallRulesClient) DeletePreparer(ctx context.Context, resourceGroupName string, workspaceName string, ruleName string) (*http.Request, error) {
179	pathParameters := map[string]interface{}{
180		"resourceGroupName": autorest.Encode("path", resourceGroupName),
181		"ruleName":          autorest.Encode("path", ruleName),
182		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
183		"workspaceName":     autorest.Encode("path", workspaceName),
184	}
185
186	const APIVersion = "2019-06-01-preview"
187	queryParameters := map[string]interface{}{
188		"api-version": APIVersion,
189	}
190
191	preparer := autorest.CreatePreparer(
192		autorest.AsDelete(),
193		autorest.WithBaseURL(client.BaseURI),
194		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/firewallRules/{ruleName}", pathParameters),
195		autorest.WithQueryParameters(queryParameters))
196	return preparer.Prepare((&http.Request{}).WithContext(ctx))
197}
198
199// DeleteSender sends the Delete request. The method will close the
200// http.Response Body if it receives an error.
201func (client IPFirewallRulesClient) DeleteSender(req *http.Request) (future IPFirewallRulesDeleteFuture, err error) {
202	var resp *http.Response
203	resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
204	if err != nil {
205		return
206	}
207	future.Future, err = azure.NewFutureFromResponse(resp)
208	return
209}
210
211// DeleteResponder handles the response to the Delete request. The method always
212// closes the http.Response Body.
213func (client IPFirewallRulesClient) DeleteResponder(resp *http.Response) (result SetObject, err error) {
214	err = autorest.Respond(
215		resp,
216		client.ByInspecting(),
217		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent),
218		autorest.ByUnmarshallingJSON(&result),
219		autorest.ByClosing())
220	result.Response = autorest.Response{Response: resp}
221	return
222}
223
224// Get get a firewall rule
225// Parameters:
226// resourceGroupName - the name of the resource group. The name is case insensitive.
227// workspaceName - the name of the workspace
228// ruleName - the IP firewall rule name
229func (client IPFirewallRulesClient) Get(ctx context.Context, resourceGroupName string, workspaceName string, ruleName string) (result IPFirewallRuleInfo, err error) {
230	if tracing.IsEnabled() {
231		ctx = tracing.StartSpan(ctx, fqdn+"/IPFirewallRulesClient.Get")
232		defer func() {
233			sc := -1
234			if result.Response.Response != nil {
235				sc = result.Response.Response.StatusCode
236			}
237			tracing.EndSpan(ctx, sc, err)
238		}()
239	}
240	if err := validation.Validate([]validation.Validation{
241		{TargetValue: client.SubscriptionID,
242			Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
243		{TargetValue: resourceGroupName,
244			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
245				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
246				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil {
247		return result, validation.NewError("synapse.IPFirewallRulesClient", "Get", err.Error())
248	}
249
250	req, err := client.GetPreparer(ctx, resourceGroupName, workspaceName, ruleName)
251	if err != nil {
252		err = autorest.NewErrorWithError(err, "synapse.IPFirewallRulesClient", "Get", nil, "Failure preparing request")
253		return
254	}
255
256	resp, err := client.GetSender(req)
257	if err != nil {
258		result.Response = autorest.Response{Response: resp}
259		err = autorest.NewErrorWithError(err, "synapse.IPFirewallRulesClient", "Get", resp, "Failure sending request")
260		return
261	}
262
263	result, err = client.GetResponder(resp)
264	if err != nil {
265		err = autorest.NewErrorWithError(err, "synapse.IPFirewallRulesClient", "Get", resp, "Failure responding to request")
266	}
267
268	return
269}
270
271// GetPreparer prepares the Get request.
272func (client IPFirewallRulesClient) GetPreparer(ctx context.Context, resourceGroupName string, workspaceName string, ruleName string) (*http.Request, error) {
273	pathParameters := map[string]interface{}{
274		"resourceGroupName": autorest.Encode("path", resourceGroupName),
275		"ruleName":          autorest.Encode("path", ruleName),
276		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
277		"workspaceName":     autorest.Encode("path", workspaceName),
278	}
279
280	const APIVersion = "2019-06-01-preview"
281	queryParameters := map[string]interface{}{
282		"api-version": APIVersion,
283	}
284
285	preparer := autorest.CreatePreparer(
286		autorest.AsGet(),
287		autorest.WithBaseURL(client.BaseURI),
288		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/firewallRules/{ruleName}", pathParameters),
289		autorest.WithQueryParameters(queryParameters))
290	return preparer.Prepare((&http.Request{}).WithContext(ctx))
291}
292
293// GetSender sends the Get request. The method will close the
294// http.Response Body if it receives an error.
295func (client IPFirewallRulesClient) GetSender(req *http.Request) (*http.Response, error) {
296	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
297}
298
299// GetResponder handles the response to the Get request. The method always
300// closes the http.Response Body.
301func (client IPFirewallRulesClient) GetResponder(resp *http.Response) (result IPFirewallRuleInfo, err error) {
302	err = autorest.Respond(
303		resp,
304		client.ByInspecting(),
305		azure.WithErrorUnlessStatusCode(http.StatusOK),
306		autorest.ByUnmarshallingJSON(&result),
307		autorest.ByClosing())
308	result.Response = autorest.Response{Response: resp}
309	return
310}
311
312// ListByWorkspace returns a list of firewall rules
313// Parameters:
314// resourceGroupName - the name of the resource group. The name is case insensitive.
315// workspaceName - the name of the workspace
316func (client IPFirewallRulesClient) ListByWorkspace(ctx context.Context, resourceGroupName string, workspaceName string) (result IPFirewallRuleInfoListResultPage, err error) {
317	if tracing.IsEnabled() {
318		ctx = tracing.StartSpan(ctx, fqdn+"/IPFirewallRulesClient.ListByWorkspace")
319		defer func() {
320			sc := -1
321			if result.ifrilr.Response.Response != nil {
322				sc = result.ifrilr.Response.Response.StatusCode
323			}
324			tracing.EndSpan(ctx, sc, err)
325		}()
326	}
327	if err := validation.Validate([]validation.Validation{
328		{TargetValue: client.SubscriptionID,
329			Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
330		{TargetValue: resourceGroupName,
331			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
332				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
333				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil {
334		return result, validation.NewError("synapse.IPFirewallRulesClient", "ListByWorkspace", err.Error())
335	}
336
337	result.fn = client.listByWorkspaceNextResults
338	req, err := client.ListByWorkspacePreparer(ctx, resourceGroupName, workspaceName)
339	if err != nil {
340		err = autorest.NewErrorWithError(err, "synapse.IPFirewallRulesClient", "ListByWorkspace", nil, "Failure preparing request")
341		return
342	}
343
344	resp, err := client.ListByWorkspaceSender(req)
345	if err != nil {
346		result.ifrilr.Response = autorest.Response{Response: resp}
347		err = autorest.NewErrorWithError(err, "synapse.IPFirewallRulesClient", "ListByWorkspace", resp, "Failure sending request")
348		return
349	}
350
351	result.ifrilr, err = client.ListByWorkspaceResponder(resp)
352	if err != nil {
353		err = autorest.NewErrorWithError(err, "synapse.IPFirewallRulesClient", "ListByWorkspace", resp, "Failure responding to request")
354	}
355
356	return
357}
358
359// ListByWorkspacePreparer prepares the ListByWorkspace request.
360func (client IPFirewallRulesClient) ListByWorkspacePreparer(ctx context.Context, resourceGroupName string, workspaceName string) (*http.Request, error) {
361	pathParameters := map[string]interface{}{
362		"resourceGroupName": autorest.Encode("path", resourceGroupName),
363		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
364		"workspaceName":     autorest.Encode("path", workspaceName),
365	}
366
367	const APIVersion = "2019-06-01-preview"
368	queryParameters := map[string]interface{}{
369		"api-version": APIVersion,
370	}
371
372	preparer := autorest.CreatePreparer(
373		autorest.AsGet(),
374		autorest.WithBaseURL(client.BaseURI),
375		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/firewallRules", pathParameters),
376		autorest.WithQueryParameters(queryParameters))
377	return preparer.Prepare((&http.Request{}).WithContext(ctx))
378}
379
380// ListByWorkspaceSender sends the ListByWorkspace request. The method will close the
381// http.Response Body if it receives an error.
382func (client IPFirewallRulesClient) ListByWorkspaceSender(req *http.Request) (*http.Response, error) {
383	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
384}
385
386// ListByWorkspaceResponder handles the response to the ListByWorkspace request. The method always
387// closes the http.Response Body.
388func (client IPFirewallRulesClient) ListByWorkspaceResponder(resp *http.Response) (result IPFirewallRuleInfoListResult, err error) {
389	err = autorest.Respond(
390		resp,
391		client.ByInspecting(),
392		azure.WithErrorUnlessStatusCode(http.StatusOK),
393		autorest.ByUnmarshallingJSON(&result),
394		autorest.ByClosing())
395	result.Response = autorest.Response{Response: resp}
396	return
397}
398
399// listByWorkspaceNextResults retrieves the next set of results, if any.
400func (client IPFirewallRulesClient) listByWorkspaceNextResults(ctx context.Context, lastResults IPFirewallRuleInfoListResult) (result IPFirewallRuleInfoListResult, err error) {
401	req, err := lastResults.iPFirewallRuleInfoListResultPreparer(ctx)
402	if err != nil {
403		return result, autorest.NewErrorWithError(err, "synapse.IPFirewallRulesClient", "listByWorkspaceNextResults", nil, "Failure preparing next results request")
404	}
405	if req == nil {
406		return
407	}
408	resp, err := client.ListByWorkspaceSender(req)
409	if err != nil {
410		result.Response = autorest.Response{Response: resp}
411		return result, autorest.NewErrorWithError(err, "synapse.IPFirewallRulesClient", "listByWorkspaceNextResults", resp, "Failure sending next results request")
412	}
413	result, err = client.ListByWorkspaceResponder(resp)
414	if err != nil {
415		err = autorest.NewErrorWithError(err, "synapse.IPFirewallRulesClient", "listByWorkspaceNextResults", resp, "Failure responding to next results request")
416	}
417	return
418}
419
420// ListByWorkspaceComplete enumerates all values, automatically crossing page boundaries as required.
421func (client IPFirewallRulesClient) ListByWorkspaceComplete(ctx context.Context, resourceGroupName string, workspaceName string) (result IPFirewallRuleInfoListResultIterator, err error) {
422	if tracing.IsEnabled() {
423		ctx = tracing.StartSpan(ctx, fqdn+"/IPFirewallRulesClient.ListByWorkspace")
424		defer func() {
425			sc := -1
426			if result.Response().Response.Response != nil {
427				sc = result.page.Response().Response.Response.StatusCode
428			}
429			tracing.EndSpan(ctx, sc, err)
430		}()
431	}
432	result.page, err = client.ListByWorkspace(ctx, resourceGroupName, workspaceName)
433	return
434}
435
436// ReplaceAll replaces firewall rules
437// Parameters:
438// resourceGroupName - the name of the resource group. The name is case insensitive.
439// workspaceName - the name of the workspace
440// request - replace all IP firewall rules request
441func (client IPFirewallRulesClient) ReplaceAll(ctx context.Context, resourceGroupName string, workspaceName string, request ReplaceAllIPFirewallRulesRequest) (result IPFirewallRulesReplaceAllFuture, err error) {
442	if tracing.IsEnabled() {
443		ctx = tracing.StartSpan(ctx, fqdn+"/IPFirewallRulesClient.ReplaceAll")
444		defer func() {
445			sc := -1
446			if result.Response() != nil {
447				sc = result.Response().StatusCode
448			}
449			tracing.EndSpan(ctx, sc, err)
450		}()
451	}
452	if err := validation.Validate([]validation.Validation{
453		{TargetValue: client.SubscriptionID,
454			Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
455		{TargetValue: resourceGroupName,
456			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
457				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
458				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil {
459		return result, validation.NewError("synapse.IPFirewallRulesClient", "ReplaceAll", err.Error())
460	}
461
462	req, err := client.ReplaceAllPreparer(ctx, resourceGroupName, workspaceName, request)
463	if err != nil {
464		err = autorest.NewErrorWithError(err, "synapse.IPFirewallRulesClient", "ReplaceAll", nil, "Failure preparing request")
465		return
466	}
467
468	result, err = client.ReplaceAllSender(req)
469	if err != nil {
470		err = autorest.NewErrorWithError(err, "synapse.IPFirewallRulesClient", "ReplaceAll", result.Response(), "Failure sending request")
471		return
472	}
473
474	return
475}
476
477// ReplaceAllPreparer prepares the ReplaceAll request.
478func (client IPFirewallRulesClient) ReplaceAllPreparer(ctx context.Context, resourceGroupName string, workspaceName string, request ReplaceAllIPFirewallRulesRequest) (*http.Request, error) {
479	pathParameters := map[string]interface{}{
480		"resourceGroupName": autorest.Encode("path", resourceGroupName),
481		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
482		"workspaceName":     autorest.Encode("path", workspaceName),
483	}
484
485	const APIVersion = "2019-06-01-preview"
486	queryParameters := map[string]interface{}{
487		"api-version": APIVersion,
488	}
489
490	preparer := autorest.CreatePreparer(
491		autorest.AsContentType("application/json; charset=utf-8"),
492		autorest.AsPost(),
493		autorest.WithBaseURL(client.BaseURI),
494		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/replaceAllIpFirewallRules", pathParameters),
495		autorest.WithJSON(request),
496		autorest.WithQueryParameters(queryParameters))
497	return preparer.Prepare((&http.Request{}).WithContext(ctx))
498}
499
500// ReplaceAllSender sends the ReplaceAll request. The method will close the
501// http.Response Body if it receives an error.
502func (client IPFirewallRulesClient) ReplaceAllSender(req *http.Request) (future IPFirewallRulesReplaceAllFuture, err error) {
503	var resp *http.Response
504	resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
505	if err != nil {
506		return
507	}
508	future.Future, err = azure.NewFutureFromResponse(resp)
509	return
510}
511
512// ReplaceAllResponder handles the response to the ReplaceAll request. The method always
513// closes the http.Response Body.
514func (client IPFirewallRulesClient) ReplaceAllResponder(resp *http.Response) (result ReplaceAllFirewallRulesOperationResponse, err error) {
515	err = autorest.Respond(
516		resp,
517		client.ByInspecting(),
518		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
519		autorest.ByUnmarshallingJSON(&result),
520		autorest.ByClosing())
521	result.Response = autorest.Response{Response: resp}
522	return
523}
524