1 package siterecovery
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/tracing"
14 "net/http"
15 )
16
17
18 type ReplicationvCentersClient struct {
19 BaseClient
20 }
21
22
23 func NewReplicationvCentersClient(subscriptionID string, resourceGroupName string, resourceName string) ReplicationvCentersClient {
24 return NewReplicationvCentersClientWithBaseURI(DefaultBaseURI, subscriptionID, resourceGroupName, resourceName)
25 }
26
27
28
29
30 func NewReplicationvCentersClientWithBaseURI(baseURI string, subscriptionID string, resourceGroupName string, resourceName string) ReplicationvCentersClient {
31 return ReplicationvCentersClient{NewWithBaseURI(baseURI, subscriptionID, resourceGroupName, resourceName)}
32 }
33
34
35
36
37
38
39 func (client ReplicationvCentersClient) Create(ctx context.Context, fabricName string, vCenterName string, addVCenterRequest AddVCenterRequest) (result ReplicationvCentersCreateFuture, err error) {
40 if tracing.IsEnabled() {
41 ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationvCentersClient.Create")
42 defer func() {
43 sc := -1
44 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
45 sc = result.FutureAPI.Response().StatusCode
46 }
47 tracing.EndSpan(ctx, sc, err)
48 }()
49 }
50 req, err := client.CreatePreparer(ctx, fabricName, vCenterName, addVCenterRequest)
51 if err != nil {
52 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationvCentersClient", "Create", nil, "Failure preparing request")
53 return
54 }
55
56 result, err = client.CreateSender(req)
57 if err != nil {
58 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationvCentersClient", "Create", result.Response(), "Failure sending request")
59 return
60 }
61
62 return
63 }
64
65
66 func (client ReplicationvCentersClient) CreatePreparer(ctx context.Context, fabricName string, vCenterName string, addVCenterRequest AddVCenterRequest) (*http.Request, error) {
67 pathParameters := map[string]interface{}{
68 "fabricName": autorest.Encode("path", fabricName),
69 "resourceGroupName": autorest.Encode("path", client.ResourceGroupName),
70 "resourceName": autorest.Encode("path", client.ResourceName),
71 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
72 "vCenterName": autorest.Encode("path", vCenterName),
73 }
74
75 const APIVersion = "2016-08-10"
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.AsPut(),
83 autorest.WithBaseURL(client.BaseURI),
84 autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}", pathParameters),
85 autorest.WithJSON(addVCenterRequest),
86 autorest.WithQueryParameters(queryParameters))
87 return preparer.Prepare((&http.Request{}).WithContext(ctx))
88 }
89
90
91
92 func (client ReplicationvCentersClient) CreateSender(req *http.Request) (future ReplicationvCentersCreateFuture, 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 ReplicationvCentersClient) CreateResponder(resp *http.Response) (result VCenter, err error) {
109 err = autorest.Respond(
110 resp,
111 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
112 autorest.ByUnmarshallingJSON(&result),
113 autorest.ByClosing())
114 result.Response = autorest.Response{Response: resp}
115 return
116 }
117
118
119
120
121
122 func (client ReplicationvCentersClient) Delete(ctx context.Context, fabricName string, vCenterName string) (result ReplicationvCentersDeleteFuture, err error) {
123 if tracing.IsEnabled() {
124 ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationvCentersClient.Delete")
125 defer func() {
126 sc := -1
127 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
128 sc = result.FutureAPI.Response().StatusCode
129 }
130 tracing.EndSpan(ctx, sc, err)
131 }()
132 }
133 req, err := client.DeletePreparer(ctx, fabricName, vCenterName)
134 if err != nil {
135 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationvCentersClient", "Delete", nil, "Failure preparing request")
136 return
137 }
138
139 result, err = client.DeleteSender(req)
140 if err != nil {
141 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationvCentersClient", "Delete", result.Response(), "Failure sending request")
142 return
143 }
144
145 return
146 }
147
148
149 func (client ReplicationvCentersClient) DeletePreparer(ctx context.Context, fabricName string, vCenterName string) (*http.Request, error) {
150 pathParameters := map[string]interface{}{
151 "fabricName": autorest.Encode("path", fabricName),
152 "resourceGroupName": autorest.Encode("path", client.ResourceGroupName),
153 "resourceName": autorest.Encode("path", client.ResourceName),
154 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
155 "vCenterName": autorest.Encode("path", vCenterName),
156 }
157
158 const APIVersion = "2016-08-10"
159 queryParameters := map[string]interface{}{
160 "api-version": APIVersion,
161 }
162
163 preparer := autorest.CreatePreparer(
164 autorest.AsDelete(),
165 autorest.WithBaseURL(client.BaseURI),
166 autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}", pathParameters),
167 autorest.WithQueryParameters(queryParameters))
168 return preparer.Prepare((&http.Request{}).WithContext(ctx))
169 }
170
171
172
173 func (client ReplicationvCentersClient) DeleteSender(req *http.Request) (future ReplicationvCentersDeleteFuture, err error) {
174 var resp *http.Response
175 future.FutureAPI = &azure.Future{}
176 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
177 if err != nil {
178 return
179 }
180 var azf azure.Future
181 azf, err = azure.NewFutureFromResponse(resp)
182 future.FutureAPI = &azf
183 future.Result = future.result
184 return
185 }
186
187
188
189 func (client ReplicationvCentersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) {
190 err = autorest.Respond(
191 resp,
192 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent),
193 autorest.ByClosing())
194 result.Response = resp
195 return
196 }
197
198
199
200
201
202 func (client ReplicationvCentersClient) Get(ctx context.Context, fabricName string, vCenterName string) (result VCenter, err error) {
203 if tracing.IsEnabled() {
204 ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationvCentersClient.Get")
205 defer func() {
206 sc := -1
207 if result.Response.Response != nil {
208 sc = result.Response.Response.StatusCode
209 }
210 tracing.EndSpan(ctx, sc, err)
211 }()
212 }
213 req, err := client.GetPreparer(ctx, fabricName, vCenterName)
214 if err != nil {
215 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationvCentersClient", "Get", nil, "Failure preparing request")
216 return
217 }
218
219 resp, err := client.GetSender(req)
220 if err != nil {
221 result.Response = autorest.Response{Response: resp}
222 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationvCentersClient", "Get", resp, "Failure sending request")
223 return
224 }
225
226 result, err = client.GetResponder(resp)
227 if err != nil {
228 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationvCentersClient", "Get", resp, "Failure responding to request")
229 return
230 }
231
232 return
233 }
234
235
236 func (client ReplicationvCentersClient) GetPreparer(ctx context.Context, fabricName string, vCenterName string) (*http.Request, error) {
237 pathParameters := map[string]interface{}{
238 "fabricName": autorest.Encode("path", fabricName),
239 "resourceGroupName": autorest.Encode("path", client.ResourceGroupName),
240 "resourceName": autorest.Encode("path", client.ResourceName),
241 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
242 "vCenterName": autorest.Encode("path", vCenterName),
243 }
244
245 const APIVersion = "2016-08-10"
246 queryParameters := map[string]interface{}{
247 "api-version": APIVersion,
248 }
249
250 preparer := autorest.CreatePreparer(
251 autorest.AsGet(),
252 autorest.WithBaseURL(client.BaseURI),
253 autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}", pathParameters),
254 autorest.WithQueryParameters(queryParameters))
255 return preparer.Prepare((&http.Request{}).WithContext(ctx))
256 }
257
258
259
260 func (client ReplicationvCentersClient) GetSender(req *http.Request) (*http.Response, error) {
261 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
262 }
263
264
265
266 func (client ReplicationvCentersClient) GetResponder(resp *http.Response) (result VCenter, err error) {
267 err = autorest.Respond(
268 resp,
269 azure.WithErrorUnlessStatusCode(http.StatusOK),
270 autorest.ByUnmarshallingJSON(&result),
271 autorest.ByClosing())
272 result.Response = autorest.Response{Response: resp}
273 return
274 }
275
276
277 func (client ReplicationvCentersClient) List(ctx context.Context) (result VCenterCollectionPage, err error) {
278 if tracing.IsEnabled() {
279 ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationvCentersClient.List")
280 defer func() {
281 sc := -1
282 if result.vcc.Response.Response != nil {
283 sc = result.vcc.Response.Response.StatusCode
284 }
285 tracing.EndSpan(ctx, sc, err)
286 }()
287 }
288 result.fn = client.listNextResults
289 req, err := client.ListPreparer(ctx)
290 if err != nil {
291 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationvCentersClient", "List", nil, "Failure preparing request")
292 return
293 }
294
295 resp, err := client.ListSender(req)
296 if err != nil {
297 result.vcc.Response = autorest.Response{Response: resp}
298 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationvCentersClient", "List", resp, "Failure sending request")
299 return
300 }
301
302 result.vcc, err = client.ListResponder(resp)
303 if err != nil {
304 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationvCentersClient", "List", resp, "Failure responding to request")
305 return
306 }
307 if result.vcc.hasNextLink() && result.vcc.IsEmpty() {
308 err = result.NextWithContext(ctx)
309 return
310 }
311
312 return
313 }
314
315
316 func (client ReplicationvCentersClient) ListPreparer(ctx context.Context) (*http.Request, error) {
317 pathParameters := map[string]interface{}{
318 "resourceGroupName": autorest.Encode("path", client.ResourceGroupName),
319 "resourceName": autorest.Encode("path", client.ResourceName),
320 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
321 }
322
323 const APIVersion = "2016-08-10"
324 queryParameters := map[string]interface{}{
325 "api-version": APIVersion,
326 }
327
328 preparer := autorest.CreatePreparer(
329 autorest.AsGet(),
330 autorest.WithBaseURL(client.BaseURI),
331 autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters", pathParameters),
332 autorest.WithQueryParameters(queryParameters))
333 return preparer.Prepare((&http.Request{}).WithContext(ctx))
334 }
335
336
337
338 func (client ReplicationvCentersClient) ListSender(req *http.Request) (*http.Response, error) {
339 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
340 }
341
342
343
344 func (client ReplicationvCentersClient) ListResponder(resp *http.Response) (result VCenterCollection, err error) {
345 err = autorest.Respond(
346 resp,
347 azure.WithErrorUnlessStatusCode(http.StatusOK),
348 autorest.ByUnmarshallingJSON(&result),
349 autorest.ByClosing())
350 result.Response = autorest.Response{Response: resp}
351 return
352 }
353
354
355 func (client ReplicationvCentersClient) listNextResults(ctx context.Context, lastResults VCenterCollection) (result VCenterCollection, err error) {
356 req, err := lastResults.vCenterCollectionPreparer(ctx)
357 if err != nil {
358 return result, autorest.NewErrorWithError(err, "siterecovery.ReplicationvCentersClient", "listNextResults", nil, "Failure preparing next results request")
359 }
360 if req == nil {
361 return
362 }
363 resp, err := client.ListSender(req)
364 if err != nil {
365 result.Response = autorest.Response{Response: resp}
366 return result, autorest.NewErrorWithError(err, "siterecovery.ReplicationvCentersClient", "listNextResults", resp, "Failure sending next results request")
367 }
368 result, err = client.ListResponder(resp)
369 if err != nil {
370 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationvCentersClient", "listNextResults", resp, "Failure responding to next results request")
371 }
372 return
373 }
374
375
376 func (client ReplicationvCentersClient) ListComplete(ctx context.Context) (result VCenterCollectionIterator, err error) {
377 if tracing.IsEnabled() {
378 ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationvCentersClient.List")
379 defer func() {
380 sc := -1
381 if result.Response().Response.Response != nil {
382 sc = result.page.Response().Response.Response.StatusCode
383 }
384 tracing.EndSpan(ctx, sc, err)
385 }()
386 }
387 result.page, err = client.List(ctx)
388 return
389 }
390
391
392
393
394 func (client ReplicationvCentersClient) ListByReplicationFabrics(ctx context.Context, fabricName string) (result VCenterCollectionPage, err error) {
395 if tracing.IsEnabled() {
396 ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationvCentersClient.ListByReplicationFabrics")
397 defer func() {
398 sc := -1
399 if result.vcc.Response.Response != nil {
400 sc = result.vcc.Response.Response.StatusCode
401 }
402 tracing.EndSpan(ctx, sc, err)
403 }()
404 }
405 result.fn = client.listByReplicationFabricsNextResults
406 req, err := client.ListByReplicationFabricsPreparer(ctx, fabricName)
407 if err != nil {
408 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationvCentersClient", "ListByReplicationFabrics", nil, "Failure preparing request")
409 return
410 }
411
412 resp, err := client.ListByReplicationFabricsSender(req)
413 if err != nil {
414 result.vcc.Response = autorest.Response{Response: resp}
415 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationvCentersClient", "ListByReplicationFabrics", resp, "Failure sending request")
416 return
417 }
418
419 result.vcc, err = client.ListByReplicationFabricsResponder(resp)
420 if err != nil {
421 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationvCentersClient", "ListByReplicationFabrics", resp, "Failure responding to request")
422 return
423 }
424 if result.vcc.hasNextLink() && result.vcc.IsEmpty() {
425 err = result.NextWithContext(ctx)
426 return
427 }
428
429 return
430 }
431
432
433 func (client ReplicationvCentersClient) ListByReplicationFabricsPreparer(ctx context.Context, fabricName string) (*http.Request, error) {
434 pathParameters := map[string]interface{}{
435 "fabricName": autorest.Encode("path", fabricName),
436 "resourceGroupName": autorest.Encode("path", client.ResourceGroupName),
437 "resourceName": autorest.Encode("path", client.ResourceName),
438 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
439 }
440
441 const APIVersion = "2016-08-10"
442 queryParameters := map[string]interface{}{
443 "api-version": APIVersion,
444 }
445
446 preparer := autorest.CreatePreparer(
447 autorest.AsGet(),
448 autorest.WithBaseURL(client.BaseURI),
449 autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters", pathParameters),
450 autorest.WithQueryParameters(queryParameters))
451 return preparer.Prepare((&http.Request{}).WithContext(ctx))
452 }
453
454
455
456 func (client ReplicationvCentersClient) ListByReplicationFabricsSender(req *http.Request) (*http.Response, error) {
457 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
458 }
459
460
461
462 func (client ReplicationvCentersClient) ListByReplicationFabricsResponder(resp *http.Response) (result VCenterCollection, err error) {
463 err = autorest.Respond(
464 resp,
465 azure.WithErrorUnlessStatusCode(http.StatusOK),
466 autorest.ByUnmarshallingJSON(&result),
467 autorest.ByClosing())
468 result.Response = autorest.Response{Response: resp}
469 return
470 }
471
472
473 func (client ReplicationvCentersClient) listByReplicationFabricsNextResults(ctx context.Context, lastResults VCenterCollection) (result VCenterCollection, err error) {
474 req, err := lastResults.vCenterCollectionPreparer(ctx)
475 if err != nil {
476 return result, autorest.NewErrorWithError(err, "siterecovery.ReplicationvCentersClient", "listByReplicationFabricsNextResults", nil, "Failure preparing next results request")
477 }
478 if req == nil {
479 return
480 }
481 resp, err := client.ListByReplicationFabricsSender(req)
482 if err != nil {
483 result.Response = autorest.Response{Response: resp}
484 return result, autorest.NewErrorWithError(err, "siterecovery.ReplicationvCentersClient", "listByReplicationFabricsNextResults", resp, "Failure sending next results request")
485 }
486 result, err = client.ListByReplicationFabricsResponder(resp)
487 if err != nil {
488 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationvCentersClient", "listByReplicationFabricsNextResults", resp, "Failure responding to next results request")
489 }
490 return
491 }
492
493
494 func (client ReplicationvCentersClient) ListByReplicationFabricsComplete(ctx context.Context, fabricName string) (result VCenterCollectionIterator, err error) {
495 if tracing.IsEnabled() {
496 ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationvCentersClient.ListByReplicationFabrics")
497 defer func() {
498 sc := -1
499 if result.Response().Response.Response != nil {
500 sc = result.page.Response().Response.Response.StatusCode
501 }
502 tracing.EndSpan(ctx, sc, err)
503 }()
504 }
505 result.page, err = client.ListByReplicationFabrics(ctx, fabricName)
506 return
507 }
508
509
510
511
512
513
514 func (client ReplicationvCentersClient) Update(ctx context.Context, fabricName string, vCenterName string, updateVCenterRequest UpdateVCenterRequest) (result ReplicationvCentersUpdateFuture, err error) {
515 if tracing.IsEnabled() {
516 ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationvCentersClient.Update")
517 defer func() {
518 sc := -1
519 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
520 sc = result.FutureAPI.Response().StatusCode
521 }
522 tracing.EndSpan(ctx, sc, err)
523 }()
524 }
525 req, err := client.UpdatePreparer(ctx, fabricName, vCenterName, updateVCenterRequest)
526 if err != nil {
527 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationvCentersClient", "Update", nil, "Failure preparing request")
528 return
529 }
530
531 result, err = client.UpdateSender(req)
532 if err != nil {
533 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationvCentersClient", "Update", result.Response(), "Failure sending request")
534 return
535 }
536
537 return
538 }
539
540
541 func (client ReplicationvCentersClient) UpdatePreparer(ctx context.Context, fabricName string, vCenterName string, updateVCenterRequest UpdateVCenterRequest) (*http.Request, error) {
542 pathParameters := map[string]interface{}{
543 "fabricName": autorest.Encode("path", fabricName),
544 "resourceGroupName": autorest.Encode("path", client.ResourceGroupName),
545 "resourceName": autorest.Encode("path", client.ResourceName),
546 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
547 "vCenterName": autorest.Encode("path", vCenterName),
548 }
549
550 const APIVersion = "2016-08-10"
551 queryParameters := map[string]interface{}{
552 "api-version": APIVersion,
553 }
554
555 preparer := autorest.CreatePreparer(
556 autorest.AsContentType("application/json; charset=utf-8"),
557 autorest.AsPatch(),
558 autorest.WithBaseURL(client.BaseURI),
559 autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}", pathParameters),
560 autorest.WithJSON(updateVCenterRequest),
561 autorest.WithQueryParameters(queryParameters))
562 return preparer.Prepare((&http.Request{}).WithContext(ctx))
563 }
564
565
566
567 func (client ReplicationvCentersClient) UpdateSender(req *http.Request) (future ReplicationvCentersUpdateFuture, err error) {
568 var resp *http.Response
569 future.FutureAPI = &azure.Future{}
570 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
571 if err != nil {
572 return
573 }
574 var azf azure.Future
575 azf, err = azure.NewFutureFromResponse(resp)
576 future.FutureAPI = &azf
577 future.Result = future.result
578 return
579 }
580
581
582
583 func (client ReplicationvCentersClient) UpdateResponder(resp *http.Response) (result VCenter, err error) {
584 err = autorest.Respond(
585 resp,
586 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
587 autorest.ByUnmarshallingJSON(&result),
588 autorest.ByClosing())
589 result.Response = autorest.Response{Response: resp}
590 return
591 }
592
View as plain text