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