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/tracing"
14 "net/http"
15 )
16
17
18 type VirtualNetworkClient struct {
19 BaseClient
20 }
21
22
23 func NewVirtualNetworkClient(subscriptionID string) VirtualNetworkClient {
24 return NewVirtualNetworkClientWithBaseURI(DefaultBaseURI, subscriptionID)
25 }
26
27
28
29 func NewVirtualNetworkClientWithBaseURI(baseURI string, subscriptionID string) VirtualNetworkClient {
30 return VirtualNetworkClient{NewWithBaseURI(baseURI, subscriptionID)}
31 }
32
33
34
35
36
37
38 func (client VirtualNetworkClient) CreateOrUpdateResource(ctx context.Context, resourceGroupName string, labName string, name string, virtualNetwork VirtualNetwork) (result VirtualNetworkCreateOrUpdateResourceFuture, err error) {
39 if tracing.IsEnabled() {
40 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkClient.CreateOrUpdateResource")
41 defer func() {
42 sc := -1
43 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
44 sc = result.FutureAPI.Response().StatusCode
45 }
46 tracing.EndSpan(ctx, sc, err)
47 }()
48 }
49 req, err := client.CreateOrUpdateResourcePreparer(ctx, resourceGroupName, labName, name, virtualNetwork)
50 if err != nil {
51 err = autorest.NewErrorWithError(err, "dtl.VirtualNetworkClient", "CreateOrUpdateResource", nil, "Failure preparing request")
52 return
53 }
54
55 result, err = client.CreateOrUpdateResourceSender(req)
56 if err != nil {
57 err = autorest.NewErrorWithError(err, "dtl.VirtualNetworkClient", "CreateOrUpdateResource", result.Response(), "Failure sending request")
58 return
59 }
60
61 return
62 }
63
64
65 func (client VirtualNetworkClient) CreateOrUpdateResourcePreparer(ctx context.Context, resourceGroupName string, labName string, name string, virtualNetwork VirtualNetwork) (*http.Request, error) {
66 pathParameters := map[string]interface{}{
67 "labName": autorest.Encode("path", labName),
68 "name": autorest.Encode("path", name),
69 "resourceGroupName": autorest.Encode("path", resourceGroupName),
70 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
71 }
72
73 const APIVersion = "2015-05-21-preview"
74 queryParameters := map[string]interface{}{
75 "api-version": APIVersion,
76 }
77
78 preparer := autorest.CreatePreparer(
79 autorest.AsContentType("application/json; charset=utf-8"),
80 autorest.AsPut(),
81 autorest.WithBaseURL(client.BaseURI),
82 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{name}", pathParameters),
83 autorest.WithJSON(virtualNetwork),
84 autorest.WithQueryParameters(queryParameters))
85 return preparer.Prepare((&http.Request{}).WithContext(ctx))
86 }
87
88
89
90 func (client VirtualNetworkClient) CreateOrUpdateResourceSender(req *http.Request) (future VirtualNetworkCreateOrUpdateResourceFuture, err error) {
91 var resp *http.Response
92 future.FutureAPI = &azure.Future{}
93 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
94 if err != nil {
95 return
96 }
97 var azf azure.Future
98 azf, err = azure.NewFutureFromResponse(resp)
99 future.FutureAPI = &azf
100 future.Result = future.result
101 return
102 }
103
104
105
106 func (client VirtualNetworkClient) CreateOrUpdateResourceResponder(resp *http.Response) (result VirtualNetwork, err error) {
107 err = autorest.Respond(
108 resp,
109 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated),
110 autorest.ByUnmarshallingJSON(&result),
111 autorest.ByClosing())
112 result.Response = autorest.Response{Response: resp}
113 return
114 }
115
116
117
118
119
120
121 func (client VirtualNetworkClient) DeleteResource(ctx context.Context, resourceGroupName string, labName string, name string) (result VirtualNetworkDeleteResourceFuture, err error) {
122 if tracing.IsEnabled() {
123 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkClient.DeleteResource")
124 defer func() {
125 sc := -1
126 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
127 sc = result.FutureAPI.Response().StatusCode
128 }
129 tracing.EndSpan(ctx, sc, err)
130 }()
131 }
132 req, err := client.DeleteResourcePreparer(ctx, resourceGroupName, labName, name)
133 if err != nil {
134 err = autorest.NewErrorWithError(err, "dtl.VirtualNetworkClient", "DeleteResource", nil, "Failure preparing request")
135 return
136 }
137
138 result, err = client.DeleteResourceSender(req)
139 if err != nil {
140 err = autorest.NewErrorWithError(err, "dtl.VirtualNetworkClient", "DeleteResource", result.Response(), "Failure sending request")
141 return
142 }
143
144 return
145 }
146
147
148 func (client VirtualNetworkClient) DeleteResourcePreparer(ctx context.Context, resourceGroupName string, labName string, name string) (*http.Request, error) {
149 pathParameters := map[string]interface{}{
150 "labName": autorest.Encode("path", labName),
151 "name": autorest.Encode("path", name),
152 "resourceGroupName": autorest.Encode("path", resourceGroupName),
153 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
154 }
155
156 const APIVersion = "2015-05-21-preview"
157 queryParameters := map[string]interface{}{
158 "api-version": APIVersion,
159 }
160
161 preparer := autorest.CreatePreparer(
162 autorest.AsDelete(),
163 autorest.WithBaseURL(client.BaseURI),
164 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{name}", pathParameters),
165 autorest.WithQueryParameters(queryParameters))
166 return preparer.Prepare((&http.Request{}).WithContext(ctx))
167 }
168
169
170
171 func (client VirtualNetworkClient) DeleteResourceSender(req *http.Request) (future VirtualNetworkDeleteResourceFuture, err error) {
172 var resp *http.Response
173 future.FutureAPI = &azure.Future{}
174 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
175 if err != nil {
176 return
177 }
178 var azf azure.Future
179 azf, err = azure.NewFutureFromResponse(resp)
180 future.FutureAPI = &azf
181 future.Result = future.result
182 return
183 }
184
185
186
187 func (client VirtualNetworkClient) DeleteResourceResponder(resp *http.Response) (result autorest.Response, err error) {
188 err = autorest.Respond(
189 resp,
190 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent),
191 autorest.ByClosing())
192 result.Response = resp
193 return
194 }
195
196
197
198
199
200
201 func (client VirtualNetworkClient) GetResource(ctx context.Context, resourceGroupName string, labName string, name string) (result VirtualNetwork, err error) {
202 if tracing.IsEnabled() {
203 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkClient.GetResource")
204 defer func() {
205 sc := -1
206 if result.Response.Response != nil {
207 sc = result.Response.Response.StatusCode
208 }
209 tracing.EndSpan(ctx, sc, err)
210 }()
211 }
212 req, err := client.GetResourcePreparer(ctx, resourceGroupName, labName, name)
213 if err != nil {
214 err = autorest.NewErrorWithError(err, "dtl.VirtualNetworkClient", "GetResource", nil, "Failure preparing request")
215 return
216 }
217
218 resp, err := client.GetResourceSender(req)
219 if err != nil {
220 result.Response = autorest.Response{Response: resp}
221 err = autorest.NewErrorWithError(err, "dtl.VirtualNetworkClient", "GetResource", resp, "Failure sending request")
222 return
223 }
224
225 result, err = client.GetResourceResponder(resp)
226 if err != nil {
227 err = autorest.NewErrorWithError(err, "dtl.VirtualNetworkClient", "GetResource", resp, "Failure responding to request")
228 return
229 }
230
231 return
232 }
233
234
235 func (client VirtualNetworkClient) GetResourcePreparer(ctx context.Context, resourceGroupName string, labName string, name string) (*http.Request, error) {
236 pathParameters := map[string]interface{}{
237 "labName": autorest.Encode("path", labName),
238 "name": autorest.Encode("path", name),
239 "resourceGroupName": autorest.Encode("path", resourceGroupName),
240 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
241 }
242
243 const APIVersion = "2015-05-21-preview"
244 queryParameters := map[string]interface{}{
245 "api-version": APIVersion,
246 }
247
248 preparer := autorest.CreatePreparer(
249 autorest.AsGet(),
250 autorest.WithBaseURL(client.BaseURI),
251 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{name}", pathParameters),
252 autorest.WithQueryParameters(queryParameters))
253 return preparer.Prepare((&http.Request{}).WithContext(ctx))
254 }
255
256
257
258 func (client VirtualNetworkClient) GetResourceSender(req *http.Request) (*http.Response, error) {
259 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
260 }
261
262
263
264 func (client VirtualNetworkClient) GetResourceResponder(resp *http.Response) (result VirtualNetwork, err error) {
265 err = autorest.Respond(
266 resp,
267 azure.WithErrorUnlessStatusCode(http.StatusOK),
268 autorest.ByUnmarshallingJSON(&result),
269 autorest.ByClosing())
270 result.Response = autorest.Response{Response: resp}
271 return
272 }
273
274
275
276
277
278
279 func (client VirtualNetworkClient) List(ctx context.Context, resourceGroupName string, labName string, filter string, top *int32, orderBy string) (result ResponseWithContinuationVirtualNetworkPage, err error) {
280 if tracing.IsEnabled() {
281 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkClient.List")
282 defer func() {
283 sc := -1
284 if result.rwcvn.Response.Response != nil {
285 sc = result.rwcvn.Response.Response.StatusCode
286 }
287 tracing.EndSpan(ctx, sc, err)
288 }()
289 }
290 result.fn = client.listNextResults
291 req, err := client.ListPreparer(ctx, resourceGroupName, labName, filter, top, orderBy)
292 if err != nil {
293 err = autorest.NewErrorWithError(err, "dtl.VirtualNetworkClient", "List", nil, "Failure preparing request")
294 return
295 }
296
297 resp, err := client.ListSender(req)
298 if err != nil {
299 result.rwcvn.Response = autorest.Response{Response: resp}
300 err = autorest.NewErrorWithError(err, "dtl.VirtualNetworkClient", "List", resp, "Failure sending request")
301 return
302 }
303
304 result.rwcvn, err = client.ListResponder(resp)
305 if err != nil {
306 err = autorest.NewErrorWithError(err, "dtl.VirtualNetworkClient", "List", resp, "Failure responding to request")
307 return
308 }
309 if result.rwcvn.hasNextLink() && result.rwcvn.IsEmpty() {
310 err = result.NextWithContext(ctx)
311 return
312 }
313
314 return
315 }
316
317
318 func (client VirtualNetworkClient) ListPreparer(ctx context.Context, resourceGroupName string, labName string, filter string, top *int32, orderBy string) (*http.Request, error) {
319 pathParameters := map[string]interface{}{
320 "labName": autorest.Encode("path", labName),
321 "resourceGroupName": autorest.Encode("path", resourceGroupName),
322 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
323 }
324
325 const APIVersion = "2015-05-21-preview"
326 queryParameters := map[string]interface{}{
327 "api-version": APIVersion,
328 }
329 if len(filter) > 0 {
330 queryParameters["$filter"] = autorest.Encode("query", filter)
331 }
332 if top != nil {
333 queryParameters["$top"] = autorest.Encode("query", *top)
334 }
335 if len(orderBy) > 0 {
336 queryParameters["$orderBy"] = autorest.Encode("query", orderBy)
337 }
338
339 preparer := autorest.CreatePreparer(
340 autorest.AsGet(),
341 autorest.WithBaseURL(client.BaseURI),
342 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks", pathParameters),
343 autorest.WithQueryParameters(queryParameters))
344 return preparer.Prepare((&http.Request{}).WithContext(ctx))
345 }
346
347
348
349 func (client VirtualNetworkClient) ListSender(req *http.Request) (*http.Response, error) {
350 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
351 }
352
353
354
355 func (client VirtualNetworkClient) ListResponder(resp *http.Response) (result ResponseWithContinuationVirtualNetwork, err error) {
356 err = autorest.Respond(
357 resp,
358 azure.WithErrorUnlessStatusCode(http.StatusOK),
359 autorest.ByUnmarshallingJSON(&result),
360 autorest.ByClosing())
361 result.Response = autorest.Response{Response: resp}
362 return
363 }
364
365
366 func (client VirtualNetworkClient) listNextResults(ctx context.Context, lastResults ResponseWithContinuationVirtualNetwork) (result ResponseWithContinuationVirtualNetwork, err error) {
367 req, err := lastResults.responseWithContinuationVirtualNetworkPreparer(ctx)
368 if err != nil {
369 return result, autorest.NewErrorWithError(err, "dtl.VirtualNetworkClient", "listNextResults", nil, "Failure preparing next results request")
370 }
371 if req == nil {
372 return
373 }
374 resp, err := client.ListSender(req)
375 if err != nil {
376 result.Response = autorest.Response{Response: resp}
377 return result, autorest.NewErrorWithError(err, "dtl.VirtualNetworkClient", "listNextResults", resp, "Failure sending next results request")
378 }
379 result, err = client.ListResponder(resp)
380 if err != nil {
381 err = autorest.NewErrorWithError(err, "dtl.VirtualNetworkClient", "listNextResults", resp, "Failure responding to next results request")
382 }
383 return
384 }
385
386
387 func (client VirtualNetworkClient) ListComplete(ctx context.Context, resourceGroupName string, labName string, filter string, top *int32, orderBy string) (result ResponseWithContinuationVirtualNetworkIterator, err error) {
388 if tracing.IsEnabled() {
389 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkClient.List")
390 defer func() {
391 sc := -1
392 if result.Response().Response.Response != nil {
393 sc = result.page.Response().Response.Response.StatusCode
394 }
395 tracing.EndSpan(ctx, sc, err)
396 }()
397 }
398 result.page, err = client.List(ctx, resourceGroupName, labName, filter, top, orderBy)
399 return
400 }
401
402
403
404
405
406
407 func (client VirtualNetworkClient) PatchResource(ctx context.Context, resourceGroupName string, labName string, name string, virtualNetwork VirtualNetwork) (result VirtualNetwork, err error) {
408 if tracing.IsEnabled() {
409 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkClient.PatchResource")
410 defer func() {
411 sc := -1
412 if result.Response.Response != nil {
413 sc = result.Response.Response.StatusCode
414 }
415 tracing.EndSpan(ctx, sc, err)
416 }()
417 }
418 req, err := client.PatchResourcePreparer(ctx, resourceGroupName, labName, name, virtualNetwork)
419 if err != nil {
420 err = autorest.NewErrorWithError(err, "dtl.VirtualNetworkClient", "PatchResource", nil, "Failure preparing request")
421 return
422 }
423
424 resp, err := client.PatchResourceSender(req)
425 if err != nil {
426 result.Response = autorest.Response{Response: resp}
427 err = autorest.NewErrorWithError(err, "dtl.VirtualNetworkClient", "PatchResource", resp, "Failure sending request")
428 return
429 }
430
431 result, err = client.PatchResourceResponder(resp)
432 if err != nil {
433 err = autorest.NewErrorWithError(err, "dtl.VirtualNetworkClient", "PatchResource", resp, "Failure responding to request")
434 return
435 }
436
437 return
438 }
439
440
441 func (client VirtualNetworkClient) PatchResourcePreparer(ctx context.Context, resourceGroupName string, labName string, name string, virtualNetwork VirtualNetwork) (*http.Request, error) {
442 pathParameters := map[string]interface{}{
443 "labName": autorest.Encode("path", labName),
444 "name": autorest.Encode("path", name),
445 "resourceGroupName": autorest.Encode("path", resourceGroupName),
446 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
447 }
448
449 const APIVersion = "2015-05-21-preview"
450 queryParameters := map[string]interface{}{
451 "api-version": APIVersion,
452 }
453
454 preparer := autorest.CreatePreparer(
455 autorest.AsContentType("application/json; charset=utf-8"),
456 autorest.AsPatch(),
457 autorest.WithBaseURL(client.BaseURI),
458 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{name}", pathParameters),
459 autorest.WithJSON(virtualNetwork),
460 autorest.WithQueryParameters(queryParameters))
461 return preparer.Prepare((&http.Request{}).WithContext(ctx))
462 }
463
464
465
466 func (client VirtualNetworkClient) PatchResourceSender(req *http.Request) (*http.Response, error) {
467 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
468 }
469
470
471
472 func (client VirtualNetworkClient) PatchResourceResponder(resp *http.Response) (result VirtualNetwork, err error) {
473 err = autorest.Respond(
474 resp,
475 azure.WithErrorUnlessStatusCode(http.StatusOK),
476 autorest.ByUnmarshallingJSON(&result),
477 autorest.ByClosing())
478 result.Response = autorest.Response{Response: resp}
479 return
480 }
481
View as plain text