1 package compute
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 DisksClient struct {
20 BaseClient
21 }
22
23
24 func NewDisksClient(subscriptionID string) DisksClient {
25 return NewDisksClientWithBaseURI(DefaultBaseURI, subscriptionID)
26 }
27
28
29
30 func NewDisksClientWithBaseURI(baseURI string, subscriptionID string) DisksClient {
31 return DisksClient{NewWithBaseURI(baseURI, subscriptionID)}
32 }
33
34
35
36
37
38
39
40
41 func (client DisksClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, diskName string, disk Disk) (result DisksCreateOrUpdateFuture, err error) {
42 if tracing.IsEnabled() {
43 ctx = tracing.StartSpan(ctx, fqdn+"/DisksClient.CreateOrUpdate")
44 defer func() {
45 sc := -1
46 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
47 sc = result.FutureAPI.Response().StatusCode
48 }
49 tracing.EndSpan(ctx, sc, err)
50 }()
51 }
52 if err := validation.Validate([]validation.Validation{
53 {TargetValue: disk,
54 Constraints: []validation.Constraint{{Target: "disk.DiskProperties", Name: validation.Null, Rule: false,
55 Chain: []validation.Constraint{{Target: "disk.DiskProperties.PurchasePlan", Name: validation.Null, Rule: false,
56 Chain: []validation.Constraint{{Target: "disk.DiskProperties.PurchasePlan.Publisher", Name: validation.Null, Rule: true, Chain: nil},
57 {Target: "disk.DiskProperties.PurchasePlan.Name", Name: validation.Null, Rule: true, Chain: nil},
58 {Target: "disk.DiskProperties.PurchasePlan.Product", Name: validation.Null, Rule: true, Chain: nil},
59 }},
60 {Target: "disk.DiskProperties.CreationData", Name: validation.Null, Rule: true,
61 Chain: []validation.Constraint{{Target: "disk.DiskProperties.CreationData.ImageReference", Name: validation.Null, Rule: false,
62 Chain: []validation.Constraint{{Target: "disk.DiskProperties.CreationData.ImageReference.ID", Name: validation.Null, Rule: true, Chain: nil}}},
63 {Target: "disk.DiskProperties.CreationData.GalleryImageReference", Name: validation.Null, Rule: false,
64 Chain: []validation.Constraint{{Target: "disk.DiskProperties.CreationData.GalleryImageReference.ID", Name: validation.Null, Rule: true, Chain: nil}}},
65 }},
66 {Target: "disk.DiskProperties.EncryptionSettingsCollection", Name: validation.Null, Rule: false,
67 Chain: []validation.Constraint{{Target: "disk.DiskProperties.EncryptionSettingsCollection.Enabled", Name: validation.Null, Rule: true, Chain: nil}}},
68 }}}}}); err != nil {
69 return result, validation.NewError("compute.DisksClient", "CreateOrUpdate", err.Error())
70 }
71
72 req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, diskName, disk)
73 if err != nil {
74 err = autorest.NewErrorWithError(err, "compute.DisksClient", "CreateOrUpdate", nil, "Failure preparing request")
75 return
76 }
77
78 result, err = client.CreateOrUpdateSender(req)
79 if err != nil {
80 err = autorest.NewErrorWithError(err, "compute.DisksClient", "CreateOrUpdate", result.Response(), "Failure sending request")
81 return
82 }
83
84 return
85 }
86
87
88 func (client DisksClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, diskName string, disk Disk) (*http.Request, error) {
89 pathParameters := map[string]interface{}{
90 "diskName": autorest.Encode("path", diskName),
91 "resourceGroupName": autorest.Encode("path", resourceGroupName),
92 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
93 }
94
95 const APIVersion = "2021-12-01"
96 queryParameters := map[string]interface{}{
97 "api-version": APIVersion,
98 }
99
100 disk.ManagedBy = nil
101 disk.ManagedByExtended = nil
102 preparer := autorest.CreatePreparer(
103 autorest.AsContentType("application/json; charset=utf-8"),
104 autorest.AsPut(),
105 autorest.WithBaseURL(client.BaseURI),
106 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}", pathParameters),
107 autorest.WithJSON(disk),
108 autorest.WithQueryParameters(queryParameters))
109 return preparer.Prepare((&http.Request{}).WithContext(ctx))
110 }
111
112
113
114 func (client DisksClient) CreateOrUpdateSender(req *http.Request) (future DisksCreateOrUpdateFuture, err error) {
115 var resp *http.Response
116 future.FutureAPI = &azure.Future{}
117 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
118 if err != nil {
119 return
120 }
121 var azf azure.Future
122 azf, err = azure.NewFutureFromResponse(resp)
123 future.FutureAPI = &azf
124 future.Result = future.result
125 return
126 }
127
128
129
130 func (client DisksClient) CreateOrUpdateResponder(resp *http.Response) (result Disk, err error) {
131 err = autorest.Respond(
132 resp,
133 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
134 autorest.ByUnmarshallingJSON(&result),
135 autorest.ByClosing())
136 result.Response = autorest.Response{Response: resp}
137 return
138 }
139
140
141
142
143
144
145
146 func (client DisksClient) Delete(ctx context.Context, resourceGroupName string, diskName string) (result DisksDeleteFuture, err error) {
147 if tracing.IsEnabled() {
148 ctx = tracing.StartSpan(ctx, fqdn+"/DisksClient.Delete")
149 defer func() {
150 sc := -1
151 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
152 sc = result.FutureAPI.Response().StatusCode
153 }
154 tracing.EndSpan(ctx, sc, err)
155 }()
156 }
157 req, err := client.DeletePreparer(ctx, resourceGroupName, diskName)
158 if err != nil {
159 err = autorest.NewErrorWithError(err, "compute.DisksClient", "Delete", nil, "Failure preparing request")
160 return
161 }
162
163 result, err = client.DeleteSender(req)
164 if err != nil {
165 err = autorest.NewErrorWithError(err, "compute.DisksClient", "Delete", result.Response(), "Failure sending request")
166 return
167 }
168
169 return
170 }
171
172
173 func (client DisksClient) DeletePreparer(ctx context.Context, resourceGroupName string, diskName string) (*http.Request, error) {
174 pathParameters := map[string]interface{}{
175 "diskName": autorest.Encode("path", diskName),
176 "resourceGroupName": autorest.Encode("path", resourceGroupName),
177 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
178 }
179
180 const APIVersion = "2021-12-01"
181 queryParameters := map[string]interface{}{
182 "api-version": APIVersion,
183 }
184
185 preparer := autorest.CreatePreparer(
186 autorest.AsDelete(),
187 autorest.WithBaseURL(client.BaseURI),
188 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}", pathParameters),
189 autorest.WithQueryParameters(queryParameters))
190 return preparer.Prepare((&http.Request{}).WithContext(ctx))
191 }
192
193
194
195 func (client DisksClient) DeleteSender(req *http.Request) (future DisksDeleteFuture, err error) {
196 var resp *http.Response
197 future.FutureAPI = &azure.Future{}
198 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
199 if err != nil {
200 return
201 }
202 var azf azure.Future
203 azf, err = azure.NewFutureFromResponse(resp)
204 future.FutureAPI = &azf
205 future.Result = future.result
206 return
207 }
208
209
210
211 func (client DisksClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) {
212 err = autorest.Respond(
213 resp,
214 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent),
215 autorest.ByClosing())
216 result.Response = resp
217 return
218 }
219
220
221
222
223
224
225
226 func (client DisksClient) Get(ctx context.Context, resourceGroupName string, diskName string) (result Disk, err error) {
227 if tracing.IsEnabled() {
228 ctx = tracing.StartSpan(ctx, fqdn+"/DisksClient.Get")
229 defer func() {
230 sc := -1
231 if result.Response.Response != nil {
232 sc = result.Response.Response.StatusCode
233 }
234 tracing.EndSpan(ctx, sc, err)
235 }()
236 }
237 req, err := client.GetPreparer(ctx, resourceGroupName, diskName)
238 if err != nil {
239 err = autorest.NewErrorWithError(err, "compute.DisksClient", "Get", nil, "Failure preparing request")
240 return
241 }
242
243 resp, err := client.GetSender(req)
244 if err != nil {
245 result.Response = autorest.Response{Response: resp}
246 err = autorest.NewErrorWithError(err, "compute.DisksClient", "Get", resp, "Failure sending request")
247 return
248 }
249
250 result, err = client.GetResponder(resp)
251 if err != nil {
252 err = autorest.NewErrorWithError(err, "compute.DisksClient", "Get", resp, "Failure responding to request")
253 return
254 }
255
256 return
257 }
258
259
260 func (client DisksClient) GetPreparer(ctx context.Context, resourceGroupName string, diskName string) (*http.Request, error) {
261 pathParameters := map[string]interface{}{
262 "diskName": autorest.Encode("path", diskName),
263 "resourceGroupName": autorest.Encode("path", resourceGroupName),
264 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
265 }
266
267 const APIVersion = "2021-12-01"
268 queryParameters := map[string]interface{}{
269 "api-version": APIVersion,
270 }
271
272 preparer := autorest.CreatePreparer(
273 autorest.AsGet(),
274 autorest.WithBaseURL(client.BaseURI),
275 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}", pathParameters),
276 autorest.WithQueryParameters(queryParameters))
277 return preparer.Prepare((&http.Request{}).WithContext(ctx))
278 }
279
280
281
282 func (client DisksClient) GetSender(req *http.Request) (*http.Response, error) {
283 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
284 }
285
286
287
288 func (client DisksClient) GetResponder(resp *http.Response) (result Disk, err error) {
289 err = autorest.Respond(
290 resp,
291 azure.WithErrorUnlessStatusCode(http.StatusOK),
292 autorest.ByUnmarshallingJSON(&result),
293 autorest.ByClosing())
294 result.Response = autorest.Response{Response: resp}
295 return
296 }
297
298
299
300
301
302
303
304
305 func (client DisksClient) GrantAccess(ctx context.Context, resourceGroupName string, diskName string, grantAccessData GrantAccessData) (result DisksGrantAccessFuture, err error) {
306 if tracing.IsEnabled() {
307 ctx = tracing.StartSpan(ctx, fqdn+"/DisksClient.GrantAccess")
308 defer func() {
309 sc := -1
310 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
311 sc = result.FutureAPI.Response().StatusCode
312 }
313 tracing.EndSpan(ctx, sc, err)
314 }()
315 }
316 if err := validation.Validate([]validation.Validation{
317 {TargetValue: grantAccessData,
318 Constraints: []validation.Constraint{{Target: "grantAccessData.DurationInSeconds", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil {
319 return result, validation.NewError("compute.DisksClient", "GrantAccess", err.Error())
320 }
321
322 req, err := client.GrantAccessPreparer(ctx, resourceGroupName, diskName, grantAccessData)
323 if err != nil {
324 err = autorest.NewErrorWithError(err, "compute.DisksClient", "GrantAccess", nil, "Failure preparing request")
325 return
326 }
327
328 result, err = client.GrantAccessSender(req)
329 if err != nil {
330 err = autorest.NewErrorWithError(err, "compute.DisksClient", "GrantAccess", result.Response(), "Failure sending request")
331 return
332 }
333
334 return
335 }
336
337
338 func (client DisksClient) GrantAccessPreparer(ctx context.Context, resourceGroupName string, diskName string, grantAccessData GrantAccessData) (*http.Request, error) {
339 pathParameters := map[string]interface{}{
340 "diskName": autorest.Encode("path", diskName),
341 "resourceGroupName": autorest.Encode("path", resourceGroupName),
342 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
343 }
344
345 const APIVersion = "2021-12-01"
346 queryParameters := map[string]interface{}{
347 "api-version": APIVersion,
348 }
349
350 preparer := autorest.CreatePreparer(
351 autorest.AsContentType("application/json; charset=utf-8"),
352 autorest.AsPost(),
353 autorest.WithBaseURL(client.BaseURI),
354 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/beginGetAccess", pathParameters),
355 autorest.WithJSON(grantAccessData),
356 autorest.WithQueryParameters(queryParameters))
357 return preparer.Prepare((&http.Request{}).WithContext(ctx))
358 }
359
360
361
362 func (client DisksClient) GrantAccessSender(req *http.Request) (future DisksGrantAccessFuture, err error) {
363 var resp *http.Response
364 future.FutureAPI = &azure.Future{}
365 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
366 if err != nil {
367 return
368 }
369 var azf azure.Future
370 azf, err = azure.NewFutureFromResponse(resp)
371 future.FutureAPI = &azf
372 future.Result = future.result
373 return
374 }
375
376
377
378 func (client DisksClient) GrantAccessResponder(resp *http.Response) (result AccessURI, err error) {
379 err = autorest.Respond(
380 resp,
381 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
382 autorest.ByUnmarshallingJSON(&result),
383 autorest.ByClosing())
384 result.Response = autorest.Response{Response: resp}
385 return
386 }
387
388
389 func (client DisksClient) List(ctx context.Context) (result DiskListPage, err error) {
390 if tracing.IsEnabled() {
391 ctx = tracing.StartSpan(ctx, fqdn+"/DisksClient.List")
392 defer func() {
393 sc := -1
394 if result.dl.Response.Response != nil {
395 sc = result.dl.Response.Response.StatusCode
396 }
397 tracing.EndSpan(ctx, sc, err)
398 }()
399 }
400 result.fn = client.listNextResults
401 req, err := client.ListPreparer(ctx)
402 if err != nil {
403 err = autorest.NewErrorWithError(err, "compute.DisksClient", "List", nil, "Failure preparing request")
404 return
405 }
406
407 resp, err := client.ListSender(req)
408 if err != nil {
409 result.dl.Response = autorest.Response{Response: resp}
410 err = autorest.NewErrorWithError(err, "compute.DisksClient", "List", resp, "Failure sending request")
411 return
412 }
413
414 result.dl, err = client.ListResponder(resp)
415 if err != nil {
416 err = autorest.NewErrorWithError(err, "compute.DisksClient", "List", resp, "Failure responding to request")
417 return
418 }
419 if result.dl.hasNextLink() && result.dl.IsEmpty() {
420 err = result.NextWithContext(ctx)
421 return
422 }
423
424 return
425 }
426
427
428 func (client DisksClient) ListPreparer(ctx context.Context) (*http.Request, error) {
429 pathParameters := map[string]interface{}{
430 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
431 }
432
433 const APIVersion = "2021-12-01"
434 queryParameters := map[string]interface{}{
435 "api-version": APIVersion,
436 }
437
438 preparer := autorest.CreatePreparer(
439 autorest.AsGet(),
440 autorest.WithBaseURL(client.BaseURI),
441 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks", pathParameters),
442 autorest.WithQueryParameters(queryParameters))
443 return preparer.Prepare((&http.Request{}).WithContext(ctx))
444 }
445
446
447
448 func (client DisksClient) ListSender(req *http.Request) (*http.Response, error) {
449 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
450 }
451
452
453
454 func (client DisksClient) ListResponder(resp *http.Response) (result DiskList, err error) {
455 err = autorest.Respond(
456 resp,
457 azure.WithErrorUnlessStatusCode(http.StatusOK),
458 autorest.ByUnmarshallingJSON(&result),
459 autorest.ByClosing())
460 result.Response = autorest.Response{Response: resp}
461 return
462 }
463
464
465 func (client DisksClient) listNextResults(ctx context.Context, lastResults DiskList) (result DiskList, err error) {
466 req, err := lastResults.diskListPreparer(ctx)
467 if err != nil {
468 return result, autorest.NewErrorWithError(err, "compute.DisksClient", "listNextResults", nil, "Failure preparing next results request")
469 }
470 if req == nil {
471 return
472 }
473 resp, err := client.ListSender(req)
474 if err != nil {
475 result.Response = autorest.Response{Response: resp}
476 return result, autorest.NewErrorWithError(err, "compute.DisksClient", "listNextResults", resp, "Failure sending next results request")
477 }
478 result, err = client.ListResponder(resp)
479 if err != nil {
480 err = autorest.NewErrorWithError(err, "compute.DisksClient", "listNextResults", resp, "Failure responding to next results request")
481 }
482 return
483 }
484
485
486 func (client DisksClient) ListComplete(ctx context.Context) (result DiskListIterator, err error) {
487 if tracing.IsEnabled() {
488 ctx = tracing.StartSpan(ctx, fqdn+"/DisksClient.List")
489 defer func() {
490 sc := -1
491 if result.Response().Response.Response != nil {
492 sc = result.page.Response().Response.Response.StatusCode
493 }
494 tracing.EndSpan(ctx, sc, err)
495 }()
496 }
497 result.page, err = client.List(ctx)
498 return
499 }
500
501
502
503
504 func (client DisksClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result DiskListPage, err error) {
505 if tracing.IsEnabled() {
506 ctx = tracing.StartSpan(ctx, fqdn+"/DisksClient.ListByResourceGroup")
507 defer func() {
508 sc := -1
509 if result.dl.Response.Response != nil {
510 sc = result.dl.Response.Response.StatusCode
511 }
512 tracing.EndSpan(ctx, sc, err)
513 }()
514 }
515 result.fn = client.listByResourceGroupNextResults
516 req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName)
517 if err != nil {
518 err = autorest.NewErrorWithError(err, "compute.DisksClient", "ListByResourceGroup", nil, "Failure preparing request")
519 return
520 }
521
522 resp, err := client.ListByResourceGroupSender(req)
523 if err != nil {
524 result.dl.Response = autorest.Response{Response: resp}
525 err = autorest.NewErrorWithError(err, "compute.DisksClient", "ListByResourceGroup", resp, "Failure sending request")
526 return
527 }
528
529 result.dl, err = client.ListByResourceGroupResponder(resp)
530 if err != nil {
531 err = autorest.NewErrorWithError(err, "compute.DisksClient", "ListByResourceGroup", resp, "Failure responding to request")
532 return
533 }
534 if result.dl.hasNextLink() && result.dl.IsEmpty() {
535 err = result.NextWithContext(ctx)
536 return
537 }
538
539 return
540 }
541
542
543 func (client DisksClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) {
544 pathParameters := map[string]interface{}{
545 "resourceGroupName": autorest.Encode("path", resourceGroupName),
546 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
547 }
548
549 const APIVersion = "2021-12-01"
550 queryParameters := map[string]interface{}{
551 "api-version": APIVersion,
552 }
553
554 preparer := autorest.CreatePreparer(
555 autorest.AsGet(),
556 autorest.WithBaseURL(client.BaseURI),
557 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks", pathParameters),
558 autorest.WithQueryParameters(queryParameters))
559 return preparer.Prepare((&http.Request{}).WithContext(ctx))
560 }
561
562
563
564 func (client DisksClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) {
565 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
566 }
567
568
569
570 func (client DisksClient) ListByResourceGroupResponder(resp *http.Response) (result DiskList, err error) {
571 err = autorest.Respond(
572 resp,
573 azure.WithErrorUnlessStatusCode(http.StatusOK),
574 autorest.ByUnmarshallingJSON(&result),
575 autorest.ByClosing())
576 result.Response = autorest.Response{Response: resp}
577 return
578 }
579
580
581 func (client DisksClient) listByResourceGroupNextResults(ctx context.Context, lastResults DiskList) (result DiskList, err error) {
582 req, err := lastResults.diskListPreparer(ctx)
583 if err != nil {
584 return result, autorest.NewErrorWithError(err, "compute.DisksClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request")
585 }
586 if req == nil {
587 return
588 }
589 resp, err := client.ListByResourceGroupSender(req)
590 if err != nil {
591 result.Response = autorest.Response{Response: resp}
592 return result, autorest.NewErrorWithError(err, "compute.DisksClient", "listByResourceGroupNextResults", resp, "Failure sending next results request")
593 }
594 result, err = client.ListByResourceGroupResponder(resp)
595 if err != nil {
596 err = autorest.NewErrorWithError(err, "compute.DisksClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request")
597 }
598 return
599 }
600
601
602 func (client DisksClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result DiskListIterator, err error) {
603 if tracing.IsEnabled() {
604 ctx = tracing.StartSpan(ctx, fqdn+"/DisksClient.ListByResourceGroup")
605 defer func() {
606 sc := -1
607 if result.Response().Response.Response != nil {
608 sc = result.page.Response().Response.Response.StatusCode
609 }
610 tracing.EndSpan(ctx, sc, err)
611 }()
612 }
613 result.page, err = client.ListByResourceGroup(ctx, resourceGroupName)
614 return
615 }
616
617
618
619
620
621
622
623 func (client DisksClient) RevokeAccess(ctx context.Context, resourceGroupName string, diskName string) (result DisksRevokeAccessFuture, err error) {
624 if tracing.IsEnabled() {
625 ctx = tracing.StartSpan(ctx, fqdn+"/DisksClient.RevokeAccess")
626 defer func() {
627 sc := -1
628 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
629 sc = result.FutureAPI.Response().StatusCode
630 }
631 tracing.EndSpan(ctx, sc, err)
632 }()
633 }
634 req, err := client.RevokeAccessPreparer(ctx, resourceGroupName, diskName)
635 if err != nil {
636 err = autorest.NewErrorWithError(err, "compute.DisksClient", "RevokeAccess", nil, "Failure preparing request")
637 return
638 }
639
640 result, err = client.RevokeAccessSender(req)
641 if err != nil {
642 err = autorest.NewErrorWithError(err, "compute.DisksClient", "RevokeAccess", result.Response(), "Failure sending request")
643 return
644 }
645
646 return
647 }
648
649
650 func (client DisksClient) RevokeAccessPreparer(ctx context.Context, resourceGroupName string, diskName string) (*http.Request, error) {
651 pathParameters := map[string]interface{}{
652 "diskName": autorest.Encode("path", diskName),
653 "resourceGroupName": autorest.Encode("path", resourceGroupName),
654 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
655 }
656
657 const APIVersion = "2021-12-01"
658 queryParameters := map[string]interface{}{
659 "api-version": APIVersion,
660 }
661
662 preparer := autorest.CreatePreparer(
663 autorest.AsPost(),
664 autorest.WithBaseURL(client.BaseURI),
665 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/endGetAccess", pathParameters),
666 autorest.WithQueryParameters(queryParameters))
667 return preparer.Prepare((&http.Request{}).WithContext(ctx))
668 }
669
670
671
672 func (client DisksClient) RevokeAccessSender(req *http.Request) (future DisksRevokeAccessFuture, err error) {
673 var resp *http.Response
674 future.FutureAPI = &azure.Future{}
675 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
676 if err != nil {
677 return
678 }
679 var azf azure.Future
680 azf, err = azure.NewFutureFromResponse(resp)
681 future.FutureAPI = &azf
682 future.Result = future.result
683 return
684 }
685
686
687
688 func (client DisksClient) RevokeAccessResponder(resp *http.Response) (result autorest.Response, err error) {
689 err = autorest.Respond(
690 resp,
691 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
692 autorest.ByClosing())
693 result.Response = resp
694 return
695 }
696
697
698
699
700
701
702
703
704 func (client DisksClient) Update(ctx context.Context, resourceGroupName string, diskName string, disk DiskUpdate) (result DisksUpdateFuture, err error) {
705 if tracing.IsEnabled() {
706 ctx = tracing.StartSpan(ctx, fqdn+"/DisksClient.Update")
707 defer func() {
708 sc := -1
709 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
710 sc = result.FutureAPI.Response().StatusCode
711 }
712 tracing.EndSpan(ctx, sc, err)
713 }()
714 }
715 req, err := client.UpdatePreparer(ctx, resourceGroupName, diskName, disk)
716 if err != nil {
717 err = autorest.NewErrorWithError(err, "compute.DisksClient", "Update", nil, "Failure preparing request")
718 return
719 }
720
721 result, err = client.UpdateSender(req)
722 if err != nil {
723 err = autorest.NewErrorWithError(err, "compute.DisksClient", "Update", result.Response(), "Failure sending request")
724 return
725 }
726
727 return
728 }
729
730
731 func (client DisksClient) UpdatePreparer(ctx context.Context, resourceGroupName string, diskName string, disk DiskUpdate) (*http.Request, error) {
732 pathParameters := map[string]interface{}{
733 "diskName": autorest.Encode("path", diskName),
734 "resourceGroupName": autorest.Encode("path", resourceGroupName),
735 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
736 }
737
738 const APIVersion = "2021-12-01"
739 queryParameters := map[string]interface{}{
740 "api-version": APIVersion,
741 }
742
743 preparer := autorest.CreatePreparer(
744 autorest.AsContentType("application/json; charset=utf-8"),
745 autorest.AsPatch(),
746 autorest.WithBaseURL(client.BaseURI),
747 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}", pathParameters),
748 autorest.WithJSON(disk),
749 autorest.WithQueryParameters(queryParameters))
750 return preparer.Prepare((&http.Request{}).WithContext(ctx))
751 }
752
753
754
755 func (client DisksClient) UpdateSender(req *http.Request) (future DisksUpdateFuture, err error) {
756 var resp *http.Response
757 future.FutureAPI = &azure.Future{}
758 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
759 if err != nil {
760 return
761 }
762 var azf azure.Future
763 azf, err = azure.NewFutureFromResponse(resp)
764 future.FutureAPI = &azf
765 future.Result = future.result
766 return
767 }
768
769
770
771 func (client DisksClient) UpdateResponder(resp *http.Response) (result Disk, err error) {
772 err = autorest.Respond(
773 resp,
774 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
775 autorest.ByUnmarshallingJSON(&result),
776 autorest.ByClosing())
777 result.Response = autorest.Response{Response: resp}
778 return
779 }
780
View as plain text