1// Code generated by msgraph.go/gen DO NOT EDIT.
2
3package msgraph
4
5import (
6	"context"
7	"fmt"
8	"io/ioutil"
9	"net/http"
10
11	"github.com/yaegashi/msgraph.go/jsonx"
12)
13
14// DataLossPreventionPolicyCollectionEvaluateRequestParameter undocumented
15type DataLossPreventionPolicyCollectionEvaluateRequestParameter struct {
16	// Target undocumented
17	Target *string `json:"target,omitempty"`
18	// EvaluationInput undocumented
19	EvaluationInput *DlpEvaluationInput `json:"evaluationInput,omitempty"`
20	// NotificationInfo undocumented
21	NotificationInfo *DlpNotification `json:"notificationInfo,omitempty"`
22}
23
24// DataSharingConsentConsentToDataSharingRequestParameter undocumented
25type DataSharingConsentConsentToDataSharingRequestParameter struct {
26}
27
28// ClassifyFile returns request builder for FileClassificationRequestObject collection
29func (b *DataClassificationServiceRequestBuilder) ClassifyFile() *DataClassificationServiceClassifyFileCollectionRequestBuilder {
30	bb := &DataClassificationServiceClassifyFileCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
31	bb.baseURL += "/classifyFile"
32	return bb
33}
34
35// DataClassificationServiceClassifyFileCollectionRequestBuilder is request builder for FileClassificationRequestObject collection
36type DataClassificationServiceClassifyFileCollectionRequestBuilder struct{ BaseRequestBuilder }
37
38// Request returns request for FileClassificationRequestObject collection
39func (b *DataClassificationServiceClassifyFileCollectionRequestBuilder) Request() *DataClassificationServiceClassifyFileCollectionRequest {
40	return &DataClassificationServiceClassifyFileCollectionRequest{
41		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
42	}
43}
44
45// ID returns request builder for FileClassificationRequestObject item
46func (b *DataClassificationServiceClassifyFileCollectionRequestBuilder) ID(id string) *FileClassificationRequestObjectRequestBuilder {
47	bb := &FileClassificationRequestObjectRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
48	bb.baseURL += "/" + id
49	return bb
50}
51
52// DataClassificationServiceClassifyFileCollectionRequest is request for FileClassificationRequestObject collection
53type DataClassificationServiceClassifyFileCollectionRequest struct{ BaseRequest }
54
55// Paging perfoms paging operation for FileClassificationRequestObject collection
56func (r *DataClassificationServiceClassifyFileCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]FileClassificationRequestObject, error) {
57	req, err := r.NewJSONRequest(method, path, obj)
58	if err != nil {
59		return nil, err
60	}
61	if ctx != nil {
62		req = req.WithContext(ctx)
63	}
64	res, err := r.client.Do(req)
65	if err != nil {
66		return nil, err
67	}
68	var values []FileClassificationRequestObject
69	for {
70		if res.StatusCode != http.StatusOK {
71			b, _ := ioutil.ReadAll(res.Body)
72			res.Body.Close()
73			errRes := &ErrorResponse{Response: res}
74			err := jsonx.Unmarshal(b, errRes)
75			if err != nil {
76				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
77			}
78			return nil, errRes
79		}
80		var (
81			paging Paging
82			value  []FileClassificationRequestObject
83		)
84		err := jsonx.NewDecoder(res.Body).Decode(&paging)
85		res.Body.Close()
86		if err != nil {
87			return nil, err
88		}
89		err = jsonx.Unmarshal(paging.Value, &value)
90		if err != nil {
91			return nil, err
92		}
93		values = append(values, value...)
94		if n >= 0 {
95			n--
96		}
97		if n == 0 || len(paging.NextLink) == 0 {
98			return values, nil
99		}
100		req, err = http.NewRequest("GET", paging.NextLink, nil)
101		if ctx != nil {
102			req = req.WithContext(ctx)
103		}
104		res, err = r.client.Do(req)
105		if err != nil {
106			return nil, err
107		}
108	}
109}
110
111// GetN performs GET request for FileClassificationRequestObject collection, max N pages
112func (r *DataClassificationServiceClassifyFileCollectionRequest) GetN(ctx context.Context, n int) ([]FileClassificationRequestObject, error) {
113	var query string
114	if r.query != nil {
115		query = "?" + r.query.Encode()
116	}
117	return r.Paging(ctx, "GET", query, nil, n)
118}
119
120// Get performs GET request for FileClassificationRequestObject collection
121func (r *DataClassificationServiceClassifyFileCollectionRequest) Get(ctx context.Context) ([]FileClassificationRequestObject, error) {
122	return r.GetN(ctx, 0)
123}
124
125// Add performs POST request for FileClassificationRequestObject collection
126func (r *DataClassificationServiceClassifyFileCollectionRequest) Add(ctx context.Context, reqObj *FileClassificationRequestObject) (resObj *FileClassificationRequestObject, err error) {
127	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
128	return
129}
130
131// ClassifyFileJobs returns request builder for JobResponseBase collection
132func (b *DataClassificationServiceRequestBuilder) ClassifyFileJobs() *DataClassificationServiceClassifyFileJobsCollectionRequestBuilder {
133	bb := &DataClassificationServiceClassifyFileJobsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
134	bb.baseURL += "/classifyFileJobs"
135	return bb
136}
137
138// DataClassificationServiceClassifyFileJobsCollectionRequestBuilder is request builder for JobResponseBase collection
139type DataClassificationServiceClassifyFileJobsCollectionRequestBuilder struct{ BaseRequestBuilder }
140
141// Request returns request for JobResponseBase collection
142func (b *DataClassificationServiceClassifyFileJobsCollectionRequestBuilder) Request() *DataClassificationServiceClassifyFileJobsCollectionRequest {
143	return &DataClassificationServiceClassifyFileJobsCollectionRequest{
144		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
145	}
146}
147
148// ID returns request builder for JobResponseBase item
149func (b *DataClassificationServiceClassifyFileJobsCollectionRequestBuilder) ID(id string) *JobResponseBaseRequestBuilder {
150	bb := &JobResponseBaseRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
151	bb.baseURL += "/" + id
152	return bb
153}
154
155// DataClassificationServiceClassifyFileJobsCollectionRequest is request for JobResponseBase collection
156type DataClassificationServiceClassifyFileJobsCollectionRequest struct{ BaseRequest }
157
158// Paging perfoms paging operation for JobResponseBase collection
159func (r *DataClassificationServiceClassifyFileJobsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]JobResponseBase, error) {
160	req, err := r.NewJSONRequest(method, path, obj)
161	if err != nil {
162		return nil, err
163	}
164	if ctx != nil {
165		req = req.WithContext(ctx)
166	}
167	res, err := r.client.Do(req)
168	if err != nil {
169		return nil, err
170	}
171	var values []JobResponseBase
172	for {
173		if res.StatusCode != http.StatusOK {
174			b, _ := ioutil.ReadAll(res.Body)
175			res.Body.Close()
176			errRes := &ErrorResponse{Response: res}
177			err := jsonx.Unmarshal(b, errRes)
178			if err != nil {
179				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
180			}
181			return nil, errRes
182		}
183		var (
184			paging Paging
185			value  []JobResponseBase
186		)
187		err := jsonx.NewDecoder(res.Body).Decode(&paging)
188		res.Body.Close()
189		if err != nil {
190			return nil, err
191		}
192		err = jsonx.Unmarshal(paging.Value, &value)
193		if err != nil {
194			return nil, err
195		}
196		values = append(values, value...)
197		if n >= 0 {
198			n--
199		}
200		if n == 0 || len(paging.NextLink) == 0 {
201			return values, nil
202		}
203		req, err = http.NewRequest("GET", paging.NextLink, nil)
204		if ctx != nil {
205			req = req.WithContext(ctx)
206		}
207		res, err = r.client.Do(req)
208		if err != nil {
209			return nil, err
210		}
211	}
212}
213
214// GetN performs GET request for JobResponseBase collection, max N pages
215func (r *DataClassificationServiceClassifyFileJobsCollectionRequest) GetN(ctx context.Context, n int) ([]JobResponseBase, error) {
216	var query string
217	if r.query != nil {
218		query = "?" + r.query.Encode()
219	}
220	return r.Paging(ctx, "GET", query, nil, n)
221}
222
223// Get performs GET request for JobResponseBase collection
224func (r *DataClassificationServiceClassifyFileJobsCollectionRequest) Get(ctx context.Context) ([]JobResponseBase, error) {
225	return r.GetN(ctx, 0)
226}
227
228// Add performs POST request for JobResponseBase collection
229func (r *DataClassificationServiceClassifyFileJobsCollectionRequest) Add(ctx context.Context, reqObj *JobResponseBase) (resObj *JobResponseBase, err error) {
230	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
231	return
232}
233
234// ClassifyText returns request builder for TextClassificationRequestObject collection
235func (b *DataClassificationServiceRequestBuilder) ClassifyText() *DataClassificationServiceClassifyTextCollectionRequestBuilder {
236	bb := &DataClassificationServiceClassifyTextCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
237	bb.baseURL += "/classifyText"
238	return bb
239}
240
241// DataClassificationServiceClassifyTextCollectionRequestBuilder is request builder for TextClassificationRequestObject collection
242type DataClassificationServiceClassifyTextCollectionRequestBuilder struct{ BaseRequestBuilder }
243
244// Request returns request for TextClassificationRequestObject collection
245func (b *DataClassificationServiceClassifyTextCollectionRequestBuilder) Request() *DataClassificationServiceClassifyTextCollectionRequest {
246	return &DataClassificationServiceClassifyTextCollectionRequest{
247		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
248	}
249}
250
251// ID returns request builder for TextClassificationRequestObject item
252func (b *DataClassificationServiceClassifyTextCollectionRequestBuilder) ID(id string) *TextClassificationRequestObjectRequestBuilder {
253	bb := &TextClassificationRequestObjectRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
254	bb.baseURL += "/" + id
255	return bb
256}
257
258// DataClassificationServiceClassifyTextCollectionRequest is request for TextClassificationRequestObject collection
259type DataClassificationServiceClassifyTextCollectionRequest struct{ BaseRequest }
260
261// Paging perfoms paging operation for TextClassificationRequestObject collection
262func (r *DataClassificationServiceClassifyTextCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]TextClassificationRequestObject, error) {
263	req, err := r.NewJSONRequest(method, path, obj)
264	if err != nil {
265		return nil, err
266	}
267	if ctx != nil {
268		req = req.WithContext(ctx)
269	}
270	res, err := r.client.Do(req)
271	if err != nil {
272		return nil, err
273	}
274	var values []TextClassificationRequestObject
275	for {
276		if res.StatusCode != http.StatusOK {
277			b, _ := ioutil.ReadAll(res.Body)
278			res.Body.Close()
279			errRes := &ErrorResponse{Response: res}
280			err := jsonx.Unmarshal(b, errRes)
281			if err != nil {
282				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
283			}
284			return nil, errRes
285		}
286		var (
287			paging Paging
288			value  []TextClassificationRequestObject
289		)
290		err := jsonx.NewDecoder(res.Body).Decode(&paging)
291		res.Body.Close()
292		if err != nil {
293			return nil, err
294		}
295		err = jsonx.Unmarshal(paging.Value, &value)
296		if err != nil {
297			return nil, err
298		}
299		values = append(values, value...)
300		if n >= 0 {
301			n--
302		}
303		if n == 0 || len(paging.NextLink) == 0 {
304			return values, nil
305		}
306		req, err = http.NewRequest("GET", paging.NextLink, nil)
307		if ctx != nil {
308			req = req.WithContext(ctx)
309		}
310		res, err = r.client.Do(req)
311		if err != nil {
312			return nil, err
313		}
314	}
315}
316
317// GetN performs GET request for TextClassificationRequestObject collection, max N pages
318func (r *DataClassificationServiceClassifyTextCollectionRequest) GetN(ctx context.Context, n int) ([]TextClassificationRequestObject, error) {
319	var query string
320	if r.query != nil {
321		query = "?" + r.query.Encode()
322	}
323	return r.Paging(ctx, "GET", query, nil, n)
324}
325
326// Get performs GET request for TextClassificationRequestObject collection
327func (r *DataClassificationServiceClassifyTextCollectionRequest) Get(ctx context.Context) ([]TextClassificationRequestObject, error) {
328	return r.GetN(ctx, 0)
329}
330
331// Add performs POST request for TextClassificationRequestObject collection
332func (r *DataClassificationServiceClassifyTextCollectionRequest) Add(ctx context.Context, reqObj *TextClassificationRequestObject) (resObj *TextClassificationRequestObject, err error) {
333	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
334	return
335}
336
337// ClassifyTextJobs returns request builder for JobResponseBase collection
338func (b *DataClassificationServiceRequestBuilder) ClassifyTextJobs() *DataClassificationServiceClassifyTextJobsCollectionRequestBuilder {
339	bb := &DataClassificationServiceClassifyTextJobsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
340	bb.baseURL += "/classifyTextJobs"
341	return bb
342}
343
344// DataClassificationServiceClassifyTextJobsCollectionRequestBuilder is request builder for JobResponseBase collection
345type DataClassificationServiceClassifyTextJobsCollectionRequestBuilder struct{ BaseRequestBuilder }
346
347// Request returns request for JobResponseBase collection
348func (b *DataClassificationServiceClassifyTextJobsCollectionRequestBuilder) Request() *DataClassificationServiceClassifyTextJobsCollectionRequest {
349	return &DataClassificationServiceClassifyTextJobsCollectionRequest{
350		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
351	}
352}
353
354// ID returns request builder for JobResponseBase item
355func (b *DataClassificationServiceClassifyTextJobsCollectionRequestBuilder) ID(id string) *JobResponseBaseRequestBuilder {
356	bb := &JobResponseBaseRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
357	bb.baseURL += "/" + id
358	return bb
359}
360
361// DataClassificationServiceClassifyTextJobsCollectionRequest is request for JobResponseBase collection
362type DataClassificationServiceClassifyTextJobsCollectionRequest struct{ BaseRequest }
363
364// Paging perfoms paging operation for JobResponseBase collection
365func (r *DataClassificationServiceClassifyTextJobsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]JobResponseBase, error) {
366	req, err := r.NewJSONRequest(method, path, obj)
367	if err != nil {
368		return nil, err
369	}
370	if ctx != nil {
371		req = req.WithContext(ctx)
372	}
373	res, err := r.client.Do(req)
374	if err != nil {
375		return nil, err
376	}
377	var values []JobResponseBase
378	for {
379		if res.StatusCode != http.StatusOK {
380			b, _ := ioutil.ReadAll(res.Body)
381			res.Body.Close()
382			errRes := &ErrorResponse{Response: res}
383			err := jsonx.Unmarshal(b, errRes)
384			if err != nil {
385				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
386			}
387			return nil, errRes
388		}
389		var (
390			paging Paging
391			value  []JobResponseBase
392		)
393		err := jsonx.NewDecoder(res.Body).Decode(&paging)
394		res.Body.Close()
395		if err != nil {
396			return nil, err
397		}
398		err = jsonx.Unmarshal(paging.Value, &value)
399		if err != nil {
400			return nil, err
401		}
402		values = append(values, value...)
403		if n >= 0 {
404			n--
405		}
406		if n == 0 || len(paging.NextLink) == 0 {
407			return values, nil
408		}
409		req, err = http.NewRequest("GET", paging.NextLink, nil)
410		if ctx != nil {
411			req = req.WithContext(ctx)
412		}
413		res, err = r.client.Do(req)
414		if err != nil {
415			return nil, err
416		}
417	}
418}
419
420// GetN performs GET request for JobResponseBase collection, max N pages
421func (r *DataClassificationServiceClassifyTextJobsCollectionRequest) GetN(ctx context.Context, n int) ([]JobResponseBase, error) {
422	var query string
423	if r.query != nil {
424		query = "?" + r.query.Encode()
425	}
426	return r.Paging(ctx, "GET", query, nil, n)
427}
428
429// Get performs GET request for JobResponseBase collection
430func (r *DataClassificationServiceClassifyTextJobsCollectionRequest) Get(ctx context.Context) ([]JobResponseBase, error) {
431	return r.GetN(ctx, 0)
432}
433
434// Add performs POST request for JobResponseBase collection
435func (r *DataClassificationServiceClassifyTextJobsCollectionRequest) Add(ctx context.Context, reqObj *JobResponseBase) (resObj *JobResponseBase, err error) {
436	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
437	return
438}
439
440// EvaluateDlpPoliciesJobs returns request builder for JobResponseBase collection
441func (b *DataClassificationServiceRequestBuilder) EvaluateDlpPoliciesJobs() *DataClassificationServiceEvaluateDlpPoliciesJobsCollectionRequestBuilder {
442	bb := &DataClassificationServiceEvaluateDlpPoliciesJobsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
443	bb.baseURL += "/evaluateDlpPoliciesJobs"
444	return bb
445}
446
447// DataClassificationServiceEvaluateDlpPoliciesJobsCollectionRequestBuilder is request builder for JobResponseBase collection
448type DataClassificationServiceEvaluateDlpPoliciesJobsCollectionRequestBuilder struct{ BaseRequestBuilder }
449
450// Request returns request for JobResponseBase collection
451func (b *DataClassificationServiceEvaluateDlpPoliciesJobsCollectionRequestBuilder) Request() *DataClassificationServiceEvaluateDlpPoliciesJobsCollectionRequest {
452	return &DataClassificationServiceEvaluateDlpPoliciesJobsCollectionRequest{
453		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
454	}
455}
456
457// ID returns request builder for JobResponseBase item
458func (b *DataClassificationServiceEvaluateDlpPoliciesJobsCollectionRequestBuilder) ID(id string) *JobResponseBaseRequestBuilder {
459	bb := &JobResponseBaseRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
460	bb.baseURL += "/" + id
461	return bb
462}
463
464// DataClassificationServiceEvaluateDlpPoliciesJobsCollectionRequest is request for JobResponseBase collection
465type DataClassificationServiceEvaluateDlpPoliciesJobsCollectionRequest struct{ BaseRequest }
466
467// Paging perfoms paging operation for JobResponseBase collection
468func (r *DataClassificationServiceEvaluateDlpPoliciesJobsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]JobResponseBase, error) {
469	req, err := r.NewJSONRequest(method, path, obj)
470	if err != nil {
471		return nil, err
472	}
473	if ctx != nil {
474		req = req.WithContext(ctx)
475	}
476	res, err := r.client.Do(req)
477	if err != nil {
478		return nil, err
479	}
480	var values []JobResponseBase
481	for {
482		if res.StatusCode != http.StatusOK {
483			b, _ := ioutil.ReadAll(res.Body)
484			res.Body.Close()
485			errRes := &ErrorResponse{Response: res}
486			err := jsonx.Unmarshal(b, errRes)
487			if err != nil {
488				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
489			}
490			return nil, errRes
491		}
492		var (
493			paging Paging
494			value  []JobResponseBase
495		)
496		err := jsonx.NewDecoder(res.Body).Decode(&paging)
497		res.Body.Close()
498		if err != nil {
499			return nil, err
500		}
501		err = jsonx.Unmarshal(paging.Value, &value)
502		if err != nil {
503			return nil, err
504		}
505		values = append(values, value...)
506		if n >= 0 {
507			n--
508		}
509		if n == 0 || len(paging.NextLink) == 0 {
510			return values, nil
511		}
512		req, err = http.NewRequest("GET", paging.NextLink, nil)
513		if ctx != nil {
514			req = req.WithContext(ctx)
515		}
516		res, err = r.client.Do(req)
517		if err != nil {
518			return nil, err
519		}
520	}
521}
522
523// GetN performs GET request for JobResponseBase collection, max N pages
524func (r *DataClassificationServiceEvaluateDlpPoliciesJobsCollectionRequest) GetN(ctx context.Context, n int) ([]JobResponseBase, error) {
525	var query string
526	if r.query != nil {
527		query = "?" + r.query.Encode()
528	}
529	return r.Paging(ctx, "GET", query, nil, n)
530}
531
532// Get performs GET request for JobResponseBase collection
533func (r *DataClassificationServiceEvaluateDlpPoliciesJobsCollectionRequest) Get(ctx context.Context) ([]JobResponseBase, error) {
534	return r.GetN(ctx, 0)
535}
536
537// Add performs POST request for JobResponseBase collection
538func (r *DataClassificationServiceEvaluateDlpPoliciesJobsCollectionRequest) Add(ctx context.Context, reqObj *JobResponseBase) (resObj *JobResponseBase, err error) {
539	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
540	return
541}
542
543// EvaluateLabelJobs returns request builder for JobResponseBase collection
544func (b *DataClassificationServiceRequestBuilder) EvaluateLabelJobs() *DataClassificationServiceEvaluateLabelJobsCollectionRequestBuilder {
545	bb := &DataClassificationServiceEvaluateLabelJobsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
546	bb.baseURL += "/evaluateLabelJobs"
547	return bb
548}
549
550// DataClassificationServiceEvaluateLabelJobsCollectionRequestBuilder is request builder for JobResponseBase collection
551type DataClassificationServiceEvaluateLabelJobsCollectionRequestBuilder struct{ BaseRequestBuilder }
552
553// Request returns request for JobResponseBase collection
554func (b *DataClassificationServiceEvaluateLabelJobsCollectionRequestBuilder) Request() *DataClassificationServiceEvaluateLabelJobsCollectionRequest {
555	return &DataClassificationServiceEvaluateLabelJobsCollectionRequest{
556		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
557	}
558}
559
560// ID returns request builder for JobResponseBase item
561func (b *DataClassificationServiceEvaluateLabelJobsCollectionRequestBuilder) ID(id string) *JobResponseBaseRequestBuilder {
562	bb := &JobResponseBaseRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
563	bb.baseURL += "/" + id
564	return bb
565}
566
567// DataClassificationServiceEvaluateLabelJobsCollectionRequest is request for JobResponseBase collection
568type DataClassificationServiceEvaluateLabelJobsCollectionRequest struct{ BaseRequest }
569
570// Paging perfoms paging operation for JobResponseBase collection
571func (r *DataClassificationServiceEvaluateLabelJobsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]JobResponseBase, error) {
572	req, err := r.NewJSONRequest(method, path, obj)
573	if err != nil {
574		return nil, err
575	}
576	if ctx != nil {
577		req = req.WithContext(ctx)
578	}
579	res, err := r.client.Do(req)
580	if err != nil {
581		return nil, err
582	}
583	var values []JobResponseBase
584	for {
585		if res.StatusCode != http.StatusOK {
586			b, _ := ioutil.ReadAll(res.Body)
587			res.Body.Close()
588			errRes := &ErrorResponse{Response: res}
589			err := jsonx.Unmarshal(b, errRes)
590			if err != nil {
591				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
592			}
593			return nil, errRes
594		}
595		var (
596			paging Paging
597			value  []JobResponseBase
598		)
599		err := jsonx.NewDecoder(res.Body).Decode(&paging)
600		res.Body.Close()
601		if err != nil {
602			return nil, err
603		}
604		err = jsonx.Unmarshal(paging.Value, &value)
605		if err != nil {
606			return nil, err
607		}
608		values = append(values, value...)
609		if n >= 0 {
610			n--
611		}
612		if n == 0 || len(paging.NextLink) == 0 {
613			return values, nil
614		}
615		req, err = http.NewRequest("GET", paging.NextLink, nil)
616		if ctx != nil {
617			req = req.WithContext(ctx)
618		}
619		res, err = r.client.Do(req)
620		if err != nil {
621			return nil, err
622		}
623	}
624}
625
626// GetN performs GET request for JobResponseBase collection, max N pages
627func (r *DataClassificationServiceEvaluateLabelJobsCollectionRequest) GetN(ctx context.Context, n int) ([]JobResponseBase, error) {
628	var query string
629	if r.query != nil {
630		query = "?" + r.query.Encode()
631	}
632	return r.Paging(ctx, "GET", query, nil, n)
633}
634
635// Get performs GET request for JobResponseBase collection
636func (r *DataClassificationServiceEvaluateLabelJobsCollectionRequest) Get(ctx context.Context) ([]JobResponseBase, error) {
637	return r.GetN(ctx, 0)
638}
639
640// Add performs POST request for JobResponseBase collection
641func (r *DataClassificationServiceEvaluateLabelJobsCollectionRequest) Add(ctx context.Context, reqObj *JobResponseBase) (resObj *JobResponseBase, err error) {
642	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
643	return
644}
645
646// ExactMatchDataStores returns request builder for ExactMatchDataStore collection
647func (b *DataClassificationServiceRequestBuilder) ExactMatchDataStores() *DataClassificationServiceExactMatchDataStoresCollectionRequestBuilder {
648	bb := &DataClassificationServiceExactMatchDataStoresCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
649	bb.baseURL += "/exactMatchDataStores"
650	return bb
651}
652
653// DataClassificationServiceExactMatchDataStoresCollectionRequestBuilder is request builder for ExactMatchDataStore collection
654type DataClassificationServiceExactMatchDataStoresCollectionRequestBuilder struct{ BaseRequestBuilder }
655
656// Request returns request for ExactMatchDataStore collection
657func (b *DataClassificationServiceExactMatchDataStoresCollectionRequestBuilder) Request() *DataClassificationServiceExactMatchDataStoresCollectionRequest {
658	return &DataClassificationServiceExactMatchDataStoresCollectionRequest{
659		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
660	}
661}
662
663// ID returns request builder for ExactMatchDataStore item
664func (b *DataClassificationServiceExactMatchDataStoresCollectionRequestBuilder) ID(id string) *ExactMatchDataStoreRequestBuilder {
665	bb := &ExactMatchDataStoreRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
666	bb.baseURL += "/" + id
667	return bb
668}
669
670// DataClassificationServiceExactMatchDataStoresCollectionRequest is request for ExactMatchDataStore collection
671type DataClassificationServiceExactMatchDataStoresCollectionRequest struct{ BaseRequest }
672
673// Paging perfoms paging operation for ExactMatchDataStore collection
674func (r *DataClassificationServiceExactMatchDataStoresCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ExactMatchDataStore, error) {
675	req, err := r.NewJSONRequest(method, path, obj)
676	if err != nil {
677		return nil, err
678	}
679	if ctx != nil {
680		req = req.WithContext(ctx)
681	}
682	res, err := r.client.Do(req)
683	if err != nil {
684		return nil, err
685	}
686	var values []ExactMatchDataStore
687	for {
688		if res.StatusCode != http.StatusOK {
689			b, _ := ioutil.ReadAll(res.Body)
690			res.Body.Close()
691			errRes := &ErrorResponse{Response: res}
692			err := jsonx.Unmarshal(b, errRes)
693			if err != nil {
694				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
695			}
696			return nil, errRes
697		}
698		var (
699			paging Paging
700			value  []ExactMatchDataStore
701		)
702		err := jsonx.NewDecoder(res.Body).Decode(&paging)
703		res.Body.Close()
704		if err != nil {
705			return nil, err
706		}
707		err = jsonx.Unmarshal(paging.Value, &value)
708		if err != nil {
709			return nil, err
710		}
711		values = append(values, value...)
712		if n >= 0 {
713			n--
714		}
715		if n == 0 || len(paging.NextLink) == 0 {
716			return values, nil
717		}
718		req, err = http.NewRequest("GET", paging.NextLink, nil)
719		if ctx != nil {
720			req = req.WithContext(ctx)
721		}
722		res, err = r.client.Do(req)
723		if err != nil {
724			return nil, err
725		}
726	}
727}
728
729// GetN performs GET request for ExactMatchDataStore collection, max N pages
730func (r *DataClassificationServiceExactMatchDataStoresCollectionRequest) GetN(ctx context.Context, n int) ([]ExactMatchDataStore, error) {
731	var query string
732	if r.query != nil {
733		query = "?" + r.query.Encode()
734	}
735	return r.Paging(ctx, "GET", query, nil, n)
736}
737
738// Get performs GET request for ExactMatchDataStore collection
739func (r *DataClassificationServiceExactMatchDataStoresCollectionRequest) Get(ctx context.Context) ([]ExactMatchDataStore, error) {
740	return r.GetN(ctx, 0)
741}
742
743// Add performs POST request for ExactMatchDataStore collection
744func (r *DataClassificationServiceExactMatchDataStoresCollectionRequest) Add(ctx context.Context, reqObj *ExactMatchDataStore) (resObj *ExactMatchDataStore, err error) {
745	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
746	return
747}
748
749// ExactMatchUploadAgents returns request builder for ExactMatchUploadAgent collection
750func (b *DataClassificationServiceRequestBuilder) ExactMatchUploadAgents() *DataClassificationServiceExactMatchUploadAgentsCollectionRequestBuilder {
751	bb := &DataClassificationServiceExactMatchUploadAgentsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
752	bb.baseURL += "/exactMatchUploadAgents"
753	return bb
754}
755
756// DataClassificationServiceExactMatchUploadAgentsCollectionRequestBuilder is request builder for ExactMatchUploadAgent collection
757type DataClassificationServiceExactMatchUploadAgentsCollectionRequestBuilder struct{ BaseRequestBuilder }
758
759// Request returns request for ExactMatchUploadAgent collection
760func (b *DataClassificationServiceExactMatchUploadAgentsCollectionRequestBuilder) Request() *DataClassificationServiceExactMatchUploadAgentsCollectionRequest {
761	return &DataClassificationServiceExactMatchUploadAgentsCollectionRequest{
762		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
763	}
764}
765
766// ID returns request builder for ExactMatchUploadAgent item
767func (b *DataClassificationServiceExactMatchUploadAgentsCollectionRequestBuilder) ID(id string) *ExactMatchUploadAgentRequestBuilder {
768	bb := &ExactMatchUploadAgentRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
769	bb.baseURL += "/" + id
770	return bb
771}
772
773// DataClassificationServiceExactMatchUploadAgentsCollectionRequest is request for ExactMatchUploadAgent collection
774type DataClassificationServiceExactMatchUploadAgentsCollectionRequest struct{ BaseRequest }
775
776// Paging perfoms paging operation for ExactMatchUploadAgent collection
777func (r *DataClassificationServiceExactMatchUploadAgentsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ExactMatchUploadAgent, error) {
778	req, err := r.NewJSONRequest(method, path, obj)
779	if err != nil {
780		return nil, err
781	}
782	if ctx != nil {
783		req = req.WithContext(ctx)
784	}
785	res, err := r.client.Do(req)
786	if err != nil {
787		return nil, err
788	}
789	var values []ExactMatchUploadAgent
790	for {
791		if res.StatusCode != http.StatusOK {
792			b, _ := ioutil.ReadAll(res.Body)
793			res.Body.Close()
794			errRes := &ErrorResponse{Response: res}
795			err := jsonx.Unmarshal(b, errRes)
796			if err != nil {
797				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
798			}
799			return nil, errRes
800		}
801		var (
802			paging Paging
803			value  []ExactMatchUploadAgent
804		)
805		err := jsonx.NewDecoder(res.Body).Decode(&paging)
806		res.Body.Close()
807		if err != nil {
808			return nil, err
809		}
810		err = jsonx.Unmarshal(paging.Value, &value)
811		if err != nil {
812			return nil, err
813		}
814		values = append(values, value...)
815		if n >= 0 {
816			n--
817		}
818		if n == 0 || len(paging.NextLink) == 0 {
819			return values, nil
820		}
821		req, err = http.NewRequest("GET", paging.NextLink, nil)
822		if ctx != nil {
823			req = req.WithContext(ctx)
824		}
825		res, err = r.client.Do(req)
826		if err != nil {
827			return nil, err
828		}
829	}
830}
831
832// GetN performs GET request for ExactMatchUploadAgent collection, max N pages
833func (r *DataClassificationServiceExactMatchUploadAgentsCollectionRequest) GetN(ctx context.Context, n int) ([]ExactMatchUploadAgent, error) {
834	var query string
835	if r.query != nil {
836		query = "?" + r.query.Encode()
837	}
838	return r.Paging(ctx, "GET", query, nil, n)
839}
840
841// Get performs GET request for ExactMatchUploadAgent collection
842func (r *DataClassificationServiceExactMatchUploadAgentsCollectionRequest) Get(ctx context.Context) ([]ExactMatchUploadAgent, error) {
843	return r.GetN(ctx, 0)
844}
845
846// Add performs POST request for ExactMatchUploadAgent collection
847func (r *DataClassificationServiceExactMatchUploadAgentsCollectionRequest) Add(ctx context.Context, reqObj *ExactMatchUploadAgent) (resObj *ExactMatchUploadAgent, err error) {
848	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
849	return
850}
851
852// Jobs returns request builder for JobResponseBase collection
853func (b *DataClassificationServiceRequestBuilder) Jobs() *DataClassificationServiceJobsCollectionRequestBuilder {
854	bb := &DataClassificationServiceJobsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
855	bb.baseURL += "/jobs"
856	return bb
857}
858
859// DataClassificationServiceJobsCollectionRequestBuilder is request builder for JobResponseBase collection
860type DataClassificationServiceJobsCollectionRequestBuilder struct{ BaseRequestBuilder }
861
862// Request returns request for JobResponseBase collection
863func (b *DataClassificationServiceJobsCollectionRequestBuilder) Request() *DataClassificationServiceJobsCollectionRequest {
864	return &DataClassificationServiceJobsCollectionRequest{
865		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
866	}
867}
868
869// ID returns request builder for JobResponseBase item
870func (b *DataClassificationServiceJobsCollectionRequestBuilder) ID(id string) *JobResponseBaseRequestBuilder {
871	bb := &JobResponseBaseRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
872	bb.baseURL += "/" + id
873	return bb
874}
875
876// DataClassificationServiceJobsCollectionRequest is request for JobResponseBase collection
877type DataClassificationServiceJobsCollectionRequest struct{ BaseRequest }
878
879// Paging perfoms paging operation for JobResponseBase collection
880func (r *DataClassificationServiceJobsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]JobResponseBase, error) {
881	req, err := r.NewJSONRequest(method, path, obj)
882	if err != nil {
883		return nil, err
884	}
885	if ctx != nil {
886		req = req.WithContext(ctx)
887	}
888	res, err := r.client.Do(req)
889	if err != nil {
890		return nil, err
891	}
892	var values []JobResponseBase
893	for {
894		if res.StatusCode != http.StatusOK {
895			b, _ := ioutil.ReadAll(res.Body)
896			res.Body.Close()
897			errRes := &ErrorResponse{Response: res}
898			err := jsonx.Unmarshal(b, errRes)
899			if err != nil {
900				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
901			}
902			return nil, errRes
903		}
904		var (
905			paging Paging
906			value  []JobResponseBase
907		)
908		err := jsonx.NewDecoder(res.Body).Decode(&paging)
909		res.Body.Close()
910		if err != nil {
911			return nil, err
912		}
913		err = jsonx.Unmarshal(paging.Value, &value)
914		if err != nil {
915			return nil, err
916		}
917		values = append(values, value...)
918		if n >= 0 {
919			n--
920		}
921		if n == 0 || len(paging.NextLink) == 0 {
922			return values, nil
923		}
924		req, err = http.NewRequest("GET", paging.NextLink, nil)
925		if ctx != nil {
926			req = req.WithContext(ctx)
927		}
928		res, err = r.client.Do(req)
929		if err != nil {
930			return nil, err
931		}
932	}
933}
934
935// GetN performs GET request for JobResponseBase collection, max N pages
936func (r *DataClassificationServiceJobsCollectionRequest) GetN(ctx context.Context, n int) ([]JobResponseBase, error) {
937	var query string
938	if r.query != nil {
939		query = "?" + r.query.Encode()
940	}
941	return r.Paging(ctx, "GET", query, nil, n)
942}
943
944// Get performs GET request for JobResponseBase collection
945func (r *DataClassificationServiceJobsCollectionRequest) Get(ctx context.Context) ([]JobResponseBase, error) {
946	return r.GetN(ctx, 0)
947}
948
949// Add performs POST request for JobResponseBase collection
950func (r *DataClassificationServiceJobsCollectionRequest) Add(ctx context.Context, reqObj *JobResponseBase) (resObj *JobResponseBase, err error) {
951	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
952	return
953}
954
955// LabelsAndPoliciesEvaluationJobs returns request builder for JobResponseBase collection
956func (b *DataClassificationServiceRequestBuilder) LabelsAndPoliciesEvaluationJobs() *DataClassificationServiceLabelsAndPoliciesEvaluationJobsCollectionRequestBuilder {
957	bb := &DataClassificationServiceLabelsAndPoliciesEvaluationJobsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
958	bb.baseURL += "/labelsAndPoliciesEvaluationJobs"
959	return bb
960}
961
962// DataClassificationServiceLabelsAndPoliciesEvaluationJobsCollectionRequestBuilder is request builder for JobResponseBase collection
963type DataClassificationServiceLabelsAndPoliciesEvaluationJobsCollectionRequestBuilder struct{ BaseRequestBuilder }
964
965// Request returns request for JobResponseBase collection
966func (b *DataClassificationServiceLabelsAndPoliciesEvaluationJobsCollectionRequestBuilder) Request() *DataClassificationServiceLabelsAndPoliciesEvaluationJobsCollectionRequest {
967	return &DataClassificationServiceLabelsAndPoliciesEvaluationJobsCollectionRequest{
968		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
969	}
970}
971
972// ID returns request builder for JobResponseBase item
973func (b *DataClassificationServiceLabelsAndPoliciesEvaluationJobsCollectionRequestBuilder) ID(id string) *JobResponseBaseRequestBuilder {
974	bb := &JobResponseBaseRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
975	bb.baseURL += "/" + id
976	return bb
977}
978
979// DataClassificationServiceLabelsAndPoliciesEvaluationJobsCollectionRequest is request for JobResponseBase collection
980type DataClassificationServiceLabelsAndPoliciesEvaluationJobsCollectionRequest struct{ BaseRequest }
981
982// Paging perfoms paging operation for JobResponseBase collection
983func (r *DataClassificationServiceLabelsAndPoliciesEvaluationJobsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]JobResponseBase, error) {
984	req, err := r.NewJSONRequest(method, path, obj)
985	if err != nil {
986		return nil, err
987	}
988	if ctx != nil {
989		req = req.WithContext(ctx)
990	}
991	res, err := r.client.Do(req)
992	if err != nil {
993		return nil, err
994	}
995	var values []JobResponseBase
996	for {
997		if res.StatusCode != http.StatusOK {
998			b, _ := ioutil.ReadAll(res.Body)
999			res.Body.Close()
1000			errRes := &ErrorResponse{Response: res}
1001			err := jsonx.Unmarshal(b, errRes)
1002			if err != nil {
1003				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
1004			}
1005			return nil, errRes
1006		}
1007		var (
1008			paging Paging
1009			value  []JobResponseBase
1010		)
1011		err := jsonx.NewDecoder(res.Body).Decode(&paging)
1012		res.Body.Close()
1013		if err != nil {
1014			return nil, err
1015		}
1016		err = jsonx.Unmarshal(paging.Value, &value)
1017		if err != nil {
1018			return nil, err
1019		}
1020		values = append(values, value...)
1021		if n >= 0 {
1022			n--
1023		}
1024		if n == 0 || len(paging.NextLink) == 0 {
1025			return values, nil
1026		}
1027		req, err = http.NewRequest("GET", paging.NextLink, nil)
1028		if ctx != nil {
1029			req = req.WithContext(ctx)
1030		}
1031		res, err = r.client.Do(req)
1032		if err != nil {
1033			return nil, err
1034		}
1035	}
1036}
1037
1038// GetN performs GET request for JobResponseBase collection, max N pages
1039func (r *DataClassificationServiceLabelsAndPoliciesEvaluationJobsCollectionRequest) GetN(ctx context.Context, n int) ([]JobResponseBase, error) {
1040	var query string
1041	if r.query != nil {
1042		query = "?" + r.query.Encode()
1043	}
1044	return r.Paging(ctx, "GET", query, nil, n)
1045}
1046
1047// Get performs GET request for JobResponseBase collection
1048func (r *DataClassificationServiceLabelsAndPoliciesEvaluationJobsCollectionRequest) Get(ctx context.Context) ([]JobResponseBase, error) {
1049	return r.GetN(ctx, 0)
1050}
1051
1052// Add performs POST request for JobResponseBase collection
1053func (r *DataClassificationServiceLabelsAndPoliciesEvaluationJobsCollectionRequest) Add(ctx context.Context, reqObj *JobResponseBase) (resObj *JobResponseBase, err error) {
1054	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
1055	return
1056}
1057
1058// SensitiveTypes returns request builder for SensitiveType collection
1059func (b *DataClassificationServiceRequestBuilder) SensitiveTypes() *DataClassificationServiceSensitiveTypesCollectionRequestBuilder {
1060	bb := &DataClassificationServiceSensitiveTypesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
1061	bb.baseURL += "/sensitiveTypes"
1062	return bb
1063}
1064
1065// DataClassificationServiceSensitiveTypesCollectionRequestBuilder is request builder for SensitiveType collection
1066type DataClassificationServiceSensitiveTypesCollectionRequestBuilder struct{ BaseRequestBuilder }
1067
1068// Request returns request for SensitiveType collection
1069func (b *DataClassificationServiceSensitiveTypesCollectionRequestBuilder) Request() *DataClassificationServiceSensitiveTypesCollectionRequest {
1070	return &DataClassificationServiceSensitiveTypesCollectionRequest{
1071		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
1072	}
1073}
1074
1075// ID returns request builder for SensitiveType item
1076func (b *DataClassificationServiceSensitiveTypesCollectionRequestBuilder) ID(id string) *SensitiveTypeRequestBuilder {
1077	bb := &SensitiveTypeRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
1078	bb.baseURL += "/" + id
1079	return bb
1080}
1081
1082// DataClassificationServiceSensitiveTypesCollectionRequest is request for SensitiveType collection
1083type DataClassificationServiceSensitiveTypesCollectionRequest struct{ BaseRequest }
1084
1085// Paging perfoms paging operation for SensitiveType collection
1086func (r *DataClassificationServiceSensitiveTypesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]SensitiveType, error) {
1087	req, err := r.NewJSONRequest(method, path, obj)
1088	if err != nil {
1089		return nil, err
1090	}
1091	if ctx != nil {
1092		req = req.WithContext(ctx)
1093	}
1094	res, err := r.client.Do(req)
1095	if err != nil {
1096		return nil, err
1097	}
1098	var values []SensitiveType
1099	for {
1100		if res.StatusCode != http.StatusOK {
1101			b, _ := ioutil.ReadAll(res.Body)
1102			res.Body.Close()
1103			errRes := &ErrorResponse{Response: res}
1104			err := jsonx.Unmarshal(b, errRes)
1105			if err != nil {
1106				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
1107			}
1108			return nil, errRes
1109		}
1110		var (
1111			paging Paging
1112			value  []SensitiveType
1113		)
1114		err := jsonx.NewDecoder(res.Body).Decode(&paging)
1115		res.Body.Close()
1116		if err != nil {
1117			return nil, err
1118		}
1119		err = jsonx.Unmarshal(paging.Value, &value)
1120		if err != nil {
1121			return nil, err
1122		}
1123		values = append(values, value...)
1124		if n >= 0 {
1125			n--
1126		}
1127		if n == 0 || len(paging.NextLink) == 0 {
1128			return values, nil
1129		}
1130		req, err = http.NewRequest("GET", paging.NextLink, nil)
1131		if ctx != nil {
1132			req = req.WithContext(ctx)
1133		}
1134		res, err = r.client.Do(req)
1135		if err != nil {
1136			return nil, err
1137		}
1138	}
1139}
1140
1141// GetN performs GET request for SensitiveType collection, max N pages
1142func (r *DataClassificationServiceSensitiveTypesCollectionRequest) GetN(ctx context.Context, n int) ([]SensitiveType, error) {
1143	var query string
1144	if r.query != nil {
1145		query = "?" + r.query.Encode()
1146	}
1147	return r.Paging(ctx, "GET", query, nil, n)
1148}
1149
1150// Get performs GET request for SensitiveType collection
1151func (r *DataClassificationServiceSensitiveTypesCollectionRequest) Get(ctx context.Context) ([]SensitiveType, error) {
1152	return r.GetN(ctx, 0)
1153}
1154
1155// Add performs POST request for SensitiveType collection
1156func (r *DataClassificationServiceSensitiveTypesCollectionRequest) Add(ctx context.Context, reqObj *SensitiveType) (resObj *SensitiveType, err error) {
1157	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
1158	return
1159}
1160
1161// SensitivityLabels returns request builder for SensitivityLabel collection
1162func (b *DataClassificationServiceRequestBuilder) SensitivityLabels() *DataClassificationServiceSensitivityLabelsCollectionRequestBuilder {
1163	bb := &DataClassificationServiceSensitivityLabelsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
1164	bb.baseURL += "/sensitivityLabels"
1165	return bb
1166}
1167
1168// DataClassificationServiceSensitivityLabelsCollectionRequestBuilder is request builder for SensitivityLabel collection
1169type DataClassificationServiceSensitivityLabelsCollectionRequestBuilder struct{ BaseRequestBuilder }
1170
1171// Request returns request for SensitivityLabel collection
1172func (b *DataClassificationServiceSensitivityLabelsCollectionRequestBuilder) Request() *DataClassificationServiceSensitivityLabelsCollectionRequest {
1173	return &DataClassificationServiceSensitivityLabelsCollectionRequest{
1174		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
1175	}
1176}
1177
1178// ID returns request builder for SensitivityLabel item
1179func (b *DataClassificationServiceSensitivityLabelsCollectionRequestBuilder) ID(id string) *SensitivityLabelRequestBuilder {
1180	bb := &SensitivityLabelRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
1181	bb.baseURL += "/" + id
1182	return bb
1183}
1184
1185// DataClassificationServiceSensitivityLabelsCollectionRequest is request for SensitivityLabel collection
1186type DataClassificationServiceSensitivityLabelsCollectionRequest struct{ BaseRequest }
1187
1188// Paging perfoms paging operation for SensitivityLabel collection
1189func (r *DataClassificationServiceSensitivityLabelsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]SensitivityLabel, error) {
1190	req, err := r.NewJSONRequest(method, path, obj)
1191	if err != nil {
1192		return nil, err
1193	}
1194	if ctx != nil {
1195		req = req.WithContext(ctx)
1196	}
1197	res, err := r.client.Do(req)
1198	if err != nil {
1199		return nil, err
1200	}
1201	var values []SensitivityLabel
1202	for {
1203		if res.StatusCode != http.StatusOK {
1204			b, _ := ioutil.ReadAll(res.Body)
1205			res.Body.Close()
1206			errRes := &ErrorResponse{Response: res}
1207			err := jsonx.Unmarshal(b, errRes)
1208			if err != nil {
1209				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
1210			}
1211			return nil, errRes
1212		}
1213		var (
1214			paging Paging
1215			value  []SensitivityLabel
1216		)
1217		err := jsonx.NewDecoder(res.Body).Decode(&paging)
1218		res.Body.Close()
1219		if err != nil {
1220			return nil, err
1221		}
1222		err = jsonx.Unmarshal(paging.Value, &value)
1223		if err != nil {
1224			return nil, err
1225		}
1226		values = append(values, value...)
1227		if n >= 0 {
1228			n--
1229		}
1230		if n == 0 || len(paging.NextLink) == 0 {
1231			return values, nil
1232		}
1233		req, err = http.NewRequest("GET", paging.NextLink, nil)
1234		if ctx != nil {
1235			req = req.WithContext(ctx)
1236		}
1237		res, err = r.client.Do(req)
1238		if err != nil {
1239			return nil, err
1240		}
1241	}
1242}
1243
1244// GetN performs GET request for SensitivityLabel collection, max N pages
1245func (r *DataClassificationServiceSensitivityLabelsCollectionRequest) GetN(ctx context.Context, n int) ([]SensitivityLabel, error) {
1246	var query string
1247	if r.query != nil {
1248		query = "?" + r.query.Encode()
1249	}
1250	return r.Paging(ctx, "GET", query, nil, n)
1251}
1252
1253// Get performs GET request for SensitivityLabel collection
1254func (r *DataClassificationServiceSensitivityLabelsCollectionRequest) Get(ctx context.Context) ([]SensitivityLabel, error) {
1255	return r.GetN(ctx, 0)
1256}
1257
1258// Add performs POST request for SensitivityLabel collection
1259func (r *DataClassificationServiceSensitivityLabelsCollectionRequest) Add(ctx context.Context, reqObj *SensitivityLabel) (resObj *SensitivityLabel, err error) {
1260	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
1261	return
1262}
1263