1 package dtl
2
3
4
5
6
7
8
9 import (
10 "context"
11 "github.com/Azure/go-autorest/autorest"
12 "github.com/Azure/go-autorest/autorest/azure"
13 "github.com/Azure/go-autorest/autorest/validation"
14 "github.com/Azure/go-autorest/tracing"
15 "net/http"
16 )
17
18
19 type VirtualMachinesClient struct {
20 BaseClient
21 }
22
23
24 func NewVirtualMachinesClient(subscriptionID string) VirtualMachinesClient {
25 return NewVirtualMachinesClientWithBaseURI(DefaultBaseURI, subscriptionID)
26 }
27
28
29
30 func NewVirtualMachinesClientWithBaseURI(baseURI string, subscriptionID string) VirtualMachinesClient {
31 return VirtualMachinesClient{NewWithBaseURI(baseURI, subscriptionID)}
32 }
33
34
35
36
37
38
39
40 func (client VirtualMachinesClient) AddDataDisk(ctx context.Context, resourceGroupName string, labName string, name string, dataDiskProperties DataDiskProperties) (result VirtualMachinesAddDataDiskFuture, err error) {
41 if tracing.IsEnabled() {
42 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.AddDataDisk")
43 defer func() {
44 sc := -1
45 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
46 sc = result.FutureAPI.Response().StatusCode
47 }
48 tracing.EndSpan(ctx, sc, err)
49 }()
50 }
51 req, err := client.AddDataDiskPreparer(ctx, resourceGroupName, labName, name, dataDiskProperties)
52 if err != nil {
53 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "AddDataDisk", nil, "Failure preparing request")
54 return
55 }
56
57 result, err = client.AddDataDiskSender(req)
58 if err != nil {
59 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "AddDataDisk", result.Response(), "Failure sending request")
60 return
61 }
62
63 return
64 }
65
66
67 func (client VirtualMachinesClient) AddDataDiskPreparer(ctx context.Context, resourceGroupName string, labName string, name string, dataDiskProperties DataDiskProperties) (*http.Request, error) {
68 pathParameters := map[string]interface{}{
69 "labName": autorest.Encode("path", labName),
70 "name": autorest.Encode("path", name),
71 "resourceGroupName": autorest.Encode("path", resourceGroupName),
72 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
73 }
74
75 const APIVersion = "2018-09-15"
76 queryParameters := map[string]interface{}{
77 "api-version": APIVersion,
78 }
79
80 preparer := autorest.CreatePreparer(
81 autorest.AsContentType("application/json; charset=utf-8"),
82 autorest.AsPost(),
83 autorest.WithBaseURL(client.BaseURI),
84 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/addDataDisk", pathParameters),
85 autorest.WithJSON(dataDiskProperties),
86 autorest.WithQueryParameters(queryParameters))
87 return preparer.Prepare((&http.Request{}).WithContext(ctx))
88 }
89
90
91
92 func (client VirtualMachinesClient) AddDataDiskSender(req *http.Request) (future VirtualMachinesAddDataDiskFuture, err error) {
93 var resp *http.Response
94 future.FutureAPI = &azure.Future{}
95 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
96 if err != nil {
97 return
98 }
99 var azf azure.Future
100 azf, err = azure.NewFutureFromResponse(resp)
101 future.FutureAPI = &azf
102 future.Result = future.result
103 return
104 }
105
106
107
108 func (client VirtualMachinesClient) AddDataDiskResponder(resp *http.Response) (result autorest.Response, err error) {
109 err = autorest.Respond(
110 resp,
111 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
112 autorest.ByClosing())
113 result.Response = resp
114 return
115 }
116
117
118
119
120
121
122
123 func (client VirtualMachinesClient) ApplyArtifacts(ctx context.Context, resourceGroupName string, labName string, name string, applyArtifactsRequest ApplyArtifactsRequest) (result VirtualMachinesApplyArtifactsFuture, err error) {
124 if tracing.IsEnabled() {
125 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.ApplyArtifacts")
126 defer func() {
127 sc := -1
128 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
129 sc = result.FutureAPI.Response().StatusCode
130 }
131 tracing.EndSpan(ctx, sc, err)
132 }()
133 }
134 req, err := client.ApplyArtifactsPreparer(ctx, resourceGroupName, labName, name, applyArtifactsRequest)
135 if err != nil {
136 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "ApplyArtifacts", nil, "Failure preparing request")
137 return
138 }
139
140 result, err = client.ApplyArtifactsSender(req)
141 if err != nil {
142 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "ApplyArtifacts", result.Response(), "Failure sending request")
143 return
144 }
145
146 return
147 }
148
149
150 func (client VirtualMachinesClient) ApplyArtifactsPreparer(ctx context.Context, resourceGroupName string, labName string, name string, applyArtifactsRequest ApplyArtifactsRequest) (*http.Request, error) {
151 pathParameters := map[string]interface{}{
152 "labName": autorest.Encode("path", labName),
153 "name": autorest.Encode("path", name),
154 "resourceGroupName": autorest.Encode("path", resourceGroupName),
155 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
156 }
157
158 const APIVersion = "2018-09-15"
159 queryParameters := map[string]interface{}{
160 "api-version": APIVersion,
161 }
162
163 preparer := autorest.CreatePreparer(
164 autorest.AsContentType("application/json; charset=utf-8"),
165 autorest.AsPost(),
166 autorest.WithBaseURL(client.BaseURI),
167 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/applyArtifacts", pathParameters),
168 autorest.WithJSON(applyArtifactsRequest),
169 autorest.WithQueryParameters(queryParameters))
170 return preparer.Prepare((&http.Request{}).WithContext(ctx))
171 }
172
173
174
175 func (client VirtualMachinesClient) ApplyArtifactsSender(req *http.Request) (future VirtualMachinesApplyArtifactsFuture, err error) {
176 var resp *http.Response
177 future.FutureAPI = &azure.Future{}
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
190
191 func (client VirtualMachinesClient) ApplyArtifactsResponder(resp *http.Response) (result autorest.Response, err error) {
192 err = autorest.Respond(
193 resp,
194 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
195 autorest.ByClosing())
196 result.Response = resp
197 return
198 }
199
200
201
202
203
204
205 func (client VirtualMachinesClient) Claim(ctx context.Context, resourceGroupName string, labName string, name string) (result VirtualMachinesClaimFuture, err error) {
206 if tracing.IsEnabled() {
207 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.Claim")
208 defer func() {
209 sc := -1
210 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
211 sc = result.FutureAPI.Response().StatusCode
212 }
213 tracing.EndSpan(ctx, sc, err)
214 }()
215 }
216 req, err := client.ClaimPreparer(ctx, resourceGroupName, labName, name)
217 if err != nil {
218 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Claim", nil, "Failure preparing request")
219 return
220 }
221
222 result, err = client.ClaimSender(req)
223 if err != nil {
224 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Claim", result.Response(), "Failure sending request")
225 return
226 }
227
228 return
229 }
230
231
232 func (client VirtualMachinesClient) ClaimPreparer(ctx context.Context, resourceGroupName string, labName string, name string) (*http.Request, error) {
233 pathParameters := map[string]interface{}{
234 "labName": autorest.Encode("path", labName),
235 "name": autorest.Encode("path", name),
236 "resourceGroupName": autorest.Encode("path", resourceGroupName),
237 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
238 }
239
240 const APIVersion = "2018-09-15"
241 queryParameters := map[string]interface{}{
242 "api-version": APIVersion,
243 }
244
245 preparer := autorest.CreatePreparer(
246 autorest.AsPost(),
247 autorest.WithBaseURL(client.BaseURI),
248 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/claim", pathParameters),
249 autorest.WithQueryParameters(queryParameters))
250 return preparer.Prepare((&http.Request{}).WithContext(ctx))
251 }
252
253
254
255 func (client VirtualMachinesClient) ClaimSender(req *http.Request) (future VirtualMachinesClaimFuture, err error) {
256 var resp *http.Response
257 future.FutureAPI = &azure.Future{}
258 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
259 if err != nil {
260 return
261 }
262 var azf azure.Future
263 azf, err = azure.NewFutureFromResponse(resp)
264 future.FutureAPI = &azf
265 future.Result = future.result
266 return
267 }
268
269
270
271 func (client VirtualMachinesClient) ClaimResponder(resp *http.Response) (result autorest.Response, err error) {
272 err = autorest.Respond(
273 resp,
274 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
275 autorest.ByClosing())
276 result.Response = resp
277 return
278 }
279
280
281
282
283
284
285
286 func (client VirtualMachinesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, labName string, name string, labVirtualMachine LabVirtualMachine) (result VirtualMachinesCreateOrUpdateFuture, err error) {
287 if tracing.IsEnabled() {
288 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.CreateOrUpdate")
289 defer func() {
290 sc := -1
291 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
292 sc = result.FutureAPI.Response().StatusCode
293 }
294 tracing.EndSpan(ctx, sc, err)
295 }()
296 }
297 if err := validation.Validate([]validation.Validation{
298 {TargetValue: labVirtualMachine,
299 Constraints: []validation.Constraint{{Target: "labVirtualMachine.LabVirtualMachineProperties", Name: validation.Null, Rule: true,
300 Chain: []validation.Constraint{{Target: "labVirtualMachine.LabVirtualMachineProperties.ApplicableSchedule", Name: validation.Null, Rule: false,
301 Chain: []validation.Constraint{{Target: "labVirtualMachine.LabVirtualMachineProperties.ApplicableSchedule.ApplicableScheduleProperties", Name: validation.Null, Rule: true,
302 Chain: []validation.Constraint{{Target: "labVirtualMachine.LabVirtualMachineProperties.ApplicableSchedule.ApplicableScheduleProperties.LabVmsShutdown", Name: validation.Null, Rule: false,
303 Chain: []validation.Constraint{{Target: "labVirtualMachine.LabVirtualMachineProperties.ApplicableSchedule.ApplicableScheduleProperties.LabVmsShutdown.ScheduleProperties", Name: validation.Null, Rule: true, Chain: nil}}},
304 {Target: "labVirtualMachine.LabVirtualMachineProperties.ApplicableSchedule.ApplicableScheduleProperties.LabVmsStartup", Name: validation.Null, Rule: false,
305 Chain: []validation.Constraint{{Target: "labVirtualMachine.LabVirtualMachineProperties.ApplicableSchedule.ApplicableScheduleProperties.LabVmsStartup.ScheduleProperties", Name: validation.Null, Rule: true, Chain: nil}}},
306 }},
307 }},
308 }}}}}); err != nil {
309 return result, validation.NewError("dtl.VirtualMachinesClient", "CreateOrUpdate", err.Error())
310 }
311
312 req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, labName, name, labVirtualMachine)
313 if err != nil {
314 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "CreateOrUpdate", nil, "Failure preparing request")
315 return
316 }
317
318 result, err = client.CreateOrUpdateSender(req)
319 if err != nil {
320 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "CreateOrUpdate", result.Response(), "Failure sending request")
321 return
322 }
323
324 return
325 }
326
327
328 func (client VirtualMachinesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, labName string, name string, labVirtualMachine LabVirtualMachine) (*http.Request, error) {
329 pathParameters := map[string]interface{}{
330 "labName": autorest.Encode("path", labName),
331 "name": autorest.Encode("path", name),
332 "resourceGroupName": autorest.Encode("path", resourceGroupName),
333 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
334 }
335
336 const APIVersion = "2018-09-15"
337 queryParameters := map[string]interface{}{
338 "api-version": APIVersion,
339 }
340
341 preparer := autorest.CreatePreparer(
342 autorest.AsContentType("application/json; charset=utf-8"),
343 autorest.AsPut(),
344 autorest.WithBaseURL(client.BaseURI),
345 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}", pathParameters),
346 autorest.WithJSON(labVirtualMachine),
347 autorest.WithQueryParameters(queryParameters))
348 return preparer.Prepare((&http.Request{}).WithContext(ctx))
349 }
350
351
352
353 func (client VirtualMachinesClient) CreateOrUpdateSender(req *http.Request) (future VirtualMachinesCreateOrUpdateFuture, err error) {
354 var resp *http.Response
355 future.FutureAPI = &azure.Future{}
356 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
357 if err != nil {
358 return
359 }
360 var azf azure.Future
361 azf, err = azure.NewFutureFromResponse(resp)
362 future.FutureAPI = &azf
363 future.Result = future.result
364 return
365 }
366
367
368
369 func (client VirtualMachinesClient) CreateOrUpdateResponder(resp *http.Response) (result LabVirtualMachine, err error) {
370 err = autorest.Respond(
371 resp,
372 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated),
373 autorest.ByUnmarshallingJSON(&result),
374 autorest.ByClosing())
375 result.Response = autorest.Response{Response: resp}
376 return
377 }
378
379
380
381
382
383
384 func (client VirtualMachinesClient) Delete(ctx context.Context, resourceGroupName string, labName string, name string) (result VirtualMachinesDeleteFuture, err error) {
385 if tracing.IsEnabled() {
386 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.Delete")
387 defer func() {
388 sc := -1
389 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
390 sc = result.FutureAPI.Response().StatusCode
391 }
392 tracing.EndSpan(ctx, sc, err)
393 }()
394 }
395 req, err := client.DeletePreparer(ctx, resourceGroupName, labName, name)
396 if err != nil {
397 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Delete", nil, "Failure preparing request")
398 return
399 }
400
401 result, err = client.DeleteSender(req)
402 if err != nil {
403 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Delete", result.Response(), "Failure sending request")
404 return
405 }
406
407 return
408 }
409
410
411 func (client VirtualMachinesClient) DeletePreparer(ctx context.Context, resourceGroupName string, labName string, name string) (*http.Request, error) {
412 pathParameters := map[string]interface{}{
413 "labName": autorest.Encode("path", labName),
414 "name": autorest.Encode("path", name),
415 "resourceGroupName": autorest.Encode("path", resourceGroupName),
416 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
417 }
418
419 const APIVersion = "2018-09-15"
420 queryParameters := map[string]interface{}{
421 "api-version": APIVersion,
422 }
423
424 preparer := autorest.CreatePreparer(
425 autorest.AsDelete(),
426 autorest.WithBaseURL(client.BaseURI),
427 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}", pathParameters),
428 autorest.WithQueryParameters(queryParameters))
429 return preparer.Prepare((&http.Request{}).WithContext(ctx))
430 }
431
432
433
434 func (client VirtualMachinesClient) DeleteSender(req *http.Request) (future VirtualMachinesDeleteFuture, err error) {
435 var resp *http.Response
436 future.FutureAPI = &azure.Future{}
437 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
438 if err != nil {
439 return
440 }
441 var azf azure.Future
442 azf, err = azure.NewFutureFromResponse(resp)
443 future.FutureAPI = &azf
444 future.Result = future.result
445 return
446 }
447
448
449
450 func (client VirtualMachinesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) {
451 err = autorest.Respond(
452 resp,
453 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent),
454 autorest.ByClosing())
455 result.Response = resp
456 return
457 }
458
459
460
461
462
463
464
465 func (client VirtualMachinesClient) DetachDataDisk(ctx context.Context, resourceGroupName string, labName string, name string, detachDataDiskProperties DetachDataDiskProperties) (result VirtualMachinesDetachDataDiskFuture, err error) {
466 if tracing.IsEnabled() {
467 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.DetachDataDisk")
468 defer func() {
469 sc := -1
470 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
471 sc = result.FutureAPI.Response().StatusCode
472 }
473 tracing.EndSpan(ctx, sc, err)
474 }()
475 }
476 req, err := client.DetachDataDiskPreparer(ctx, resourceGroupName, labName, name, detachDataDiskProperties)
477 if err != nil {
478 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "DetachDataDisk", nil, "Failure preparing request")
479 return
480 }
481
482 result, err = client.DetachDataDiskSender(req)
483 if err != nil {
484 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "DetachDataDisk", result.Response(), "Failure sending request")
485 return
486 }
487
488 return
489 }
490
491
492 func (client VirtualMachinesClient) DetachDataDiskPreparer(ctx context.Context, resourceGroupName string, labName string, name string, detachDataDiskProperties DetachDataDiskProperties) (*http.Request, error) {
493 pathParameters := map[string]interface{}{
494 "labName": autorest.Encode("path", labName),
495 "name": autorest.Encode("path", name),
496 "resourceGroupName": autorest.Encode("path", resourceGroupName),
497 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
498 }
499
500 const APIVersion = "2018-09-15"
501 queryParameters := map[string]interface{}{
502 "api-version": APIVersion,
503 }
504
505 preparer := autorest.CreatePreparer(
506 autorest.AsContentType("application/json; charset=utf-8"),
507 autorest.AsPost(),
508 autorest.WithBaseURL(client.BaseURI),
509 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/detachDataDisk", pathParameters),
510 autorest.WithJSON(detachDataDiskProperties),
511 autorest.WithQueryParameters(queryParameters))
512 return preparer.Prepare((&http.Request{}).WithContext(ctx))
513 }
514
515
516
517 func (client VirtualMachinesClient) DetachDataDiskSender(req *http.Request) (future VirtualMachinesDetachDataDiskFuture, err error) {
518 var resp *http.Response
519 future.FutureAPI = &azure.Future{}
520 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
521 if err != nil {
522 return
523 }
524 var azf azure.Future
525 azf, err = azure.NewFutureFromResponse(resp)
526 future.FutureAPI = &azf
527 future.Result = future.result
528 return
529 }
530
531
532
533 func (client VirtualMachinesClient) DetachDataDiskResponder(resp *http.Response) (result autorest.Response, err error) {
534 err = autorest.Respond(
535 resp,
536 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
537 autorest.ByClosing())
538 result.Response = resp
539 return
540 }
541
542
543
544
545
546
547
548
549 func (client VirtualMachinesClient) Get(ctx context.Context, resourceGroupName string, labName string, name string, expand string) (result LabVirtualMachine, err error) {
550 if tracing.IsEnabled() {
551 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.Get")
552 defer func() {
553 sc := -1
554 if result.Response.Response != nil {
555 sc = result.Response.Response.StatusCode
556 }
557 tracing.EndSpan(ctx, sc, err)
558 }()
559 }
560 req, err := client.GetPreparer(ctx, resourceGroupName, labName, name, expand)
561 if err != nil {
562 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Get", nil, "Failure preparing request")
563 return
564 }
565
566 resp, err := client.GetSender(req)
567 if err != nil {
568 result.Response = autorest.Response{Response: resp}
569 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Get", resp, "Failure sending request")
570 return
571 }
572
573 result, err = client.GetResponder(resp)
574 if err != nil {
575 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Get", resp, "Failure responding to request")
576 return
577 }
578
579 return
580 }
581
582
583 func (client VirtualMachinesClient) GetPreparer(ctx context.Context, resourceGroupName string, labName string, name string, expand string) (*http.Request, error) {
584 pathParameters := map[string]interface{}{
585 "labName": autorest.Encode("path", labName),
586 "name": autorest.Encode("path", name),
587 "resourceGroupName": autorest.Encode("path", resourceGroupName),
588 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
589 }
590
591 const APIVersion = "2018-09-15"
592 queryParameters := map[string]interface{}{
593 "api-version": APIVersion,
594 }
595 if len(expand) > 0 {
596 queryParameters["$expand"] = autorest.Encode("query", expand)
597 }
598
599 preparer := autorest.CreatePreparer(
600 autorest.AsGet(),
601 autorest.WithBaseURL(client.BaseURI),
602 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}", pathParameters),
603 autorest.WithQueryParameters(queryParameters))
604 return preparer.Prepare((&http.Request{}).WithContext(ctx))
605 }
606
607
608
609 func (client VirtualMachinesClient) GetSender(req *http.Request) (*http.Response, error) {
610 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
611 }
612
613
614
615 func (client VirtualMachinesClient) GetResponder(resp *http.Response) (result LabVirtualMachine, err error) {
616 err = autorest.Respond(
617 resp,
618 azure.WithErrorUnlessStatusCode(http.StatusOK),
619 autorest.ByUnmarshallingJSON(&result),
620 autorest.ByClosing())
621 result.Response = autorest.Response{Response: resp}
622 return
623 }
624
625
626
627
628
629
630 func (client VirtualMachinesClient) GetRdpFileContents(ctx context.Context, resourceGroupName string, labName string, name string) (result RdpConnection, err error) {
631 if tracing.IsEnabled() {
632 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.GetRdpFileContents")
633 defer func() {
634 sc := -1
635 if result.Response.Response != nil {
636 sc = result.Response.Response.StatusCode
637 }
638 tracing.EndSpan(ctx, sc, err)
639 }()
640 }
641 req, err := client.GetRdpFileContentsPreparer(ctx, resourceGroupName, labName, name)
642 if err != nil {
643 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "GetRdpFileContents", nil, "Failure preparing request")
644 return
645 }
646
647 resp, err := client.GetRdpFileContentsSender(req)
648 if err != nil {
649 result.Response = autorest.Response{Response: resp}
650 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "GetRdpFileContents", resp, "Failure sending request")
651 return
652 }
653
654 result, err = client.GetRdpFileContentsResponder(resp)
655 if err != nil {
656 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "GetRdpFileContents", resp, "Failure responding to request")
657 return
658 }
659
660 return
661 }
662
663
664 func (client VirtualMachinesClient) GetRdpFileContentsPreparer(ctx context.Context, resourceGroupName string, labName string, name string) (*http.Request, error) {
665 pathParameters := map[string]interface{}{
666 "labName": autorest.Encode("path", labName),
667 "name": autorest.Encode("path", name),
668 "resourceGroupName": autorest.Encode("path", resourceGroupName),
669 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
670 }
671
672 const APIVersion = "2018-09-15"
673 queryParameters := map[string]interface{}{
674 "api-version": APIVersion,
675 }
676
677 preparer := autorest.CreatePreparer(
678 autorest.AsPost(),
679 autorest.WithBaseURL(client.BaseURI),
680 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/getRdpFileContents", pathParameters),
681 autorest.WithQueryParameters(queryParameters))
682 return preparer.Prepare((&http.Request{}).WithContext(ctx))
683 }
684
685
686
687 func (client VirtualMachinesClient) GetRdpFileContentsSender(req *http.Request) (*http.Response, error) {
688 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
689 }
690
691
692
693 func (client VirtualMachinesClient) GetRdpFileContentsResponder(resp *http.Response) (result RdpConnection, err error) {
694 err = autorest.Respond(
695 resp,
696 azure.WithErrorUnlessStatusCode(http.StatusOK),
697 autorest.ByUnmarshallingJSON(&result),
698 autorest.ByClosing())
699 result.Response = autorest.Response{Response: resp}
700 return
701 }
702
703
704
705
706
707
708
709
710
711
712 func (client VirtualMachinesClient) List(ctx context.Context, resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string) (result LabVirtualMachineListPage, err error) {
713 if tracing.IsEnabled() {
714 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.List")
715 defer func() {
716 sc := -1
717 if result.lvml.Response.Response != nil {
718 sc = result.lvml.Response.Response.StatusCode
719 }
720 tracing.EndSpan(ctx, sc, err)
721 }()
722 }
723 result.fn = client.listNextResults
724 req, err := client.ListPreparer(ctx, resourceGroupName, labName, expand, filter, top, orderby)
725 if err != nil {
726 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "List", nil, "Failure preparing request")
727 return
728 }
729
730 resp, err := client.ListSender(req)
731 if err != nil {
732 result.lvml.Response = autorest.Response{Response: resp}
733 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "List", resp, "Failure sending request")
734 return
735 }
736
737 result.lvml, err = client.ListResponder(resp)
738 if err != nil {
739 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "List", resp, "Failure responding to request")
740 return
741 }
742 if result.lvml.hasNextLink() && result.lvml.IsEmpty() {
743 err = result.NextWithContext(ctx)
744 return
745 }
746
747 return
748 }
749
750
751 func (client VirtualMachinesClient) ListPreparer(ctx context.Context, resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string) (*http.Request, error) {
752 pathParameters := map[string]interface{}{
753 "labName": autorest.Encode("path", labName),
754 "resourceGroupName": autorest.Encode("path", resourceGroupName),
755 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
756 }
757
758 const APIVersion = "2018-09-15"
759 queryParameters := map[string]interface{}{
760 "api-version": APIVersion,
761 }
762 if len(expand) > 0 {
763 queryParameters["$expand"] = autorest.Encode("query", expand)
764 }
765 if len(filter) > 0 {
766 queryParameters["$filter"] = autorest.Encode("query", filter)
767 }
768 if top != nil {
769 queryParameters["$top"] = autorest.Encode("query", *top)
770 }
771 if len(orderby) > 0 {
772 queryParameters["$orderby"] = autorest.Encode("query", orderby)
773 }
774
775 preparer := autorest.CreatePreparer(
776 autorest.AsGet(),
777 autorest.WithBaseURL(client.BaseURI),
778 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines", pathParameters),
779 autorest.WithQueryParameters(queryParameters))
780 return preparer.Prepare((&http.Request{}).WithContext(ctx))
781 }
782
783
784
785 func (client VirtualMachinesClient) ListSender(req *http.Request) (*http.Response, error) {
786 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
787 }
788
789
790
791 func (client VirtualMachinesClient) ListResponder(resp *http.Response) (result LabVirtualMachineList, err error) {
792 err = autorest.Respond(
793 resp,
794 azure.WithErrorUnlessStatusCode(http.StatusOK),
795 autorest.ByUnmarshallingJSON(&result),
796 autorest.ByClosing())
797 result.Response = autorest.Response{Response: resp}
798 return
799 }
800
801
802 func (client VirtualMachinesClient) listNextResults(ctx context.Context, lastResults LabVirtualMachineList) (result LabVirtualMachineList, err error) {
803 req, err := lastResults.labVirtualMachineListPreparer(ctx)
804 if err != nil {
805 return result, autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "listNextResults", nil, "Failure preparing next results request")
806 }
807 if req == nil {
808 return
809 }
810 resp, err := client.ListSender(req)
811 if err != nil {
812 result.Response = autorest.Response{Response: resp}
813 return result, autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "listNextResults", resp, "Failure sending next results request")
814 }
815 result, err = client.ListResponder(resp)
816 if err != nil {
817 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "listNextResults", resp, "Failure responding to next results request")
818 }
819 return
820 }
821
822
823 func (client VirtualMachinesClient) ListComplete(ctx context.Context, resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string) (result LabVirtualMachineListIterator, err error) {
824 if tracing.IsEnabled() {
825 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.List")
826 defer func() {
827 sc := -1
828 if result.Response().Response.Response != nil {
829 sc = result.page.Response().Response.Response.StatusCode
830 }
831 tracing.EndSpan(ctx, sc, err)
832 }()
833 }
834 result.page, err = client.List(ctx, resourceGroupName, labName, expand, filter, top, orderby)
835 return
836 }
837
838
839
840
841
842
843 func (client VirtualMachinesClient) ListApplicableSchedules(ctx context.Context, resourceGroupName string, labName string, name string) (result ApplicableSchedule, err error) {
844 if tracing.IsEnabled() {
845 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.ListApplicableSchedules")
846 defer func() {
847 sc := -1
848 if result.Response.Response != nil {
849 sc = result.Response.Response.StatusCode
850 }
851 tracing.EndSpan(ctx, sc, err)
852 }()
853 }
854 req, err := client.ListApplicableSchedulesPreparer(ctx, resourceGroupName, labName, name)
855 if err != nil {
856 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "ListApplicableSchedules", nil, "Failure preparing request")
857 return
858 }
859
860 resp, err := client.ListApplicableSchedulesSender(req)
861 if err != nil {
862 result.Response = autorest.Response{Response: resp}
863 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "ListApplicableSchedules", resp, "Failure sending request")
864 return
865 }
866
867 result, err = client.ListApplicableSchedulesResponder(resp)
868 if err != nil {
869 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "ListApplicableSchedules", resp, "Failure responding to request")
870 return
871 }
872
873 return
874 }
875
876
877 func (client VirtualMachinesClient) ListApplicableSchedulesPreparer(ctx context.Context, resourceGroupName string, labName string, name string) (*http.Request, error) {
878 pathParameters := map[string]interface{}{
879 "labName": autorest.Encode("path", labName),
880 "name": autorest.Encode("path", name),
881 "resourceGroupName": autorest.Encode("path", resourceGroupName),
882 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
883 }
884
885 const APIVersion = "2018-09-15"
886 queryParameters := map[string]interface{}{
887 "api-version": APIVersion,
888 }
889
890 preparer := autorest.CreatePreparer(
891 autorest.AsPost(),
892 autorest.WithBaseURL(client.BaseURI),
893 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/listApplicableSchedules", pathParameters),
894 autorest.WithQueryParameters(queryParameters))
895 return preparer.Prepare((&http.Request{}).WithContext(ctx))
896 }
897
898
899
900 func (client VirtualMachinesClient) ListApplicableSchedulesSender(req *http.Request) (*http.Response, error) {
901 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
902 }
903
904
905
906 func (client VirtualMachinesClient) ListApplicableSchedulesResponder(resp *http.Response) (result ApplicableSchedule, err error) {
907 err = autorest.Respond(
908 resp,
909 azure.WithErrorUnlessStatusCode(http.StatusOK),
910 autorest.ByUnmarshallingJSON(&result),
911 autorest.ByClosing())
912 result.Response = autorest.Response{Response: resp}
913 return
914 }
915
916
917
918
919
920
921 func (client VirtualMachinesClient) Redeploy(ctx context.Context, resourceGroupName string, labName string, name string) (result VirtualMachinesRedeployFuture, err error) {
922 if tracing.IsEnabled() {
923 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.Redeploy")
924 defer func() {
925 sc := -1
926 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
927 sc = result.FutureAPI.Response().StatusCode
928 }
929 tracing.EndSpan(ctx, sc, err)
930 }()
931 }
932 req, err := client.RedeployPreparer(ctx, resourceGroupName, labName, name)
933 if err != nil {
934 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Redeploy", nil, "Failure preparing request")
935 return
936 }
937
938 result, err = client.RedeploySender(req)
939 if err != nil {
940 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Redeploy", result.Response(), "Failure sending request")
941 return
942 }
943
944 return
945 }
946
947
948 func (client VirtualMachinesClient) RedeployPreparer(ctx context.Context, resourceGroupName string, labName string, name string) (*http.Request, error) {
949 pathParameters := map[string]interface{}{
950 "labName": autorest.Encode("path", labName),
951 "name": autorest.Encode("path", name),
952 "resourceGroupName": autorest.Encode("path", resourceGroupName),
953 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
954 }
955
956 const APIVersion = "2018-09-15"
957 queryParameters := map[string]interface{}{
958 "api-version": APIVersion,
959 }
960
961 preparer := autorest.CreatePreparer(
962 autorest.AsPost(),
963 autorest.WithBaseURL(client.BaseURI),
964 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/redeploy", pathParameters),
965 autorest.WithQueryParameters(queryParameters))
966 return preparer.Prepare((&http.Request{}).WithContext(ctx))
967 }
968
969
970
971 func (client VirtualMachinesClient) RedeploySender(req *http.Request) (future VirtualMachinesRedeployFuture, err error) {
972 var resp *http.Response
973 future.FutureAPI = &azure.Future{}
974 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
975 if err != nil {
976 return
977 }
978 var azf azure.Future
979 azf, err = azure.NewFutureFromResponse(resp)
980 future.FutureAPI = &azf
981 future.Result = future.result
982 return
983 }
984
985
986
987 func (client VirtualMachinesClient) RedeployResponder(resp *http.Response) (result autorest.Response, err error) {
988 err = autorest.Respond(
989 resp,
990 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
991 autorest.ByClosing())
992 result.Response = resp
993 return
994 }
995
996
997
998
999
1000
1001
1002 func (client VirtualMachinesClient) Resize(ctx context.Context, resourceGroupName string, labName string, name string, resizeLabVirtualMachineProperties ResizeLabVirtualMachineProperties) (result VirtualMachinesResizeFuture, err error) {
1003 if tracing.IsEnabled() {
1004 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.Resize")
1005 defer func() {
1006 sc := -1
1007 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
1008 sc = result.FutureAPI.Response().StatusCode
1009 }
1010 tracing.EndSpan(ctx, sc, err)
1011 }()
1012 }
1013 req, err := client.ResizePreparer(ctx, resourceGroupName, labName, name, resizeLabVirtualMachineProperties)
1014 if err != nil {
1015 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Resize", nil, "Failure preparing request")
1016 return
1017 }
1018
1019 result, err = client.ResizeSender(req)
1020 if err != nil {
1021 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Resize", result.Response(), "Failure sending request")
1022 return
1023 }
1024
1025 return
1026 }
1027
1028
1029 func (client VirtualMachinesClient) ResizePreparer(ctx context.Context, resourceGroupName string, labName string, name string, resizeLabVirtualMachineProperties ResizeLabVirtualMachineProperties) (*http.Request, error) {
1030 pathParameters := map[string]interface{}{
1031 "labName": autorest.Encode("path", labName),
1032 "name": autorest.Encode("path", name),
1033 "resourceGroupName": autorest.Encode("path", resourceGroupName),
1034 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
1035 }
1036
1037 const APIVersion = "2018-09-15"
1038 queryParameters := map[string]interface{}{
1039 "api-version": APIVersion,
1040 }
1041
1042 preparer := autorest.CreatePreparer(
1043 autorest.AsContentType("application/json; charset=utf-8"),
1044 autorest.AsPost(),
1045 autorest.WithBaseURL(client.BaseURI),
1046 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/resize", pathParameters),
1047 autorest.WithJSON(resizeLabVirtualMachineProperties),
1048 autorest.WithQueryParameters(queryParameters))
1049 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1050 }
1051
1052
1053
1054 func (client VirtualMachinesClient) ResizeSender(req *http.Request) (future VirtualMachinesResizeFuture, err error) {
1055 var resp *http.Response
1056 future.FutureAPI = &azure.Future{}
1057 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
1058 if err != nil {
1059 return
1060 }
1061 var azf azure.Future
1062 azf, err = azure.NewFutureFromResponse(resp)
1063 future.FutureAPI = &azf
1064 future.Result = future.result
1065 return
1066 }
1067
1068
1069
1070 func (client VirtualMachinesClient) ResizeResponder(resp *http.Response) (result autorest.Response, err error) {
1071 err = autorest.Respond(
1072 resp,
1073 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
1074 autorest.ByClosing())
1075 result.Response = resp
1076 return
1077 }
1078
1079
1080
1081
1082
1083
1084 func (client VirtualMachinesClient) Restart(ctx context.Context, resourceGroupName string, labName string, name string) (result VirtualMachinesRestartFuture, err error) {
1085 if tracing.IsEnabled() {
1086 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.Restart")
1087 defer func() {
1088 sc := -1
1089 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
1090 sc = result.FutureAPI.Response().StatusCode
1091 }
1092 tracing.EndSpan(ctx, sc, err)
1093 }()
1094 }
1095 req, err := client.RestartPreparer(ctx, resourceGroupName, labName, name)
1096 if err != nil {
1097 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Restart", nil, "Failure preparing request")
1098 return
1099 }
1100
1101 result, err = client.RestartSender(req)
1102 if err != nil {
1103 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Restart", result.Response(), "Failure sending request")
1104 return
1105 }
1106
1107 return
1108 }
1109
1110
1111 func (client VirtualMachinesClient) RestartPreparer(ctx context.Context, resourceGroupName string, labName string, name string) (*http.Request, error) {
1112 pathParameters := map[string]interface{}{
1113 "labName": autorest.Encode("path", labName),
1114 "name": autorest.Encode("path", name),
1115 "resourceGroupName": autorest.Encode("path", resourceGroupName),
1116 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
1117 }
1118
1119 const APIVersion = "2018-09-15"
1120 queryParameters := map[string]interface{}{
1121 "api-version": APIVersion,
1122 }
1123
1124 preparer := autorest.CreatePreparer(
1125 autorest.AsPost(),
1126 autorest.WithBaseURL(client.BaseURI),
1127 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/restart", pathParameters),
1128 autorest.WithQueryParameters(queryParameters))
1129 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1130 }
1131
1132
1133
1134 func (client VirtualMachinesClient) RestartSender(req *http.Request) (future VirtualMachinesRestartFuture, err error) {
1135 var resp *http.Response
1136 future.FutureAPI = &azure.Future{}
1137 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
1138 if err != nil {
1139 return
1140 }
1141 var azf azure.Future
1142 azf, err = azure.NewFutureFromResponse(resp)
1143 future.FutureAPI = &azf
1144 future.Result = future.result
1145 return
1146 }
1147
1148
1149
1150 func (client VirtualMachinesClient) RestartResponder(resp *http.Response) (result autorest.Response, err error) {
1151 err = autorest.Respond(
1152 resp,
1153 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
1154 autorest.ByClosing())
1155 result.Response = resp
1156 return
1157 }
1158
1159
1160
1161
1162
1163
1164 func (client VirtualMachinesClient) Start(ctx context.Context, resourceGroupName string, labName string, name string) (result VirtualMachinesStartFuture, err error) {
1165 if tracing.IsEnabled() {
1166 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.Start")
1167 defer func() {
1168 sc := -1
1169 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
1170 sc = result.FutureAPI.Response().StatusCode
1171 }
1172 tracing.EndSpan(ctx, sc, err)
1173 }()
1174 }
1175 req, err := client.StartPreparer(ctx, resourceGroupName, labName, name)
1176 if err != nil {
1177 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Start", nil, "Failure preparing request")
1178 return
1179 }
1180
1181 result, err = client.StartSender(req)
1182 if err != nil {
1183 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Start", result.Response(), "Failure sending request")
1184 return
1185 }
1186
1187 return
1188 }
1189
1190
1191 func (client VirtualMachinesClient) StartPreparer(ctx context.Context, resourceGroupName string, labName string, name string) (*http.Request, error) {
1192 pathParameters := map[string]interface{}{
1193 "labName": autorest.Encode("path", labName),
1194 "name": autorest.Encode("path", name),
1195 "resourceGroupName": autorest.Encode("path", resourceGroupName),
1196 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
1197 }
1198
1199 const APIVersion = "2018-09-15"
1200 queryParameters := map[string]interface{}{
1201 "api-version": APIVersion,
1202 }
1203
1204 preparer := autorest.CreatePreparer(
1205 autorest.AsPost(),
1206 autorest.WithBaseURL(client.BaseURI),
1207 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/start", pathParameters),
1208 autorest.WithQueryParameters(queryParameters))
1209 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1210 }
1211
1212
1213
1214 func (client VirtualMachinesClient) StartSender(req *http.Request) (future VirtualMachinesStartFuture, err error) {
1215 var resp *http.Response
1216 future.FutureAPI = &azure.Future{}
1217 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
1218 if err != nil {
1219 return
1220 }
1221 var azf azure.Future
1222 azf, err = azure.NewFutureFromResponse(resp)
1223 future.FutureAPI = &azf
1224 future.Result = future.result
1225 return
1226 }
1227
1228
1229
1230 func (client VirtualMachinesClient) StartResponder(resp *http.Response) (result autorest.Response, err error) {
1231 err = autorest.Respond(
1232 resp,
1233 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
1234 autorest.ByClosing())
1235 result.Response = resp
1236 return
1237 }
1238
1239
1240
1241
1242
1243
1244 func (client VirtualMachinesClient) Stop(ctx context.Context, resourceGroupName string, labName string, name string) (result VirtualMachinesStopFuture, err error) {
1245 if tracing.IsEnabled() {
1246 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.Stop")
1247 defer func() {
1248 sc := -1
1249 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
1250 sc = result.FutureAPI.Response().StatusCode
1251 }
1252 tracing.EndSpan(ctx, sc, err)
1253 }()
1254 }
1255 req, err := client.StopPreparer(ctx, resourceGroupName, labName, name)
1256 if err != nil {
1257 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Stop", nil, "Failure preparing request")
1258 return
1259 }
1260
1261 result, err = client.StopSender(req)
1262 if err != nil {
1263 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Stop", result.Response(), "Failure sending request")
1264 return
1265 }
1266
1267 return
1268 }
1269
1270
1271 func (client VirtualMachinesClient) StopPreparer(ctx context.Context, resourceGroupName string, labName string, name string) (*http.Request, error) {
1272 pathParameters := map[string]interface{}{
1273 "labName": autorest.Encode("path", labName),
1274 "name": autorest.Encode("path", name),
1275 "resourceGroupName": autorest.Encode("path", resourceGroupName),
1276 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
1277 }
1278
1279 const APIVersion = "2018-09-15"
1280 queryParameters := map[string]interface{}{
1281 "api-version": APIVersion,
1282 }
1283
1284 preparer := autorest.CreatePreparer(
1285 autorest.AsPost(),
1286 autorest.WithBaseURL(client.BaseURI),
1287 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/stop", pathParameters),
1288 autorest.WithQueryParameters(queryParameters))
1289 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1290 }
1291
1292
1293
1294 func (client VirtualMachinesClient) StopSender(req *http.Request) (future VirtualMachinesStopFuture, err error) {
1295 var resp *http.Response
1296 future.FutureAPI = &azure.Future{}
1297 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
1298 if err != nil {
1299 return
1300 }
1301 var azf azure.Future
1302 azf, err = azure.NewFutureFromResponse(resp)
1303 future.FutureAPI = &azf
1304 future.Result = future.result
1305 return
1306 }
1307
1308
1309
1310 func (client VirtualMachinesClient) StopResponder(resp *http.Response) (result autorest.Response, err error) {
1311 err = autorest.Respond(
1312 resp,
1313 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
1314 autorest.ByClosing())
1315 result.Response = resp
1316 return
1317 }
1318
1319
1320
1321
1322
1323
1324
1325 func (client VirtualMachinesClient) TransferDisks(ctx context.Context, resourceGroupName string, labName string, name string) (result VirtualMachinesTransferDisksFuture, err error) {
1326 if tracing.IsEnabled() {
1327 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.TransferDisks")
1328 defer func() {
1329 sc := -1
1330 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
1331 sc = result.FutureAPI.Response().StatusCode
1332 }
1333 tracing.EndSpan(ctx, sc, err)
1334 }()
1335 }
1336 req, err := client.TransferDisksPreparer(ctx, resourceGroupName, labName, name)
1337 if err != nil {
1338 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "TransferDisks", nil, "Failure preparing request")
1339 return
1340 }
1341
1342 result, err = client.TransferDisksSender(req)
1343 if err != nil {
1344 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "TransferDisks", result.Response(), "Failure sending request")
1345 return
1346 }
1347
1348 return
1349 }
1350
1351
1352 func (client VirtualMachinesClient) TransferDisksPreparer(ctx context.Context, resourceGroupName string, labName string, name string) (*http.Request, error) {
1353 pathParameters := map[string]interface{}{
1354 "labName": autorest.Encode("path", labName),
1355 "name": autorest.Encode("path", name),
1356 "resourceGroupName": autorest.Encode("path", resourceGroupName),
1357 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
1358 }
1359
1360 const APIVersion = "2018-09-15"
1361 queryParameters := map[string]interface{}{
1362 "api-version": APIVersion,
1363 }
1364
1365 preparer := autorest.CreatePreparer(
1366 autorest.AsPost(),
1367 autorest.WithBaseURL(client.BaseURI),
1368 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/transferDisks", pathParameters),
1369 autorest.WithQueryParameters(queryParameters))
1370 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1371 }
1372
1373
1374
1375 func (client VirtualMachinesClient) TransferDisksSender(req *http.Request) (future VirtualMachinesTransferDisksFuture, err error) {
1376 var resp *http.Response
1377 future.FutureAPI = &azure.Future{}
1378 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
1379 if err != nil {
1380 return
1381 }
1382 var azf azure.Future
1383 azf, err = azure.NewFutureFromResponse(resp)
1384 future.FutureAPI = &azf
1385 future.Result = future.result
1386 return
1387 }
1388
1389
1390
1391 func (client VirtualMachinesClient) TransferDisksResponder(resp *http.Response) (result autorest.Response, err error) {
1392 err = autorest.Respond(
1393 resp,
1394 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
1395 autorest.ByClosing())
1396 result.Response = resp
1397 return
1398 }
1399
1400
1401
1402
1403
1404
1405 func (client VirtualMachinesClient) UnClaim(ctx context.Context, resourceGroupName string, labName string, name string) (result VirtualMachinesUnClaimFuture, err error) {
1406 if tracing.IsEnabled() {
1407 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.UnClaim")
1408 defer func() {
1409 sc := -1
1410 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
1411 sc = result.FutureAPI.Response().StatusCode
1412 }
1413 tracing.EndSpan(ctx, sc, err)
1414 }()
1415 }
1416 req, err := client.UnClaimPreparer(ctx, resourceGroupName, labName, name)
1417 if err != nil {
1418 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "UnClaim", nil, "Failure preparing request")
1419 return
1420 }
1421
1422 result, err = client.UnClaimSender(req)
1423 if err != nil {
1424 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "UnClaim", result.Response(), "Failure sending request")
1425 return
1426 }
1427
1428 return
1429 }
1430
1431
1432 func (client VirtualMachinesClient) UnClaimPreparer(ctx context.Context, resourceGroupName string, labName string, name string) (*http.Request, error) {
1433 pathParameters := map[string]interface{}{
1434 "labName": autorest.Encode("path", labName),
1435 "name": autorest.Encode("path", name),
1436 "resourceGroupName": autorest.Encode("path", resourceGroupName),
1437 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
1438 }
1439
1440 const APIVersion = "2018-09-15"
1441 queryParameters := map[string]interface{}{
1442 "api-version": APIVersion,
1443 }
1444
1445 preparer := autorest.CreatePreparer(
1446 autorest.AsPost(),
1447 autorest.WithBaseURL(client.BaseURI),
1448 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/unClaim", pathParameters),
1449 autorest.WithQueryParameters(queryParameters))
1450 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1451 }
1452
1453
1454
1455 func (client VirtualMachinesClient) UnClaimSender(req *http.Request) (future VirtualMachinesUnClaimFuture, err error) {
1456 var resp *http.Response
1457 future.FutureAPI = &azure.Future{}
1458 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
1459 if err != nil {
1460 return
1461 }
1462 var azf azure.Future
1463 azf, err = azure.NewFutureFromResponse(resp)
1464 future.FutureAPI = &azf
1465 future.Result = future.result
1466 return
1467 }
1468
1469
1470
1471 func (client VirtualMachinesClient) UnClaimResponder(resp *http.Response) (result autorest.Response, err error) {
1472 err = autorest.Respond(
1473 resp,
1474 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
1475 autorest.ByClosing())
1476 result.Response = resp
1477 return
1478 }
1479
1480
1481
1482
1483
1484
1485
1486 func (client VirtualMachinesClient) Update(ctx context.Context, resourceGroupName string, labName string, name string, labVirtualMachine LabVirtualMachineFragment) (result LabVirtualMachine, err error) {
1487 if tracing.IsEnabled() {
1488 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.Update")
1489 defer func() {
1490 sc := -1
1491 if result.Response.Response != nil {
1492 sc = result.Response.Response.StatusCode
1493 }
1494 tracing.EndSpan(ctx, sc, err)
1495 }()
1496 }
1497 req, err := client.UpdatePreparer(ctx, resourceGroupName, labName, name, labVirtualMachine)
1498 if err != nil {
1499 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Update", nil, "Failure preparing request")
1500 return
1501 }
1502
1503 resp, err := client.UpdateSender(req)
1504 if err != nil {
1505 result.Response = autorest.Response{Response: resp}
1506 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Update", resp, "Failure sending request")
1507 return
1508 }
1509
1510 result, err = client.UpdateResponder(resp)
1511 if err != nil {
1512 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Update", resp, "Failure responding to request")
1513 return
1514 }
1515
1516 return
1517 }
1518
1519
1520 func (client VirtualMachinesClient) UpdatePreparer(ctx context.Context, resourceGroupName string, labName string, name string, labVirtualMachine LabVirtualMachineFragment) (*http.Request, error) {
1521 pathParameters := map[string]interface{}{
1522 "labName": autorest.Encode("path", labName),
1523 "name": autorest.Encode("path", name),
1524 "resourceGroupName": autorest.Encode("path", resourceGroupName),
1525 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
1526 }
1527
1528 const APIVersion = "2018-09-15"
1529 queryParameters := map[string]interface{}{
1530 "api-version": APIVersion,
1531 }
1532
1533 preparer := autorest.CreatePreparer(
1534 autorest.AsContentType("application/json; charset=utf-8"),
1535 autorest.AsPatch(),
1536 autorest.WithBaseURL(client.BaseURI),
1537 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}", pathParameters),
1538 autorest.WithJSON(labVirtualMachine),
1539 autorest.WithQueryParameters(queryParameters))
1540 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1541 }
1542
1543
1544
1545 func (client VirtualMachinesClient) UpdateSender(req *http.Request) (*http.Response, error) {
1546 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1547 }
1548
1549
1550
1551 func (client VirtualMachinesClient) UpdateResponder(resp *http.Response) (result LabVirtualMachine, err error) {
1552 err = autorest.Respond(
1553 resp,
1554 azure.WithErrorUnlessStatusCode(http.StatusOK),
1555 autorest.ByUnmarshallingJSON(&result),
1556 autorest.ByClosing())
1557 result.Response = autorest.Response{Response: resp}
1558 return
1559 }
1560
View as plain text