1package migrate
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/tracing"
25	"net/http"
26)
27
28// HyperVSitesClient is the discover your workloads for Azure.
29type HyperVSitesClient struct {
30	BaseClient
31}
32
33// NewHyperVSitesClient creates an instance of the HyperVSitesClient client.
34func NewHyperVSitesClient() HyperVSitesClient {
35	return NewHyperVSitesClientWithBaseURI(DefaultBaseURI)
36}
37
38// NewHyperVSitesClientWithBaseURI creates an instance of the HyperVSitesClient client using a custom endpoint.  Use
39// this when interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure stack).
40func NewHyperVSitesClientWithBaseURI(baseURI string) HyperVSitesClient {
41	return HyperVSitesClient{NewWithBaseURI(baseURI)}
42}
43
44// DeleteSite sends the delete site request.
45// Parameters:
46// subscriptionID - the ID of the target subscription.
47// resourceGroupName - the name of the resource group. The name is case insensitive.
48// siteName - site name.
49// APIVersion - the API version to use for this operation.
50func (client HyperVSitesClient) DeleteSite(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, APIVersion string) (result autorest.Response, err error) {
51	if tracing.IsEnabled() {
52		ctx = tracing.StartSpan(ctx, fqdn+"/HyperVSitesClient.DeleteSite")
53		defer func() {
54			sc := -1
55			if result.Response != nil {
56				sc = result.Response.StatusCode
57			}
58			tracing.EndSpan(ctx, sc, err)
59		}()
60	}
61	req, err := client.DeleteSitePreparer(ctx, subscriptionID, resourceGroupName, siteName, APIVersion)
62	if err != nil {
63		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "DeleteSite", nil, "Failure preparing request")
64		return
65	}
66
67	resp, err := client.DeleteSiteSender(req)
68	if err != nil {
69		result.Response = resp
70		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "DeleteSite", resp, "Failure sending request")
71		return
72	}
73
74	result, err = client.DeleteSiteResponder(resp)
75	if err != nil {
76		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "DeleteSite", resp, "Failure responding to request")
77	}
78
79	return
80}
81
82// DeleteSitePreparer prepares the DeleteSite request.
83func (client HyperVSitesClient) DeleteSitePreparer(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, APIVersion string) (*http.Request, error) {
84	pathParameters := map[string]interface{}{
85		"resourceGroupName": autorest.Encode("path", resourceGroupName),
86		"siteName":          autorest.Encode("path", siteName),
87		"subscriptionId":    autorest.Encode("path", subscriptionID),
88	}
89
90	queryParameters := map[string]interface{}{
91		"api-version": APIVersion,
92	}
93
94	preparer := autorest.CreatePreparer(
95		autorest.AsDelete(),
96		autorest.WithBaseURL(client.BaseURI),
97		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}", pathParameters),
98		autorest.WithQueryParameters(queryParameters))
99	return preparer.Prepare((&http.Request{}).WithContext(ctx))
100}
101
102// DeleteSiteSender sends the DeleteSite request. The method will close the
103// http.Response Body if it receives an error.
104func (client HyperVSitesClient) DeleteSiteSender(req *http.Request) (*http.Response, error) {
105	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
106}
107
108// DeleteSiteResponder handles the response to the DeleteSite request. The method always
109// closes the http.Response Body.
110func (client HyperVSitesClient) DeleteSiteResponder(resp *http.Response) (result autorest.Response, err error) {
111	err = autorest.Respond(
112		resp,
113		client.ByInspecting(),
114		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
115		autorest.ByClosing())
116	result.Response = resp
117	return
118}
119
120// GetSite sends the get site request.
121// Parameters:
122// subscriptionID - the ID of the target subscription.
123// resourceGroupName - the name of the resource group. The name is case insensitive.
124// siteName - site name.
125// APIVersion - the API version to use for this operation.
126func (client HyperVSitesClient) GetSite(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, APIVersion string) (result HyperVSite, err error) {
127	if tracing.IsEnabled() {
128		ctx = tracing.StartSpan(ctx, fqdn+"/HyperVSitesClient.GetSite")
129		defer func() {
130			sc := -1
131			if result.Response.Response != nil {
132				sc = result.Response.Response.StatusCode
133			}
134			tracing.EndSpan(ctx, sc, err)
135		}()
136	}
137	req, err := client.GetSitePreparer(ctx, subscriptionID, resourceGroupName, siteName, APIVersion)
138	if err != nil {
139		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "GetSite", nil, "Failure preparing request")
140		return
141	}
142
143	resp, err := client.GetSiteSender(req)
144	if err != nil {
145		result.Response = autorest.Response{Response: resp}
146		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "GetSite", resp, "Failure sending request")
147		return
148	}
149
150	result, err = client.GetSiteResponder(resp)
151	if err != nil {
152		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "GetSite", resp, "Failure responding to request")
153	}
154
155	return
156}
157
158// GetSitePreparer prepares the GetSite request.
159func (client HyperVSitesClient) GetSitePreparer(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, APIVersion string) (*http.Request, error) {
160	pathParameters := map[string]interface{}{
161		"resourceGroupName": autorest.Encode("path", resourceGroupName),
162		"siteName":          autorest.Encode("path", siteName),
163		"subscriptionId":    autorest.Encode("path", subscriptionID),
164	}
165
166	queryParameters := map[string]interface{}{
167		"api-version": APIVersion,
168	}
169
170	preparer := autorest.CreatePreparer(
171		autorest.AsGet(),
172		autorest.WithBaseURL(client.BaseURI),
173		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}", pathParameters),
174		autorest.WithQueryParameters(queryParameters))
175	return preparer.Prepare((&http.Request{}).WithContext(ctx))
176}
177
178// GetSiteSender sends the GetSite request. The method will close the
179// http.Response Body if it receives an error.
180func (client HyperVSitesClient) GetSiteSender(req *http.Request) (*http.Response, error) {
181	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
182}
183
184// GetSiteResponder handles the response to the GetSite request. The method always
185// closes the http.Response Body.
186func (client HyperVSitesClient) GetSiteResponder(resp *http.Response) (result HyperVSite, err error) {
187	err = autorest.Respond(
188		resp,
189		client.ByInspecting(),
190		azure.WithErrorUnlessStatusCode(http.StatusOK),
191		autorest.ByUnmarshallingJSON(&result),
192		autorest.ByClosing())
193	result.Response = autorest.Response{Response: resp}
194	return
195}
196
197// GetSiteHealthSummary sends the get site health summary request.
198// Parameters:
199// subscriptionID - the ID of the target subscription.
200// resourceGroupName - the name of the resource group. The name is case insensitive.
201// siteName - site name.
202// APIVersion - the API version to use for this operation.
203func (client HyperVSitesClient) GetSiteHealthSummary(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, APIVersion string) (result SiteHealthSummaryCollectionPage, err error) {
204	if tracing.IsEnabled() {
205		ctx = tracing.StartSpan(ctx, fqdn+"/HyperVSitesClient.GetSiteHealthSummary")
206		defer func() {
207			sc := -1
208			if result.shsc.Response.Response != nil {
209				sc = result.shsc.Response.Response.StatusCode
210			}
211			tracing.EndSpan(ctx, sc, err)
212		}()
213	}
214	result.fn = client.getSiteHealthSummaryNextResults
215	req, err := client.GetSiteHealthSummaryPreparer(ctx, subscriptionID, resourceGroupName, siteName, APIVersion)
216	if err != nil {
217		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "GetSiteHealthSummary", nil, "Failure preparing request")
218		return
219	}
220
221	resp, err := client.GetSiteHealthSummarySender(req)
222	if err != nil {
223		result.shsc.Response = autorest.Response{Response: resp}
224		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "GetSiteHealthSummary", resp, "Failure sending request")
225		return
226	}
227
228	result.shsc, err = client.GetSiteHealthSummaryResponder(resp)
229	if err != nil {
230		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "GetSiteHealthSummary", resp, "Failure responding to request")
231	}
232
233	return
234}
235
236// GetSiteHealthSummaryPreparer prepares the GetSiteHealthSummary request.
237func (client HyperVSitesClient) GetSiteHealthSummaryPreparer(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, APIVersion string) (*http.Request, error) {
238	pathParameters := map[string]interface{}{
239		"resourceGroupName": autorest.Encode("path", resourceGroupName),
240		"siteName":          autorest.Encode("path", siteName),
241		"subscriptionId":    autorest.Encode("path", subscriptionID),
242	}
243
244	queryParameters := map[string]interface{}{
245		"api-version": APIVersion,
246	}
247
248	preparer := autorest.CreatePreparer(
249		autorest.AsPost(),
250		autorest.WithBaseURL(client.BaseURI),
251		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}/healthSummary", pathParameters),
252		autorest.WithQueryParameters(queryParameters))
253	return preparer.Prepare((&http.Request{}).WithContext(ctx))
254}
255
256// GetSiteHealthSummarySender sends the GetSiteHealthSummary request. The method will close the
257// http.Response Body if it receives an error.
258func (client HyperVSitesClient) GetSiteHealthSummarySender(req *http.Request) (*http.Response, error) {
259	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
260}
261
262// GetSiteHealthSummaryResponder handles the response to the GetSiteHealthSummary request. The method always
263// closes the http.Response Body.
264func (client HyperVSitesClient) GetSiteHealthSummaryResponder(resp *http.Response) (result SiteHealthSummaryCollection, err error) {
265	err = autorest.Respond(
266		resp,
267		client.ByInspecting(),
268		azure.WithErrorUnlessStatusCode(http.StatusOK),
269		autorest.ByUnmarshallingJSON(&result),
270		autorest.ByClosing())
271	result.Response = autorest.Response{Response: resp}
272	return
273}
274
275// getSiteHealthSummaryNextResults retrieves the next set of results, if any.
276func (client HyperVSitesClient) getSiteHealthSummaryNextResults(ctx context.Context, lastResults SiteHealthSummaryCollection) (result SiteHealthSummaryCollection, err error) {
277	req, err := lastResults.siteHealthSummaryCollectionPreparer(ctx)
278	if err != nil {
279		return result, autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "getSiteHealthSummaryNextResults", nil, "Failure preparing next results request")
280	}
281	if req == nil {
282		return
283	}
284	resp, err := client.GetSiteHealthSummarySender(req)
285	if err != nil {
286		result.Response = autorest.Response{Response: resp}
287		return result, autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "getSiteHealthSummaryNextResults", resp, "Failure sending next results request")
288	}
289	result, err = client.GetSiteHealthSummaryResponder(resp)
290	if err != nil {
291		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "getSiteHealthSummaryNextResults", resp, "Failure responding to next results request")
292	}
293	return
294}
295
296// GetSiteHealthSummaryComplete enumerates all values, automatically crossing page boundaries as required.
297func (client HyperVSitesClient) GetSiteHealthSummaryComplete(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, APIVersion string) (result SiteHealthSummaryCollectionIterator, err error) {
298	if tracing.IsEnabled() {
299		ctx = tracing.StartSpan(ctx, fqdn+"/HyperVSitesClient.GetSiteHealthSummary")
300		defer func() {
301			sc := -1
302			if result.Response().Response.Response != nil {
303				sc = result.page.Response().Response.Response.StatusCode
304			}
305			tracing.EndSpan(ctx, sc, err)
306		}()
307	}
308	result.page, err = client.GetSiteHealthSummary(ctx, subscriptionID, resourceGroupName, siteName, APIVersion)
309	return
310}
311
312// GetSiteUsage sends the get site usage request.
313// Parameters:
314// subscriptionID - the ID of the target subscription.
315// resourceGroupName - the name of the resource group. The name is case insensitive.
316// siteName - site name.
317func (client HyperVSitesClient) GetSiteUsage(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, APIVersion string) (result HyperVSiteUsage, err error) {
318	if tracing.IsEnabled() {
319		ctx = tracing.StartSpan(ctx, fqdn+"/HyperVSitesClient.GetSiteUsage")
320		defer func() {
321			sc := -1
322			if result.Response.Response != nil {
323				sc = result.Response.Response.StatusCode
324			}
325			tracing.EndSpan(ctx, sc, err)
326		}()
327	}
328	req, err := client.GetSiteUsagePreparer(ctx, subscriptionID, resourceGroupName, siteName, APIVersion)
329	if err != nil {
330		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "GetSiteUsage", nil, "Failure preparing request")
331		return
332	}
333
334	resp, err := client.GetSiteUsageSender(req)
335	if err != nil {
336		result.Response = autorest.Response{Response: resp}
337		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "GetSiteUsage", resp, "Failure sending request")
338		return
339	}
340
341	result, err = client.GetSiteUsageResponder(resp)
342	if err != nil {
343		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "GetSiteUsage", resp, "Failure responding to request")
344	}
345
346	return
347}
348
349// GetSiteUsagePreparer prepares the GetSiteUsage request.
350func (client HyperVSitesClient) GetSiteUsagePreparer(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, APIVersion string) (*http.Request, error) {
351	pathParameters := map[string]interface{}{
352		"resourceGroupName": autorest.Encode("path", resourceGroupName),
353		"siteName":          autorest.Encode("path", siteName),
354		"subscriptionId":    autorest.Encode("path", subscriptionID),
355	}
356
357	queryParameters := map[string]interface{}{
358		"api-version": APIVersion,
359	}
360
361	preparer := autorest.CreatePreparer(
362		autorest.AsPost(),
363		autorest.WithBaseURL(client.BaseURI),
364		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}/summary", pathParameters),
365		autorest.WithQueryParameters(queryParameters))
366	return preparer.Prepare((&http.Request{}).WithContext(ctx))
367}
368
369// GetSiteUsageSender sends the GetSiteUsage request. The method will close the
370// http.Response Body if it receives an error.
371func (client HyperVSitesClient) GetSiteUsageSender(req *http.Request) (*http.Response, error) {
372	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
373}
374
375// GetSiteUsageResponder handles the response to the GetSiteUsage request. The method always
376// closes the http.Response Body.
377func (client HyperVSitesClient) GetSiteUsageResponder(resp *http.Response) (result HyperVSiteUsage, err error) {
378	err = autorest.Respond(
379		resp,
380		client.ByInspecting(),
381		azure.WithErrorUnlessStatusCode(http.StatusOK),
382		autorest.ByUnmarshallingJSON(&result),
383		autorest.ByClosing())
384	result.Response = autorest.Response{Response: resp}
385	return
386}
387
388// PatchSite sends the patch site request.
389// Parameters:
390// subscriptionID - the ID of the target subscription.
391// resourceGroupName - the name of the resource group. The name is case insensitive.
392// siteName - site name.
393// body - body with site details.
394// APIVersion - the API version to use for this operation.
395func (client HyperVSitesClient) PatchSite(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, body HyperVSite, APIVersion string) (result HyperVSite, err error) {
396	if tracing.IsEnabled() {
397		ctx = tracing.StartSpan(ctx, fqdn+"/HyperVSitesClient.PatchSite")
398		defer func() {
399			sc := -1
400			if result.Response.Response != nil {
401				sc = result.Response.Response.StatusCode
402			}
403			tracing.EndSpan(ctx, sc, err)
404		}()
405	}
406	req, err := client.PatchSitePreparer(ctx, subscriptionID, resourceGroupName, siteName, body, APIVersion)
407	if err != nil {
408		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "PatchSite", nil, "Failure preparing request")
409		return
410	}
411
412	resp, err := client.PatchSiteSender(req)
413	if err != nil {
414		result.Response = autorest.Response{Response: resp}
415		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "PatchSite", resp, "Failure sending request")
416		return
417	}
418
419	result, err = client.PatchSiteResponder(resp)
420	if err != nil {
421		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "PatchSite", resp, "Failure responding to request")
422	}
423
424	return
425}
426
427// PatchSitePreparer prepares the PatchSite request.
428func (client HyperVSitesClient) PatchSitePreparer(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, body HyperVSite, APIVersion string) (*http.Request, error) {
429	pathParameters := map[string]interface{}{
430		"resourceGroupName": autorest.Encode("path", resourceGroupName),
431		"siteName":          autorest.Encode("path", siteName),
432		"subscriptionId":    autorest.Encode("path", subscriptionID),
433	}
434
435	queryParameters := map[string]interface{}{
436		"api-version": APIVersion,
437	}
438
439	body.ID = nil
440	body.Type = nil
441	preparer := autorest.CreatePreparer(
442		autorest.AsContentType("application/json; charset=utf-8"),
443		autorest.AsPatch(),
444		autorest.WithBaseURL(client.BaseURI),
445		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}", pathParameters),
446		autorest.WithJSON(body),
447		autorest.WithQueryParameters(queryParameters))
448	return preparer.Prepare((&http.Request{}).WithContext(ctx))
449}
450
451// PatchSiteSender sends the PatchSite request. The method will close the
452// http.Response Body if it receives an error.
453func (client HyperVSitesClient) PatchSiteSender(req *http.Request) (*http.Response, error) {
454	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
455}
456
457// PatchSiteResponder handles the response to the PatchSite request. The method always
458// closes the http.Response Body.
459func (client HyperVSitesClient) PatchSiteResponder(resp *http.Response) (result HyperVSite, err error) {
460	err = autorest.Respond(
461		resp,
462		client.ByInspecting(),
463		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated),
464		autorest.ByUnmarshallingJSON(&result),
465		autorest.ByClosing())
466	result.Response = autorest.Response{Response: resp}
467	return
468}
469
470// PutSite sends the put site request.
471// Parameters:
472// subscriptionID - the ID of the target subscription.
473// resourceGroupName - the name of the resource group. The name is case insensitive.
474// siteName - site name.
475// body - body with site details.
476// APIVersion - the API version to use for this operation.
477func (client HyperVSitesClient) PutSite(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, body HyperVSite, APIVersion string) (result HyperVSite, err error) {
478	if tracing.IsEnabled() {
479		ctx = tracing.StartSpan(ctx, fqdn+"/HyperVSitesClient.PutSite")
480		defer func() {
481			sc := -1
482			if result.Response.Response != nil {
483				sc = result.Response.Response.StatusCode
484			}
485			tracing.EndSpan(ctx, sc, err)
486		}()
487	}
488	req, err := client.PutSitePreparer(ctx, subscriptionID, resourceGroupName, siteName, body, APIVersion)
489	if err != nil {
490		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "PutSite", nil, "Failure preparing request")
491		return
492	}
493
494	resp, err := client.PutSiteSender(req)
495	if err != nil {
496		result.Response = autorest.Response{Response: resp}
497		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "PutSite", resp, "Failure sending request")
498		return
499	}
500
501	result, err = client.PutSiteResponder(resp)
502	if err != nil {
503		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "PutSite", resp, "Failure responding to request")
504	}
505
506	return
507}
508
509// PutSitePreparer prepares the PutSite request.
510func (client HyperVSitesClient) PutSitePreparer(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, body HyperVSite, APIVersion string) (*http.Request, error) {
511	pathParameters := map[string]interface{}{
512		"resourceGroupName": autorest.Encode("path", resourceGroupName),
513		"siteName":          autorest.Encode("path", siteName),
514		"subscriptionId":    autorest.Encode("path", subscriptionID),
515	}
516
517	queryParameters := map[string]interface{}{
518		"api-version": APIVersion,
519	}
520
521	body.ID = nil
522	body.Type = nil
523	preparer := autorest.CreatePreparer(
524		autorest.AsContentType("application/json; charset=utf-8"),
525		autorest.AsPut(),
526		autorest.WithBaseURL(client.BaseURI),
527		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}", pathParameters),
528		autorest.WithJSON(body),
529		autorest.WithQueryParameters(queryParameters))
530	return preparer.Prepare((&http.Request{}).WithContext(ctx))
531}
532
533// PutSiteSender sends the PutSite request. The method will close the
534// http.Response Body if it receives an error.
535func (client HyperVSitesClient) PutSiteSender(req *http.Request) (*http.Response, error) {
536	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
537}
538
539// PutSiteResponder handles the response to the PutSite request. The method always
540// closes the http.Response Body.
541func (client HyperVSitesClient) PutSiteResponder(resp *http.Response) (result HyperVSite, err error) {
542	err = autorest.Respond(
543		resp,
544		client.ByInspecting(),
545		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated),
546		autorest.ByUnmarshallingJSON(&result),
547		autorest.ByClosing())
548	result.Response = autorest.Response{Response: resp}
549	return
550}
551
552// RefreshSite sends the refresh site request.
553// Parameters:
554// subscriptionID - the ID of the target subscription.
555// resourceGroupName - the name of the resource group. The name is case insensitive.
556// siteName - site name.
557// APIVersion - the API version to use for this operation.
558func (client HyperVSitesClient) RefreshSite(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, APIVersion string) (result autorest.Response, err error) {
559	if tracing.IsEnabled() {
560		ctx = tracing.StartSpan(ctx, fqdn+"/HyperVSitesClient.RefreshSite")
561		defer func() {
562			sc := -1
563			if result.Response != nil {
564				sc = result.Response.StatusCode
565			}
566			tracing.EndSpan(ctx, sc, err)
567		}()
568	}
569	req, err := client.RefreshSitePreparer(ctx, subscriptionID, resourceGroupName, siteName, APIVersion)
570	if err != nil {
571		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "RefreshSite", nil, "Failure preparing request")
572		return
573	}
574
575	resp, err := client.RefreshSiteSender(req)
576	if err != nil {
577		result.Response = resp
578		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "RefreshSite", resp, "Failure sending request")
579		return
580	}
581
582	result, err = client.RefreshSiteResponder(resp)
583	if err != nil {
584		err = autorest.NewErrorWithError(err, "migrate.HyperVSitesClient", "RefreshSite", resp, "Failure responding to request")
585	}
586
587	return
588}
589
590// RefreshSitePreparer prepares the RefreshSite request.
591func (client HyperVSitesClient) RefreshSitePreparer(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, APIVersion string) (*http.Request, error) {
592	pathParameters := map[string]interface{}{
593		"resourceGroupName": autorest.Encode("path", resourceGroupName),
594		"siteName":          autorest.Encode("path", siteName),
595		"subscriptionId":    autorest.Encode("path", subscriptionID),
596	}
597
598	queryParameters := map[string]interface{}{
599		"api-version": APIVersion,
600	}
601
602	preparer := autorest.CreatePreparer(
603		autorest.AsPost(),
604		autorest.WithBaseURL(client.BaseURI),
605		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}/refresh", pathParameters),
606		autorest.WithQueryParameters(queryParameters))
607	return preparer.Prepare((&http.Request{}).WithContext(ctx))
608}
609
610// RefreshSiteSender sends the RefreshSite request. The method will close the
611// http.Response Body if it receives an error.
612func (client HyperVSitesClient) RefreshSiteSender(req *http.Request) (*http.Response, error) {
613	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
614}
615
616// RefreshSiteResponder handles the response to the RefreshSite request. The method always
617// closes the http.Response Body.
618func (client HyperVSitesClient) RefreshSiteResponder(resp *http.Response) (result autorest.Response, err error) {
619	err = autorest.Respond(
620		resp,
621		client.ByInspecting(),
622		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
623		autorest.ByClosing())
624	result.Response = resp
625	return
626}
627