1 package storsimple
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 JobsClient struct {
20 BaseClient
21 }
22
23
24 func NewJobsClient(subscriptionID string) JobsClient {
25 return NewJobsClientWithBaseURI(DefaultBaseURI, subscriptionID)
26 }
27
28
29
30 func NewJobsClientWithBaseURI(baseURI string, subscriptionID string) JobsClient {
31 return JobsClient{NewWithBaseURI(baseURI, subscriptionID)}
32 }
33
34
35
36
37
38
39
40 func (client JobsClient) Cancel(ctx context.Context, deviceName string, jobName string, resourceGroupName string, managerName string) (result JobsCancelFuture, err error) {
41 if tracing.IsEnabled() {
42 ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.Cancel")
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: managerName,
53 Constraints: []validation.Constraint{{Target: "managerName", Name: validation.MaxLength, Rule: 50, Chain: nil},
54 {Target: "managerName", Name: validation.MinLength, Rule: 2, Chain: nil}}}}); err != nil {
55 return result, validation.NewError("storsimple.JobsClient", "Cancel", err.Error())
56 }
57
58 req, err := client.CancelPreparer(ctx, deviceName, jobName, resourceGroupName, managerName)
59 if err != nil {
60 err = autorest.NewErrorWithError(err, "storsimple.JobsClient", "Cancel", nil, "Failure preparing request")
61 return
62 }
63
64 result, err = client.CancelSender(req)
65 if err != nil {
66 err = autorest.NewErrorWithError(err, "storsimple.JobsClient", "Cancel", result.Response(), "Failure sending request")
67 return
68 }
69
70 return
71 }
72
73
74 func (client JobsClient) CancelPreparer(ctx context.Context, deviceName string, jobName string, resourceGroupName string, managerName string) (*http.Request, error) {
75 pathParameters := map[string]interface{}{
76 "deviceName": deviceName,
77 "jobName": jobName,
78 "managerName": managerName,
79 "resourceGroupName": resourceGroupName,
80 "subscriptionId": client.SubscriptionID,
81 }
82
83 const APIVersion = "2017-06-01"
84 queryParameters := map[string]interface{}{
85 "api-version": APIVersion,
86 }
87
88 preparer := autorest.CreatePreparer(
89 autorest.AsPost(),
90 autorest.WithBaseURL(client.BaseURI),
91 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs/{jobName}/cancel", pathParameters),
92 autorest.WithQueryParameters(queryParameters))
93 return preparer.Prepare((&http.Request{}).WithContext(ctx))
94 }
95
96
97
98 func (client JobsClient) CancelSender(req *http.Request) (future JobsCancelFuture, err error) {
99 var resp *http.Response
100 future.FutureAPI = &azure.Future{}
101 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
102 if err != nil {
103 return
104 }
105 var azf azure.Future
106 azf, err = azure.NewFutureFromResponse(resp)
107 future.FutureAPI = &azf
108 future.Result = future.result
109 return
110 }
111
112
113
114 func (client JobsClient) CancelResponder(resp *http.Response) (result autorest.Response, err error) {
115 err = autorest.Respond(
116 resp,
117 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent),
118 autorest.ByClosing())
119 result.Response = resp
120 return
121 }
122
123
124
125
126
127
128
129 func (client JobsClient) Get(ctx context.Context, deviceName string, jobName string, resourceGroupName string, managerName string) (result Job, err error) {
130 if tracing.IsEnabled() {
131 ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.Get")
132 defer func() {
133 sc := -1
134 if result.Response.Response != nil {
135 sc = result.Response.Response.StatusCode
136 }
137 tracing.EndSpan(ctx, sc, err)
138 }()
139 }
140 if err := validation.Validate([]validation.Validation{
141 {TargetValue: managerName,
142 Constraints: []validation.Constraint{{Target: "managerName", Name: validation.MaxLength, Rule: 50, Chain: nil},
143 {Target: "managerName", Name: validation.MinLength, Rule: 2, Chain: nil}}}}); err != nil {
144 return result, validation.NewError("storsimple.JobsClient", "Get", err.Error())
145 }
146
147 req, err := client.GetPreparer(ctx, deviceName, jobName, resourceGroupName, managerName)
148 if err != nil {
149 err = autorest.NewErrorWithError(err, "storsimple.JobsClient", "Get", nil, "Failure preparing request")
150 return
151 }
152
153 resp, err := client.GetSender(req)
154 if err != nil {
155 result.Response = autorest.Response{Response: resp}
156 err = autorest.NewErrorWithError(err, "storsimple.JobsClient", "Get", resp, "Failure sending request")
157 return
158 }
159
160 result, err = client.GetResponder(resp)
161 if err != nil {
162 err = autorest.NewErrorWithError(err, "storsimple.JobsClient", "Get", resp, "Failure responding to request")
163 return
164 }
165
166 return
167 }
168
169
170 func (client JobsClient) GetPreparer(ctx context.Context, deviceName string, jobName string, resourceGroupName string, managerName string) (*http.Request, error) {
171 pathParameters := map[string]interface{}{
172 "deviceName": deviceName,
173 "jobName": jobName,
174 "managerName": managerName,
175 "resourceGroupName": resourceGroupName,
176 "subscriptionId": client.SubscriptionID,
177 }
178
179 const APIVersion = "2017-06-01"
180 queryParameters := map[string]interface{}{
181 "api-version": APIVersion,
182 }
183
184 preparer := autorest.CreatePreparer(
185 autorest.AsGet(),
186 autorest.WithBaseURL(client.BaseURI),
187 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs/{jobName}", pathParameters),
188 autorest.WithQueryParameters(queryParameters))
189 return preparer.Prepare((&http.Request{}).WithContext(ctx))
190 }
191
192
193
194 func (client JobsClient) GetSender(req *http.Request) (*http.Response, error) {
195 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
196 }
197
198
199
200 func (client JobsClient) GetResponder(resp *http.Response) (result Job, err error) {
201 err = autorest.Respond(
202 resp,
203 azure.WithErrorUnlessStatusCode(http.StatusOK),
204 autorest.ByUnmarshallingJSON(&result),
205 autorest.ByClosing())
206 result.Response = autorest.Response{Response: resp}
207 return
208 }
209
210
211
212
213
214
215
216
217 func (client JobsClient) ListByDevice(ctx context.Context, deviceName string, resourceGroupName string, managerName string, filter string) (result JobListPage, err error) {
218 if tracing.IsEnabled() {
219 ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.ListByDevice")
220 defer func() {
221 sc := -1
222 if result.jl.Response.Response != nil {
223 sc = result.jl.Response.Response.StatusCode
224 }
225 tracing.EndSpan(ctx, sc, err)
226 }()
227 }
228 if err := validation.Validate([]validation.Validation{
229 {TargetValue: managerName,
230 Constraints: []validation.Constraint{{Target: "managerName", Name: validation.MaxLength, Rule: 50, Chain: nil},
231 {Target: "managerName", Name: validation.MinLength, Rule: 2, Chain: nil}}}}); err != nil {
232 return result, validation.NewError("storsimple.JobsClient", "ListByDevice", err.Error())
233 }
234
235 result.fn = client.listByDeviceNextResults
236 req, err := client.ListByDevicePreparer(ctx, deviceName, resourceGroupName, managerName, filter)
237 if err != nil {
238 err = autorest.NewErrorWithError(err, "storsimple.JobsClient", "ListByDevice", nil, "Failure preparing request")
239 return
240 }
241
242 resp, err := client.ListByDeviceSender(req)
243 if err != nil {
244 result.jl.Response = autorest.Response{Response: resp}
245 err = autorest.NewErrorWithError(err, "storsimple.JobsClient", "ListByDevice", resp, "Failure sending request")
246 return
247 }
248
249 result.jl, err = client.ListByDeviceResponder(resp)
250 if err != nil {
251 err = autorest.NewErrorWithError(err, "storsimple.JobsClient", "ListByDevice", resp, "Failure responding to request")
252 return
253 }
254 if result.jl.hasNextLink() && result.jl.IsEmpty() {
255 err = result.NextWithContext(ctx)
256 return
257 }
258
259 return
260 }
261
262
263 func (client JobsClient) ListByDevicePreparer(ctx context.Context, deviceName string, resourceGroupName string, managerName string, filter string) (*http.Request, error) {
264 pathParameters := map[string]interface{}{
265 "deviceName": deviceName,
266 "managerName": managerName,
267 "resourceGroupName": resourceGroupName,
268 "subscriptionId": client.SubscriptionID,
269 }
270
271 const APIVersion = "2017-06-01"
272 queryParameters := map[string]interface{}{
273 "api-version": APIVersion,
274 }
275 if len(filter) > 0 {
276 queryParameters["$filter"] = autorest.Encode("query", filter)
277 }
278
279 preparer := autorest.CreatePreparer(
280 autorest.AsGet(),
281 autorest.WithBaseURL(client.BaseURI),
282 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs", pathParameters),
283 autorest.WithQueryParameters(queryParameters))
284 return preparer.Prepare((&http.Request{}).WithContext(ctx))
285 }
286
287
288
289 func (client JobsClient) ListByDeviceSender(req *http.Request) (*http.Response, error) {
290 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
291 }
292
293
294
295 func (client JobsClient) ListByDeviceResponder(resp *http.Response) (result JobList, err error) {
296 err = autorest.Respond(
297 resp,
298 azure.WithErrorUnlessStatusCode(http.StatusOK),
299 autorest.ByUnmarshallingJSON(&result),
300 autorest.ByClosing())
301 result.Response = autorest.Response{Response: resp}
302 return
303 }
304
305
306 func (client JobsClient) listByDeviceNextResults(ctx context.Context, lastResults JobList) (result JobList, err error) {
307 req, err := lastResults.jobListPreparer(ctx)
308 if err != nil {
309 return result, autorest.NewErrorWithError(err, "storsimple.JobsClient", "listByDeviceNextResults", nil, "Failure preparing next results request")
310 }
311 if req == nil {
312 return
313 }
314 resp, err := client.ListByDeviceSender(req)
315 if err != nil {
316 result.Response = autorest.Response{Response: resp}
317 return result, autorest.NewErrorWithError(err, "storsimple.JobsClient", "listByDeviceNextResults", resp, "Failure sending next results request")
318 }
319 result, err = client.ListByDeviceResponder(resp)
320 if err != nil {
321 err = autorest.NewErrorWithError(err, "storsimple.JobsClient", "listByDeviceNextResults", resp, "Failure responding to next results request")
322 }
323 return
324 }
325
326
327 func (client JobsClient) ListByDeviceComplete(ctx context.Context, deviceName string, resourceGroupName string, managerName string, filter string) (result JobListIterator, err error) {
328 if tracing.IsEnabled() {
329 ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.ListByDevice")
330 defer func() {
331 sc := -1
332 if result.Response().Response.Response != nil {
333 sc = result.page.Response().Response.Response.StatusCode
334 }
335 tracing.EndSpan(ctx, sc, err)
336 }()
337 }
338 result.page, err = client.ListByDevice(ctx, deviceName, resourceGroupName, managerName, filter)
339 return
340 }
341
342
343
344
345
346
347
348 func (client JobsClient) ListByManager(ctx context.Context, resourceGroupName string, managerName string, filter string) (result JobListPage, err error) {
349 if tracing.IsEnabled() {
350 ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.ListByManager")
351 defer func() {
352 sc := -1
353 if result.jl.Response.Response != nil {
354 sc = result.jl.Response.Response.StatusCode
355 }
356 tracing.EndSpan(ctx, sc, err)
357 }()
358 }
359 if err := validation.Validate([]validation.Validation{
360 {TargetValue: managerName,
361 Constraints: []validation.Constraint{{Target: "managerName", Name: validation.MaxLength, Rule: 50, Chain: nil},
362 {Target: "managerName", Name: validation.MinLength, Rule: 2, Chain: nil}}}}); err != nil {
363 return result, validation.NewError("storsimple.JobsClient", "ListByManager", err.Error())
364 }
365
366 result.fn = client.listByManagerNextResults
367 req, err := client.ListByManagerPreparer(ctx, resourceGroupName, managerName, filter)
368 if err != nil {
369 err = autorest.NewErrorWithError(err, "storsimple.JobsClient", "ListByManager", nil, "Failure preparing request")
370 return
371 }
372
373 resp, err := client.ListByManagerSender(req)
374 if err != nil {
375 result.jl.Response = autorest.Response{Response: resp}
376 err = autorest.NewErrorWithError(err, "storsimple.JobsClient", "ListByManager", resp, "Failure sending request")
377 return
378 }
379
380 result.jl, err = client.ListByManagerResponder(resp)
381 if err != nil {
382 err = autorest.NewErrorWithError(err, "storsimple.JobsClient", "ListByManager", resp, "Failure responding to request")
383 return
384 }
385 if result.jl.hasNextLink() && result.jl.IsEmpty() {
386 err = result.NextWithContext(ctx)
387 return
388 }
389
390 return
391 }
392
393
394 func (client JobsClient) ListByManagerPreparer(ctx context.Context, resourceGroupName string, managerName string, filter string) (*http.Request, error) {
395 pathParameters := map[string]interface{}{
396 "managerName": managerName,
397 "resourceGroupName": resourceGroupName,
398 "subscriptionId": client.SubscriptionID,
399 }
400
401 const APIVersion = "2017-06-01"
402 queryParameters := map[string]interface{}{
403 "api-version": APIVersion,
404 }
405 if len(filter) > 0 {
406 queryParameters["$filter"] = autorest.Encode("query", filter)
407 }
408
409 preparer := autorest.CreatePreparer(
410 autorest.AsGet(),
411 autorest.WithBaseURL(client.BaseURI),
412 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/jobs", pathParameters),
413 autorest.WithQueryParameters(queryParameters))
414 return preparer.Prepare((&http.Request{}).WithContext(ctx))
415 }
416
417
418
419 func (client JobsClient) ListByManagerSender(req *http.Request) (*http.Response, error) {
420 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
421 }
422
423
424
425 func (client JobsClient) ListByManagerResponder(resp *http.Response) (result JobList, err error) {
426 err = autorest.Respond(
427 resp,
428 azure.WithErrorUnlessStatusCode(http.StatusOK),
429 autorest.ByUnmarshallingJSON(&result),
430 autorest.ByClosing())
431 result.Response = autorest.Response{Response: resp}
432 return
433 }
434
435
436 func (client JobsClient) listByManagerNextResults(ctx context.Context, lastResults JobList) (result JobList, err error) {
437 req, err := lastResults.jobListPreparer(ctx)
438 if err != nil {
439 return result, autorest.NewErrorWithError(err, "storsimple.JobsClient", "listByManagerNextResults", nil, "Failure preparing next results request")
440 }
441 if req == nil {
442 return
443 }
444 resp, err := client.ListByManagerSender(req)
445 if err != nil {
446 result.Response = autorest.Response{Response: resp}
447 return result, autorest.NewErrorWithError(err, "storsimple.JobsClient", "listByManagerNextResults", resp, "Failure sending next results request")
448 }
449 result, err = client.ListByManagerResponder(resp)
450 if err != nil {
451 err = autorest.NewErrorWithError(err, "storsimple.JobsClient", "listByManagerNextResults", resp, "Failure responding to next results request")
452 }
453 return
454 }
455
456
457 func (client JobsClient) ListByManagerComplete(ctx context.Context, resourceGroupName string, managerName string, filter string) (result JobListIterator, err error) {
458 if tracing.IsEnabled() {
459 ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.ListByManager")
460 defer func() {
461 sc := -1
462 if result.Response().Response.Response != nil {
463 sc = result.page.Response().Response.Response.StatusCode
464 }
465 tracing.EndSpan(ctx, sc, err)
466 }()
467 }
468 result.page, err = client.ListByManager(ctx, resourceGroupName, managerName, filter)
469 return
470 }
471
View as plain text