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 = "2016-05-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 = "2016-05-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 = "2016-05-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 = "2016-05-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 = "2016-05-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 = "2016-05-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 = "2016-05-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
631
632
633
634 func (client VirtualMachinesClient) List(ctx context.Context, resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationLabVirtualMachinePage, err error) {
635 if tracing.IsEnabled() {
636 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.List")
637 defer func() {
638 sc := -1
639 if result.rwclvm.Response.Response != nil {
640 sc = result.rwclvm.Response.Response.StatusCode
641 }
642 tracing.EndSpan(ctx, sc, err)
643 }()
644 }
645 result.fn = client.listNextResults
646 req, err := client.ListPreparer(ctx, resourceGroupName, labName, expand, filter, top, orderby)
647 if err != nil {
648 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "List", nil, "Failure preparing request")
649 return
650 }
651
652 resp, err := client.ListSender(req)
653 if err != nil {
654 result.rwclvm.Response = autorest.Response{Response: resp}
655 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "List", resp, "Failure sending request")
656 return
657 }
658
659 result.rwclvm, err = client.ListResponder(resp)
660 if err != nil {
661 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "List", resp, "Failure responding to request")
662 return
663 }
664 if result.rwclvm.hasNextLink() && result.rwclvm.IsEmpty() {
665 err = result.NextWithContext(ctx)
666 return
667 }
668
669 return
670 }
671
672
673 func (client VirtualMachinesClient) ListPreparer(ctx context.Context, resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string) (*http.Request, error) {
674 pathParameters := map[string]interface{}{
675 "labName": autorest.Encode("path", labName),
676 "resourceGroupName": autorest.Encode("path", resourceGroupName),
677 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
678 }
679
680 const APIVersion = "2016-05-15"
681 queryParameters := map[string]interface{}{
682 "api-version": APIVersion,
683 }
684 if len(expand) > 0 {
685 queryParameters["$expand"] = autorest.Encode("query", expand)
686 }
687 if len(filter) > 0 {
688 queryParameters["$filter"] = autorest.Encode("query", filter)
689 }
690 if top != nil {
691 queryParameters["$top"] = autorest.Encode("query", *top)
692 }
693 if len(orderby) > 0 {
694 queryParameters["$orderby"] = autorest.Encode("query", orderby)
695 }
696
697 preparer := autorest.CreatePreparer(
698 autorest.AsGet(),
699 autorest.WithBaseURL(client.BaseURI),
700 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines", pathParameters),
701 autorest.WithQueryParameters(queryParameters))
702 return preparer.Prepare((&http.Request{}).WithContext(ctx))
703 }
704
705
706
707 func (client VirtualMachinesClient) ListSender(req *http.Request) (*http.Response, error) {
708 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
709 }
710
711
712
713 func (client VirtualMachinesClient) ListResponder(resp *http.Response) (result ResponseWithContinuationLabVirtualMachine, err error) {
714 err = autorest.Respond(
715 resp,
716 azure.WithErrorUnlessStatusCode(http.StatusOK),
717 autorest.ByUnmarshallingJSON(&result),
718 autorest.ByClosing())
719 result.Response = autorest.Response{Response: resp}
720 return
721 }
722
723
724 func (client VirtualMachinesClient) listNextResults(ctx context.Context, lastResults ResponseWithContinuationLabVirtualMachine) (result ResponseWithContinuationLabVirtualMachine, err error) {
725 req, err := lastResults.responseWithContinuationLabVirtualMachinePreparer(ctx)
726 if err != nil {
727 return result, autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "listNextResults", nil, "Failure preparing next results request")
728 }
729 if req == nil {
730 return
731 }
732 resp, err := client.ListSender(req)
733 if err != nil {
734 result.Response = autorest.Response{Response: resp}
735 return result, autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "listNextResults", resp, "Failure sending next results request")
736 }
737 result, err = client.ListResponder(resp)
738 if err != nil {
739 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "listNextResults", resp, "Failure responding to next results request")
740 }
741 return
742 }
743
744
745 func (client VirtualMachinesClient) ListComplete(ctx context.Context, resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationLabVirtualMachineIterator, err error) {
746 if tracing.IsEnabled() {
747 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.List")
748 defer func() {
749 sc := -1
750 if result.Response().Response.Response != nil {
751 sc = result.page.Response().Response.Response.StatusCode
752 }
753 tracing.EndSpan(ctx, sc, err)
754 }()
755 }
756 result.page, err = client.List(ctx, resourceGroupName, labName, expand, filter, top, orderby)
757 return
758 }
759
760
761
762
763
764
765 func (client VirtualMachinesClient) ListApplicableSchedules(ctx context.Context, resourceGroupName string, labName string, name string) (result ApplicableSchedule, err error) {
766 if tracing.IsEnabled() {
767 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.ListApplicableSchedules")
768 defer func() {
769 sc := -1
770 if result.Response.Response != nil {
771 sc = result.Response.Response.StatusCode
772 }
773 tracing.EndSpan(ctx, sc, err)
774 }()
775 }
776 req, err := client.ListApplicableSchedulesPreparer(ctx, resourceGroupName, labName, name)
777 if err != nil {
778 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "ListApplicableSchedules", nil, "Failure preparing request")
779 return
780 }
781
782 resp, err := client.ListApplicableSchedulesSender(req)
783 if err != nil {
784 result.Response = autorest.Response{Response: resp}
785 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "ListApplicableSchedules", resp, "Failure sending request")
786 return
787 }
788
789 result, err = client.ListApplicableSchedulesResponder(resp)
790 if err != nil {
791 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "ListApplicableSchedules", resp, "Failure responding to request")
792 return
793 }
794
795 return
796 }
797
798
799 func (client VirtualMachinesClient) ListApplicableSchedulesPreparer(ctx context.Context, resourceGroupName string, labName string, name string) (*http.Request, error) {
800 pathParameters := map[string]interface{}{
801 "labName": autorest.Encode("path", labName),
802 "name": autorest.Encode("path", name),
803 "resourceGroupName": autorest.Encode("path", resourceGroupName),
804 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
805 }
806
807 const APIVersion = "2016-05-15"
808 queryParameters := map[string]interface{}{
809 "api-version": APIVersion,
810 }
811
812 preparer := autorest.CreatePreparer(
813 autorest.AsPost(),
814 autorest.WithBaseURL(client.BaseURI),
815 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/listApplicableSchedules", pathParameters),
816 autorest.WithQueryParameters(queryParameters))
817 return preparer.Prepare((&http.Request{}).WithContext(ctx))
818 }
819
820
821
822 func (client VirtualMachinesClient) ListApplicableSchedulesSender(req *http.Request) (*http.Response, error) {
823 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
824 }
825
826
827
828 func (client VirtualMachinesClient) ListApplicableSchedulesResponder(resp *http.Response) (result ApplicableSchedule, err error) {
829 err = autorest.Respond(
830 resp,
831 azure.WithErrorUnlessStatusCode(http.StatusOK),
832 autorest.ByUnmarshallingJSON(&result),
833 autorest.ByClosing())
834 result.Response = autorest.Response{Response: resp}
835 return
836 }
837
838
839
840
841
842
843 func (client VirtualMachinesClient) Start(ctx context.Context, resourceGroupName string, labName string, name string) (result VirtualMachinesStartFuture, err error) {
844 if tracing.IsEnabled() {
845 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.Start")
846 defer func() {
847 sc := -1
848 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
849 sc = result.FutureAPI.Response().StatusCode
850 }
851 tracing.EndSpan(ctx, sc, err)
852 }()
853 }
854 req, err := client.StartPreparer(ctx, resourceGroupName, labName, name)
855 if err != nil {
856 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Start", nil, "Failure preparing request")
857 return
858 }
859
860 result, err = client.StartSender(req)
861 if err != nil {
862 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Start", result.Response(), "Failure sending request")
863 return
864 }
865
866 return
867 }
868
869
870 func (client VirtualMachinesClient) StartPreparer(ctx context.Context, resourceGroupName string, labName string, name string) (*http.Request, error) {
871 pathParameters := map[string]interface{}{
872 "labName": autorest.Encode("path", labName),
873 "name": autorest.Encode("path", name),
874 "resourceGroupName": autorest.Encode("path", resourceGroupName),
875 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
876 }
877
878 const APIVersion = "2016-05-15"
879 queryParameters := map[string]interface{}{
880 "api-version": APIVersion,
881 }
882
883 preparer := autorest.CreatePreparer(
884 autorest.AsPost(),
885 autorest.WithBaseURL(client.BaseURI),
886 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/start", pathParameters),
887 autorest.WithQueryParameters(queryParameters))
888 return preparer.Prepare((&http.Request{}).WithContext(ctx))
889 }
890
891
892
893 func (client VirtualMachinesClient) StartSender(req *http.Request) (future VirtualMachinesStartFuture, err error) {
894 var resp *http.Response
895 future.FutureAPI = &azure.Future{}
896 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
897 if err != nil {
898 return
899 }
900 var azf azure.Future
901 azf, err = azure.NewFutureFromResponse(resp)
902 future.FutureAPI = &azf
903 future.Result = future.result
904 return
905 }
906
907
908
909 func (client VirtualMachinesClient) StartResponder(resp *http.Response) (result autorest.Response, err error) {
910 err = autorest.Respond(
911 resp,
912 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
913 autorest.ByClosing())
914 result.Response = resp
915 return
916 }
917
918
919
920
921
922
923 func (client VirtualMachinesClient) Stop(ctx context.Context, resourceGroupName string, labName string, name string) (result VirtualMachinesStopFuture, err error) {
924 if tracing.IsEnabled() {
925 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.Stop")
926 defer func() {
927 sc := -1
928 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
929 sc = result.FutureAPI.Response().StatusCode
930 }
931 tracing.EndSpan(ctx, sc, err)
932 }()
933 }
934 req, err := client.StopPreparer(ctx, resourceGroupName, labName, name)
935 if err != nil {
936 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Stop", nil, "Failure preparing request")
937 return
938 }
939
940 result, err = client.StopSender(req)
941 if err != nil {
942 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Stop", result.Response(), "Failure sending request")
943 return
944 }
945
946 return
947 }
948
949
950 func (client VirtualMachinesClient) StopPreparer(ctx context.Context, resourceGroupName string, labName string, name string) (*http.Request, error) {
951 pathParameters := map[string]interface{}{
952 "labName": autorest.Encode("path", labName),
953 "name": autorest.Encode("path", name),
954 "resourceGroupName": autorest.Encode("path", resourceGroupName),
955 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
956 }
957
958 const APIVersion = "2016-05-15"
959 queryParameters := map[string]interface{}{
960 "api-version": APIVersion,
961 }
962
963 preparer := autorest.CreatePreparer(
964 autorest.AsPost(),
965 autorest.WithBaseURL(client.BaseURI),
966 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/stop", pathParameters),
967 autorest.WithQueryParameters(queryParameters))
968 return preparer.Prepare((&http.Request{}).WithContext(ctx))
969 }
970
971
972
973 func (client VirtualMachinesClient) StopSender(req *http.Request) (future VirtualMachinesStopFuture, err error) {
974 var resp *http.Response
975 future.FutureAPI = &azure.Future{}
976 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
977 if err != nil {
978 return
979 }
980 var azf azure.Future
981 azf, err = azure.NewFutureFromResponse(resp)
982 future.FutureAPI = &azf
983 future.Result = future.result
984 return
985 }
986
987
988
989 func (client VirtualMachinesClient) StopResponder(resp *http.Response) (result autorest.Response, err error) {
990 err = autorest.Respond(
991 resp,
992 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
993 autorest.ByClosing())
994 result.Response = resp
995 return
996 }
997
998
999
1000
1001
1002
1003
1004 func (client VirtualMachinesClient) Update(ctx context.Context, resourceGroupName string, labName string, name string, labVirtualMachine LabVirtualMachineFragment) (result LabVirtualMachine, err error) {
1005 if tracing.IsEnabled() {
1006 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachinesClient.Update")
1007 defer func() {
1008 sc := -1
1009 if result.Response.Response != nil {
1010 sc = result.Response.Response.StatusCode
1011 }
1012 tracing.EndSpan(ctx, sc, err)
1013 }()
1014 }
1015 req, err := client.UpdatePreparer(ctx, resourceGroupName, labName, name, labVirtualMachine)
1016 if err != nil {
1017 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Update", nil, "Failure preparing request")
1018 return
1019 }
1020
1021 resp, err := client.UpdateSender(req)
1022 if err != nil {
1023 result.Response = autorest.Response{Response: resp}
1024 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Update", resp, "Failure sending request")
1025 return
1026 }
1027
1028 result, err = client.UpdateResponder(resp)
1029 if err != nil {
1030 err = autorest.NewErrorWithError(err, "dtl.VirtualMachinesClient", "Update", resp, "Failure responding to request")
1031 return
1032 }
1033
1034 return
1035 }
1036
1037
1038 func (client VirtualMachinesClient) UpdatePreparer(ctx context.Context, resourceGroupName string, labName string, name string, labVirtualMachine LabVirtualMachineFragment) (*http.Request, error) {
1039 pathParameters := map[string]interface{}{
1040 "labName": autorest.Encode("path", labName),
1041 "name": autorest.Encode("path", name),
1042 "resourceGroupName": autorest.Encode("path", resourceGroupName),
1043 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
1044 }
1045
1046 const APIVersion = "2016-05-15"
1047 queryParameters := map[string]interface{}{
1048 "api-version": APIVersion,
1049 }
1050
1051 preparer := autorest.CreatePreparer(
1052 autorest.AsContentType("application/json; charset=utf-8"),
1053 autorest.AsPatch(),
1054 autorest.WithBaseURL(client.BaseURI),
1055 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}", pathParameters),
1056 autorest.WithJSON(labVirtualMachine),
1057 autorest.WithQueryParameters(queryParameters))
1058 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1059 }
1060
1061
1062
1063 func (client VirtualMachinesClient) UpdateSender(req *http.Request) (*http.Response, error) {
1064 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1065 }
1066
1067
1068
1069 func (client VirtualMachinesClient) UpdateResponder(resp *http.Response) (result LabVirtualMachine, err error) {
1070 err = autorest.Respond(
1071 resp,
1072 azure.WithErrorUnlessStatusCode(http.StatusOK),
1073 autorest.ByUnmarshallingJSON(&result),
1074 autorest.ByClosing())
1075 result.Response = autorest.Response{Response: resp}
1076 return
1077 }
1078
View as plain text