github.com/yaegashi/msgraph.go@v0.1.4/beta/ActionEntitlement.go (about)

     1  // Code generated by msgraph.go/gen DO NOT EDIT.
     2  
     3  package msgraph
     4  
     5  import (
     6  	"context"
     7  	"fmt"
     8  	"io/ioutil"
     9  	"net/http"
    10  
    11  	"github.com/yaegashi/msgraph.go/jsonx"
    12  )
    13  
    14  // AccessPackageAssignmentPolicies returns request builder for AccessPackageAssignmentPolicy collection
    15  func (b *EntitlementManagementRequestBuilder) AccessPackageAssignmentPolicies() *EntitlementManagementAccessPackageAssignmentPoliciesCollectionRequestBuilder {
    16  	bb := &EntitlementManagementAccessPackageAssignmentPoliciesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
    17  	bb.baseURL += "/accessPackageAssignmentPolicies"
    18  	return bb
    19  }
    20  
    21  // EntitlementManagementAccessPackageAssignmentPoliciesCollectionRequestBuilder is request builder for AccessPackageAssignmentPolicy collection
    22  type EntitlementManagementAccessPackageAssignmentPoliciesCollectionRequestBuilder struct{ BaseRequestBuilder }
    23  
    24  // Request returns request for AccessPackageAssignmentPolicy collection
    25  func (b *EntitlementManagementAccessPackageAssignmentPoliciesCollectionRequestBuilder) Request() *EntitlementManagementAccessPackageAssignmentPoliciesCollectionRequest {
    26  	return &EntitlementManagementAccessPackageAssignmentPoliciesCollectionRequest{
    27  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
    28  	}
    29  }
    30  
    31  // ID returns request builder for AccessPackageAssignmentPolicy item
    32  func (b *EntitlementManagementAccessPackageAssignmentPoliciesCollectionRequestBuilder) ID(id string) *AccessPackageAssignmentPolicyRequestBuilder {
    33  	bb := &AccessPackageAssignmentPolicyRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
    34  	bb.baseURL += "/" + id
    35  	return bb
    36  }
    37  
    38  // EntitlementManagementAccessPackageAssignmentPoliciesCollectionRequest is request for AccessPackageAssignmentPolicy collection
    39  type EntitlementManagementAccessPackageAssignmentPoliciesCollectionRequest struct{ BaseRequest }
    40  
    41  // Paging perfoms paging operation for AccessPackageAssignmentPolicy collection
    42  func (r *EntitlementManagementAccessPackageAssignmentPoliciesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]AccessPackageAssignmentPolicy, error) {
    43  	req, err := r.NewJSONRequest(method, path, obj)
    44  	if err != nil {
    45  		return nil, err
    46  	}
    47  	if ctx != nil {
    48  		req = req.WithContext(ctx)
    49  	}
    50  	res, err := r.client.Do(req)
    51  	if err != nil {
    52  		return nil, err
    53  	}
    54  	var values []AccessPackageAssignmentPolicy
    55  	for {
    56  		if res.StatusCode != http.StatusOK {
    57  			b, _ := ioutil.ReadAll(res.Body)
    58  			res.Body.Close()
    59  			errRes := &ErrorResponse{Response: res}
    60  			err := jsonx.Unmarshal(b, errRes)
    61  			if err != nil {
    62  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
    63  			}
    64  			return nil, errRes
    65  		}
    66  		var (
    67  			paging Paging
    68  			value  []AccessPackageAssignmentPolicy
    69  		)
    70  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
    71  		res.Body.Close()
    72  		if err != nil {
    73  			return nil, err
    74  		}
    75  		err = jsonx.Unmarshal(paging.Value, &value)
    76  		if err != nil {
    77  			return nil, err
    78  		}
    79  		values = append(values, value...)
    80  		if n >= 0 {
    81  			n--
    82  		}
    83  		if n == 0 || len(paging.NextLink) == 0 {
    84  			return values, nil
    85  		}
    86  		req, err = http.NewRequest("GET", paging.NextLink, nil)
    87  		if ctx != nil {
    88  			req = req.WithContext(ctx)
    89  		}
    90  		res, err = r.client.Do(req)
    91  		if err != nil {
    92  			return nil, err
    93  		}
    94  	}
    95  }
    96  
    97  // GetN performs GET request for AccessPackageAssignmentPolicy collection, max N pages
    98  func (r *EntitlementManagementAccessPackageAssignmentPoliciesCollectionRequest) GetN(ctx context.Context, n int) ([]AccessPackageAssignmentPolicy, error) {
    99  	var query string
   100  	if r.query != nil {
   101  		query = "?" + r.query.Encode()
   102  	}
   103  	return r.Paging(ctx, "GET", query, nil, n)
   104  }
   105  
   106  // Get performs GET request for AccessPackageAssignmentPolicy collection
   107  func (r *EntitlementManagementAccessPackageAssignmentPoliciesCollectionRequest) Get(ctx context.Context) ([]AccessPackageAssignmentPolicy, error) {
   108  	return r.GetN(ctx, 0)
   109  }
   110  
   111  // Add performs POST request for AccessPackageAssignmentPolicy collection
   112  func (r *EntitlementManagementAccessPackageAssignmentPoliciesCollectionRequest) Add(ctx context.Context, reqObj *AccessPackageAssignmentPolicy) (resObj *AccessPackageAssignmentPolicy, err error) {
   113  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   114  	return
   115  }
   116  
   117  // AccessPackageAssignmentRequests returns request builder for AccessPackageAssignmentRequestObject collection
   118  func (b *EntitlementManagementRequestBuilder) AccessPackageAssignmentRequests() *EntitlementManagementAccessPackageAssignmentRequestsCollectionRequestBuilder {
   119  	bb := &EntitlementManagementAccessPackageAssignmentRequestsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   120  	bb.baseURL += "/accessPackageAssignmentRequests"
   121  	return bb
   122  }
   123  
   124  // EntitlementManagementAccessPackageAssignmentRequestsCollectionRequestBuilder is request builder for AccessPackageAssignmentRequestObject collection
   125  type EntitlementManagementAccessPackageAssignmentRequestsCollectionRequestBuilder struct{ BaseRequestBuilder }
   126  
   127  // Request returns request for AccessPackageAssignmentRequestObject collection
   128  func (b *EntitlementManagementAccessPackageAssignmentRequestsCollectionRequestBuilder) Request() *EntitlementManagementAccessPackageAssignmentRequestsCollectionRequest {
   129  	return &EntitlementManagementAccessPackageAssignmentRequestsCollectionRequest{
   130  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   131  	}
   132  }
   133  
   134  // ID returns request builder for AccessPackageAssignmentRequestObject item
   135  func (b *EntitlementManagementAccessPackageAssignmentRequestsCollectionRequestBuilder) ID(id string) *AccessPackageAssignmentRequestObjectRequestBuilder {
   136  	bb := &AccessPackageAssignmentRequestObjectRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   137  	bb.baseURL += "/" + id
   138  	return bb
   139  }
   140  
   141  // EntitlementManagementAccessPackageAssignmentRequestsCollectionRequest is request for AccessPackageAssignmentRequestObject collection
   142  type EntitlementManagementAccessPackageAssignmentRequestsCollectionRequest struct{ BaseRequest }
   143  
   144  // Paging perfoms paging operation for AccessPackageAssignmentRequestObject collection
   145  func (r *EntitlementManagementAccessPackageAssignmentRequestsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]AccessPackageAssignmentRequestObject, error) {
   146  	req, err := r.NewJSONRequest(method, path, obj)
   147  	if err != nil {
   148  		return nil, err
   149  	}
   150  	if ctx != nil {
   151  		req = req.WithContext(ctx)
   152  	}
   153  	res, err := r.client.Do(req)
   154  	if err != nil {
   155  		return nil, err
   156  	}
   157  	var values []AccessPackageAssignmentRequestObject
   158  	for {
   159  		if res.StatusCode != http.StatusOK {
   160  			b, _ := ioutil.ReadAll(res.Body)
   161  			res.Body.Close()
   162  			errRes := &ErrorResponse{Response: res}
   163  			err := jsonx.Unmarshal(b, errRes)
   164  			if err != nil {
   165  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   166  			}
   167  			return nil, errRes
   168  		}
   169  		var (
   170  			paging Paging
   171  			value  []AccessPackageAssignmentRequestObject
   172  		)
   173  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   174  		res.Body.Close()
   175  		if err != nil {
   176  			return nil, err
   177  		}
   178  		err = jsonx.Unmarshal(paging.Value, &value)
   179  		if err != nil {
   180  			return nil, err
   181  		}
   182  		values = append(values, value...)
   183  		if n >= 0 {
   184  			n--
   185  		}
   186  		if n == 0 || len(paging.NextLink) == 0 {
   187  			return values, nil
   188  		}
   189  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   190  		if ctx != nil {
   191  			req = req.WithContext(ctx)
   192  		}
   193  		res, err = r.client.Do(req)
   194  		if err != nil {
   195  			return nil, err
   196  		}
   197  	}
   198  }
   199  
   200  // GetN performs GET request for AccessPackageAssignmentRequestObject collection, max N pages
   201  func (r *EntitlementManagementAccessPackageAssignmentRequestsCollectionRequest) GetN(ctx context.Context, n int) ([]AccessPackageAssignmentRequestObject, error) {
   202  	var query string
   203  	if r.query != nil {
   204  		query = "?" + r.query.Encode()
   205  	}
   206  	return r.Paging(ctx, "GET", query, nil, n)
   207  }
   208  
   209  // Get performs GET request for AccessPackageAssignmentRequestObject collection
   210  func (r *EntitlementManagementAccessPackageAssignmentRequestsCollectionRequest) Get(ctx context.Context) ([]AccessPackageAssignmentRequestObject, error) {
   211  	return r.GetN(ctx, 0)
   212  }
   213  
   214  // Add performs POST request for AccessPackageAssignmentRequestObject collection
   215  func (r *EntitlementManagementAccessPackageAssignmentRequestsCollectionRequest) Add(ctx context.Context, reqObj *AccessPackageAssignmentRequestObject) (resObj *AccessPackageAssignmentRequestObject, err error) {
   216  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   217  	return
   218  }
   219  
   220  // AccessPackageAssignmentResourceRoles returns request builder for AccessPackageAssignmentResourceRole collection
   221  func (b *EntitlementManagementRequestBuilder) AccessPackageAssignmentResourceRoles() *EntitlementManagementAccessPackageAssignmentResourceRolesCollectionRequestBuilder {
   222  	bb := &EntitlementManagementAccessPackageAssignmentResourceRolesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   223  	bb.baseURL += "/accessPackageAssignmentResourceRoles"
   224  	return bb
   225  }
   226  
   227  // EntitlementManagementAccessPackageAssignmentResourceRolesCollectionRequestBuilder is request builder for AccessPackageAssignmentResourceRole collection
   228  type EntitlementManagementAccessPackageAssignmentResourceRolesCollectionRequestBuilder struct{ BaseRequestBuilder }
   229  
   230  // Request returns request for AccessPackageAssignmentResourceRole collection
   231  func (b *EntitlementManagementAccessPackageAssignmentResourceRolesCollectionRequestBuilder) Request() *EntitlementManagementAccessPackageAssignmentResourceRolesCollectionRequest {
   232  	return &EntitlementManagementAccessPackageAssignmentResourceRolesCollectionRequest{
   233  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   234  	}
   235  }
   236  
   237  // ID returns request builder for AccessPackageAssignmentResourceRole item
   238  func (b *EntitlementManagementAccessPackageAssignmentResourceRolesCollectionRequestBuilder) ID(id string) *AccessPackageAssignmentResourceRoleRequestBuilder {
   239  	bb := &AccessPackageAssignmentResourceRoleRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   240  	bb.baseURL += "/" + id
   241  	return bb
   242  }
   243  
   244  // EntitlementManagementAccessPackageAssignmentResourceRolesCollectionRequest is request for AccessPackageAssignmentResourceRole collection
   245  type EntitlementManagementAccessPackageAssignmentResourceRolesCollectionRequest struct{ BaseRequest }
   246  
   247  // Paging perfoms paging operation for AccessPackageAssignmentResourceRole collection
   248  func (r *EntitlementManagementAccessPackageAssignmentResourceRolesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]AccessPackageAssignmentResourceRole, error) {
   249  	req, err := r.NewJSONRequest(method, path, obj)
   250  	if err != nil {
   251  		return nil, err
   252  	}
   253  	if ctx != nil {
   254  		req = req.WithContext(ctx)
   255  	}
   256  	res, err := r.client.Do(req)
   257  	if err != nil {
   258  		return nil, err
   259  	}
   260  	var values []AccessPackageAssignmentResourceRole
   261  	for {
   262  		if res.StatusCode != http.StatusOK {
   263  			b, _ := ioutil.ReadAll(res.Body)
   264  			res.Body.Close()
   265  			errRes := &ErrorResponse{Response: res}
   266  			err := jsonx.Unmarshal(b, errRes)
   267  			if err != nil {
   268  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   269  			}
   270  			return nil, errRes
   271  		}
   272  		var (
   273  			paging Paging
   274  			value  []AccessPackageAssignmentResourceRole
   275  		)
   276  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   277  		res.Body.Close()
   278  		if err != nil {
   279  			return nil, err
   280  		}
   281  		err = jsonx.Unmarshal(paging.Value, &value)
   282  		if err != nil {
   283  			return nil, err
   284  		}
   285  		values = append(values, value...)
   286  		if n >= 0 {
   287  			n--
   288  		}
   289  		if n == 0 || len(paging.NextLink) == 0 {
   290  			return values, nil
   291  		}
   292  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   293  		if ctx != nil {
   294  			req = req.WithContext(ctx)
   295  		}
   296  		res, err = r.client.Do(req)
   297  		if err != nil {
   298  			return nil, err
   299  		}
   300  	}
   301  }
   302  
   303  // GetN performs GET request for AccessPackageAssignmentResourceRole collection, max N pages
   304  func (r *EntitlementManagementAccessPackageAssignmentResourceRolesCollectionRequest) GetN(ctx context.Context, n int) ([]AccessPackageAssignmentResourceRole, error) {
   305  	var query string
   306  	if r.query != nil {
   307  		query = "?" + r.query.Encode()
   308  	}
   309  	return r.Paging(ctx, "GET", query, nil, n)
   310  }
   311  
   312  // Get performs GET request for AccessPackageAssignmentResourceRole collection
   313  func (r *EntitlementManagementAccessPackageAssignmentResourceRolesCollectionRequest) Get(ctx context.Context) ([]AccessPackageAssignmentResourceRole, error) {
   314  	return r.GetN(ctx, 0)
   315  }
   316  
   317  // Add performs POST request for AccessPackageAssignmentResourceRole collection
   318  func (r *EntitlementManagementAccessPackageAssignmentResourceRolesCollectionRequest) Add(ctx context.Context, reqObj *AccessPackageAssignmentResourceRole) (resObj *AccessPackageAssignmentResourceRole, err error) {
   319  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   320  	return
   321  }
   322  
   323  // AccessPackageAssignments returns request builder for AccessPackageAssignment collection
   324  func (b *EntitlementManagementRequestBuilder) AccessPackageAssignments() *EntitlementManagementAccessPackageAssignmentsCollectionRequestBuilder {
   325  	bb := &EntitlementManagementAccessPackageAssignmentsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   326  	bb.baseURL += "/accessPackageAssignments"
   327  	return bb
   328  }
   329  
   330  // EntitlementManagementAccessPackageAssignmentsCollectionRequestBuilder is request builder for AccessPackageAssignment collection
   331  type EntitlementManagementAccessPackageAssignmentsCollectionRequestBuilder struct{ BaseRequestBuilder }
   332  
   333  // Request returns request for AccessPackageAssignment collection
   334  func (b *EntitlementManagementAccessPackageAssignmentsCollectionRequestBuilder) Request() *EntitlementManagementAccessPackageAssignmentsCollectionRequest {
   335  	return &EntitlementManagementAccessPackageAssignmentsCollectionRequest{
   336  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   337  	}
   338  }
   339  
   340  // ID returns request builder for AccessPackageAssignment item
   341  func (b *EntitlementManagementAccessPackageAssignmentsCollectionRequestBuilder) ID(id string) *AccessPackageAssignmentRequestBuilder {
   342  	bb := &AccessPackageAssignmentRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   343  	bb.baseURL += "/" + id
   344  	return bb
   345  }
   346  
   347  // EntitlementManagementAccessPackageAssignmentsCollectionRequest is request for AccessPackageAssignment collection
   348  type EntitlementManagementAccessPackageAssignmentsCollectionRequest struct{ BaseRequest }
   349  
   350  // Paging perfoms paging operation for AccessPackageAssignment collection
   351  func (r *EntitlementManagementAccessPackageAssignmentsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]AccessPackageAssignment, error) {
   352  	req, err := r.NewJSONRequest(method, path, obj)
   353  	if err != nil {
   354  		return nil, err
   355  	}
   356  	if ctx != nil {
   357  		req = req.WithContext(ctx)
   358  	}
   359  	res, err := r.client.Do(req)
   360  	if err != nil {
   361  		return nil, err
   362  	}
   363  	var values []AccessPackageAssignment
   364  	for {
   365  		if res.StatusCode != http.StatusOK {
   366  			b, _ := ioutil.ReadAll(res.Body)
   367  			res.Body.Close()
   368  			errRes := &ErrorResponse{Response: res}
   369  			err := jsonx.Unmarshal(b, errRes)
   370  			if err != nil {
   371  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   372  			}
   373  			return nil, errRes
   374  		}
   375  		var (
   376  			paging Paging
   377  			value  []AccessPackageAssignment
   378  		)
   379  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   380  		res.Body.Close()
   381  		if err != nil {
   382  			return nil, err
   383  		}
   384  		err = jsonx.Unmarshal(paging.Value, &value)
   385  		if err != nil {
   386  			return nil, err
   387  		}
   388  		values = append(values, value...)
   389  		if n >= 0 {
   390  			n--
   391  		}
   392  		if n == 0 || len(paging.NextLink) == 0 {
   393  			return values, nil
   394  		}
   395  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   396  		if ctx != nil {
   397  			req = req.WithContext(ctx)
   398  		}
   399  		res, err = r.client.Do(req)
   400  		if err != nil {
   401  			return nil, err
   402  		}
   403  	}
   404  }
   405  
   406  // GetN performs GET request for AccessPackageAssignment collection, max N pages
   407  func (r *EntitlementManagementAccessPackageAssignmentsCollectionRequest) GetN(ctx context.Context, n int) ([]AccessPackageAssignment, error) {
   408  	var query string
   409  	if r.query != nil {
   410  		query = "?" + r.query.Encode()
   411  	}
   412  	return r.Paging(ctx, "GET", query, nil, n)
   413  }
   414  
   415  // Get performs GET request for AccessPackageAssignment collection
   416  func (r *EntitlementManagementAccessPackageAssignmentsCollectionRequest) Get(ctx context.Context) ([]AccessPackageAssignment, error) {
   417  	return r.GetN(ctx, 0)
   418  }
   419  
   420  // Add performs POST request for AccessPackageAssignment collection
   421  func (r *EntitlementManagementAccessPackageAssignmentsCollectionRequest) Add(ctx context.Context, reqObj *AccessPackageAssignment) (resObj *AccessPackageAssignment, err error) {
   422  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   423  	return
   424  }
   425  
   426  // AccessPackageCatalogs returns request builder for AccessPackageCatalog collection
   427  func (b *EntitlementManagementRequestBuilder) AccessPackageCatalogs() *EntitlementManagementAccessPackageCatalogsCollectionRequestBuilder {
   428  	bb := &EntitlementManagementAccessPackageCatalogsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   429  	bb.baseURL += "/accessPackageCatalogs"
   430  	return bb
   431  }
   432  
   433  // EntitlementManagementAccessPackageCatalogsCollectionRequestBuilder is request builder for AccessPackageCatalog collection
   434  type EntitlementManagementAccessPackageCatalogsCollectionRequestBuilder struct{ BaseRequestBuilder }
   435  
   436  // Request returns request for AccessPackageCatalog collection
   437  func (b *EntitlementManagementAccessPackageCatalogsCollectionRequestBuilder) Request() *EntitlementManagementAccessPackageCatalogsCollectionRequest {
   438  	return &EntitlementManagementAccessPackageCatalogsCollectionRequest{
   439  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   440  	}
   441  }
   442  
   443  // ID returns request builder for AccessPackageCatalog item
   444  func (b *EntitlementManagementAccessPackageCatalogsCollectionRequestBuilder) ID(id string) *AccessPackageCatalogRequestBuilder {
   445  	bb := &AccessPackageCatalogRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   446  	bb.baseURL += "/" + id
   447  	return bb
   448  }
   449  
   450  // EntitlementManagementAccessPackageCatalogsCollectionRequest is request for AccessPackageCatalog collection
   451  type EntitlementManagementAccessPackageCatalogsCollectionRequest struct{ BaseRequest }
   452  
   453  // Paging perfoms paging operation for AccessPackageCatalog collection
   454  func (r *EntitlementManagementAccessPackageCatalogsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]AccessPackageCatalog, error) {
   455  	req, err := r.NewJSONRequest(method, path, obj)
   456  	if err != nil {
   457  		return nil, err
   458  	}
   459  	if ctx != nil {
   460  		req = req.WithContext(ctx)
   461  	}
   462  	res, err := r.client.Do(req)
   463  	if err != nil {
   464  		return nil, err
   465  	}
   466  	var values []AccessPackageCatalog
   467  	for {
   468  		if res.StatusCode != http.StatusOK {
   469  			b, _ := ioutil.ReadAll(res.Body)
   470  			res.Body.Close()
   471  			errRes := &ErrorResponse{Response: res}
   472  			err := jsonx.Unmarshal(b, errRes)
   473  			if err != nil {
   474  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   475  			}
   476  			return nil, errRes
   477  		}
   478  		var (
   479  			paging Paging
   480  			value  []AccessPackageCatalog
   481  		)
   482  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   483  		res.Body.Close()
   484  		if err != nil {
   485  			return nil, err
   486  		}
   487  		err = jsonx.Unmarshal(paging.Value, &value)
   488  		if err != nil {
   489  			return nil, err
   490  		}
   491  		values = append(values, value...)
   492  		if n >= 0 {
   493  			n--
   494  		}
   495  		if n == 0 || len(paging.NextLink) == 0 {
   496  			return values, nil
   497  		}
   498  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   499  		if ctx != nil {
   500  			req = req.WithContext(ctx)
   501  		}
   502  		res, err = r.client.Do(req)
   503  		if err != nil {
   504  			return nil, err
   505  		}
   506  	}
   507  }
   508  
   509  // GetN performs GET request for AccessPackageCatalog collection, max N pages
   510  func (r *EntitlementManagementAccessPackageCatalogsCollectionRequest) GetN(ctx context.Context, n int) ([]AccessPackageCatalog, error) {
   511  	var query string
   512  	if r.query != nil {
   513  		query = "?" + r.query.Encode()
   514  	}
   515  	return r.Paging(ctx, "GET", query, nil, n)
   516  }
   517  
   518  // Get performs GET request for AccessPackageCatalog collection
   519  func (r *EntitlementManagementAccessPackageCatalogsCollectionRequest) Get(ctx context.Context) ([]AccessPackageCatalog, error) {
   520  	return r.GetN(ctx, 0)
   521  }
   522  
   523  // Add performs POST request for AccessPackageCatalog collection
   524  func (r *EntitlementManagementAccessPackageCatalogsCollectionRequest) Add(ctx context.Context, reqObj *AccessPackageCatalog) (resObj *AccessPackageCatalog, err error) {
   525  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   526  	return
   527  }
   528  
   529  // AccessPackageResourceRequests returns request builder for AccessPackageResourceRequestObject collection
   530  func (b *EntitlementManagementRequestBuilder) AccessPackageResourceRequests() *EntitlementManagementAccessPackageResourceRequestsCollectionRequestBuilder {
   531  	bb := &EntitlementManagementAccessPackageResourceRequestsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   532  	bb.baseURL += "/accessPackageResourceRequests"
   533  	return bb
   534  }
   535  
   536  // EntitlementManagementAccessPackageResourceRequestsCollectionRequestBuilder is request builder for AccessPackageResourceRequestObject collection
   537  type EntitlementManagementAccessPackageResourceRequestsCollectionRequestBuilder struct{ BaseRequestBuilder }
   538  
   539  // Request returns request for AccessPackageResourceRequestObject collection
   540  func (b *EntitlementManagementAccessPackageResourceRequestsCollectionRequestBuilder) Request() *EntitlementManagementAccessPackageResourceRequestsCollectionRequest {
   541  	return &EntitlementManagementAccessPackageResourceRequestsCollectionRequest{
   542  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   543  	}
   544  }
   545  
   546  // ID returns request builder for AccessPackageResourceRequestObject item
   547  func (b *EntitlementManagementAccessPackageResourceRequestsCollectionRequestBuilder) ID(id string) *AccessPackageResourceRequestObjectRequestBuilder {
   548  	bb := &AccessPackageResourceRequestObjectRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   549  	bb.baseURL += "/" + id
   550  	return bb
   551  }
   552  
   553  // EntitlementManagementAccessPackageResourceRequestsCollectionRequest is request for AccessPackageResourceRequestObject collection
   554  type EntitlementManagementAccessPackageResourceRequestsCollectionRequest struct{ BaseRequest }
   555  
   556  // Paging perfoms paging operation for AccessPackageResourceRequestObject collection
   557  func (r *EntitlementManagementAccessPackageResourceRequestsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]AccessPackageResourceRequestObject, error) {
   558  	req, err := r.NewJSONRequest(method, path, obj)
   559  	if err != nil {
   560  		return nil, err
   561  	}
   562  	if ctx != nil {
   563  		req = req.WithContext(ctx)
   564  	}
   565  	res, err := r.client.Do(req)
   566  	if err != nil {
   567  		return nil, err
   568  	}
   569  	var values []AccessPackageResourceRequestObject
   570  	for {
   571  		if res.StatusCode != http.StatusOK {
   572  			b, _ := ioutil.ReadAll(res.Body)
   573  			res.Body.Close()
   574  			errRes := &ErrorResponse{Response: res}
   575  			err := jsonx.Unmarshal(b, errRes)
   576  			if err != nil {
   577  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   578  			}
   579  			return nil, errRes
   580  		}
   581  		var (
   582  			paging Paging
   583  			value  []AccessPackageResourceRequestObject
   584  		)
   585  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   586  		res.Body.Close()
   587  		if err != nil {
   588  			return nil, err
   589  		}
   590  		err = jsonx.Unmarshal(paging.Value, &value)
   591  		if err != nil {
   592  			return nil, err
   593  		}
   594  		values = append(values, value...)
   595  		if n >= 0 {
   596  			n--
   597  		}
   598  		if n == 0 || len(paging.NextLink) == 0 {
   599  			return values, nil
   600  		}
   601  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   602  		if ctx != nil {
   603  			req = req.WithContext(ctx)
   604  		}
   605  		res, err = r.client.Do(req)
   606  		if err != nil {
   607  			return nil, err
   608  		}
   609  	}
   610  }
   611  
   612  // GetN performs GET request for AccessPackageResourceRequestObject collection, max N pages
   613  func (r *EntitlementManagementAccessPackageResourceRequestsCollectionRequest) GetN(ctx context.Context, n int) ([]AccessPackageResourceRequestObject, error) {
   614  	var query string
   615  	if r.query != nil {
   616  		query = "?" + r.query.Encode()
   617  	}
   618  	return r.Paging(ctx, "GET", query, nil, n)
   619  }
   620  
   621  // Get performs GET request for AccessPackageResourceRequestObject collection
   622  func (r *EntitlementManagementAccessPackageResourceRequestsCollectionRequest) Get(ctx context.Context) ([]AccessPackageResourceRequestObject, error) {
   623  	return r.GetN(ctx, 0)
   624  }
   625  
   626  // Add performs POST request for AccessPackageResourceRequestObject collection
   627  func (r *EntitlementManagementAccessPackageResourceRequestsCollectionRequest) Add(ctx context.Context, reqObj *AccessPackageResourceRequestObject) (resObj *AccessPackageResourceRequestObject, err error) {
   628  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   629  	return
   630  }
   631  
   632  // AccessPackageResourceRoleScopes returns request builder for AccessPackageResourceRoleScope collection
   633  func (b *EntitlementManagementRequestBuilder) AccessPackageResourceRoleScopes() *EntitlementManagementAccessPackageResourceRoleScopesCollectionRequestBuilder {
   634  	bb := &EntitlementManagementAccessPackageResourceRoleScopesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   635  	bb.baseURL += "/accessPackageResourceRoleScopes"
   636  	return bb
   637  }
   638  
   639  // EntitlementManagementAccessPackageResourceRoleScopesCollectionRequestBuilder is request builder for AccessPackageResourceRoleScope collection
   640  type EntitlementManagementAccessPackageResourceRoleScopesCollectionRequestBuilder struct{ BaseRequestBuilder }
   641  
   642  // Request returns request for AccessPackageResourceRoleScope collection
   643  func (b *EntitlementManagementAccessPackageResourceRoleScopesCollectionRequestBuilder) Request() *EntitlementManagementAccessPackageResourceRoleScopesCollectionRequest {
   644  	return &EntitlementManagementAccessPackageResourceRoleScopesCollectionRequest{
   645  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   646  	}
   647  }
   648  
   649  // ID returns request builder for AccessPackageResourceRoleScope item
   650  func (b *EntitlementManagementAccessPackageResourceRoleScopesCollectionRequestBuilder) ID(id string) *AccessPackageResourceRoleScopeRequestBuilder {
   651  	bb := &AccessPackageResourceRoleScopeRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   652  	bb.baseURL += "/" + id
   653  	return bb
   654  }
   655  
   656  // EntitlementManagementAccessPackageResourceRoleScopesCollectionRequest is request for AccessPackageResourceRoleScope collection
   657  type EntitlementManagementAccessPackageResourceRoleScopesCollectionRequest struct{ BaseRequest }
   658  
   659  // Paging perfoms paging operation for AccessPackageResourceRoleScope collection
   660  func (r *EntitlementManagementAccessPackageResourceRoleScopesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]AccessPackageResourceRoleScope, error) {
   661  	req, err := r.NewJSONRequest(method, path, obj)
   662  	if err != nil {
   663  		return nil, err
   664  	}
   665  	if ctx != nil {
   666  		req = req.WithContext(ctx)
   667  	}
   668  	res, err := r.client.Do(req)
   669  	if err != nil {
   670  		return nil, err
   671  	}
   672  	var values []AccessPackageResourceRoleScope
   673  	for {
   674  		if res.StatusCode != http.StatusOK {
   675  			b, _ := ioutil.ReadAll(res.Body)
   676  			res.Body.Close()
   677  			errRes := &ErrorResponse{Response: res}
   678  			err := jsonx.Unmarshal(b, errRes)
   679  			if err != nil {
   680  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   681  			}
   682  			return nil, errRes
   683  		}
   684  		var (
   685  			paging Paging
   686  			value  []AccessPackageResourceRoleScope
   687  		)
   688  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   689  		res.Body.Close()
   690  		if err != nil {
   691  			return nil, err
   692  		}
   693  		err = jsonx.Unmarshal(paging.Value, &value)
   694  		if err != nil {
   695  			return nil, err
   696  		}
   697  		values = append(values, value...)
   698  		if n >= 0 {
   699  			n--
   700  		}
   701  		if n == 0 || len(paging.NextLink) == 0 {
   702  			return values, nil
   703  		}
   704  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   705  		if ctx != nil {
   706  			req = req.WithContext(ctx)
   707  		}
   708  		res, err = r.client.Do(req)
   709  		if err != nil {
   710  			return nil, err
   711  		}
   712  	}
   713  }
   714  
   715  // GetN performs GET request for AccessPackageResourceRoleScope collection, max N pages
   716  func (r *EntitlementManagementAccessPackageResourceRoleScopesCollectionRequest) GetN(ctx context.Context, n int) ([]AccessPackageResourceRoleScope, error) {
   717  	var query string
   718  	if r.query != nil {
   719  		query = "?" + r.query.Encode()
   720  	}
   721  	return r.Paging(ctx, "GET", query, nil, n)
   722  }
   723  
   724  // Get performs GET request for AccessPackageResourceRoleScope collection
   725  func (r *EntitlementManagementAccessPackageResourceRoleScopesCollectionRequest) Get(ctx context.Context) ([]AccessPackageResourceRoleScope, error) {
   726  	return r.GetN(ctx, 0)
   727  }
   728  
   729  // Add performs POST request for AccessPackageResourceRoleScope collection
   730  func (r *EntitlementManagementAccessPackageResourceRoleScopesCollectionRequest) Add(ctx context.Context, reqObj *AccessPackageResourceRoleScope) (resObj *AccessPackageResourceRoleScope, err error) {
   731  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   732  	return
   733  }
   734  
   735  // AccessPackageResources returns request builder for AccessPackageResource collection
   736  func (b *EntitlementManagementRequestBuilder) AccessPackageResources() *EntitlementManagementAccessPackageResourcesCollectionRequestBuilder {
   737  	bb := &EntitlementManagementAccessPackageResourcesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   738  	bb.baseURL += "/accessPackageResources"
   739  	return bb
   740  }
   741  
   742  // EntitlementManagementAccessPackageResourcesCollectionRequestBuilder is request builder for AccessPackageResource collection
   743  type EntitlementManagementAccessPackageResourcesCollectionRequestBuilder struct{ BaseRequestBuilder }
   744  
   745  // Request returns request for AccessPackageResource collection
   746  func (b *EntitlementManagementAccessPackageResourcesCollectionRequestBuilder) Request() *EntitlementManagementAccessPackageResourcesCollectionRequest {
   747  	return &EntitlementManagementAccessPackageResourcesCollectionRequest{
   748  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   749  	}
   750  }
   751  
   752  // ID returns request builder for AccessPackageResource item
   753  func (b *EntitlementManagementAccessPackageResourcesCollectionRequestBuilder) ID(id string) *AccessPackageResourceRequestBuilder {
   754  	bb := &AccessPackageResourceRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   755  	bb.baseURL += "/" + id
   756  	return bb
   757  }
   758  
   759  // EntitlementManagementAccessPackageResourcesCollectionRequest is request for AccessPackageResource collection
   760  type EntitlementManagementAccessPackageResourcesCollectionRequest struct{ BaseRequest }
   761  
   762  // Paging perfoms paging operation for AccessPackageResource collection
   763  func (r *EntitlementManagementAccessPackageResourcesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]AccessPackageResource, error) {
   764  	req, err := r.NewJSONRequest(method, path, obj)
   765  	if err != nil {
   766  		return nil, err
   767  	}
   768  	if ctx != nil {
   769  		req = req.WithContext(ctx)
   770  	}
   771  	res, err := r.client.Do(req)
   772  	if err != nil {
   773  		return nil, err
   774  	}
   775  	var values []AccessPackageResource
   776  	for {
   777  		if res.StatusCode != http.StatusOK {
   778  			b, _ := ioutil.ReadAll(res.Body)
   779  			res.Body.Close()
   780  			errRes := &ErrorResponse{Response: res}
   781  			err := jsonx.Unmarshal(b, errRes)
   782  			if err != nil {
   783  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   784  			}
   785  			return nil, errRes
   786  		}
   787  		var (
   788  			paging Paging
   789  			value  []AccessPackageResource
   790  		)
   791  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   792  		res.Body.Close()
   793  		if err != nil {
   794  			return nil, err
   795  		}
   796  		err = jsonx.Unmarshal(paging.Value, &value)
   797  		if err != nil {
   798  			return nil, err
   799  		}
   800  		values = append(values, value...)
   801  		if n >= 0 {
   802  			n--
   803  		}
   804  		if n == 0 || len(paging.NextLink) == 0 {
   805  			return values, nil
   806  		}
   807  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   808  		if ctx != nil {
   809  			req = req.WithContext(ctx)
   810  		}
   811  		res, err = r.client.Do(req)
   812  		if err != nil {
   813  			return nil, err
   814  		}
   815  	}
   816  }
   817  
   818  // GetN performs GET request for AccessPackageResource collection, max N pages
   819  func (r *EntitlementManagementAccessPackageResourcesCollectionRequest) GetN(ctx context.Context, n int) ([]AccessPackageResource, error) {
   820  	var query string
   821  	if r.query != nil {
   822  		query = "?" + r.query.Encode()
   823  	}
   824  	return r.Paging(ctx, "GET", query, nil, n)
   825  }
   826  
   827  // Get performs GET request for AccessPackageResource collection
   828  func (r *EntitlementManagementAccessPackageResourcesCollectionRequest) Get(ctx context.Context) ([]AccessPackageResource, error) {
   829  	return r.GetN(ctx, 0)
   830  }
   831  
   832  // Add performs POST request for AccessPackageResource collection
   833  func (r *EntitlementManagementAccessPackageResourcesCollectionRequest) Add(ctx context.Context, reqObj *AccessPackageResource) (resObj *AccessPackageResource, err error) {
   834  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   835  	return
   836  }
   837  
   838  // AccessPackages returns request builder for AccessPackage collection
   839  func (b *EntitlementManagementRequestBuilder) AccessPackages() *EntitlementManagementAccessPackagesCollectionRequestBuilder {
   840  	bb := &EntitlementManagementAccessPackagesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   841  	bb.baseURL += "/accessPackages"
   842  	return bb
   843  }
   844  
   845  // EntitlementManagementAccessPackagesCollectionRequestBuilder is request builder for AccessPackage collection
   846  type EntitlementManagementAccessPackagesCollectionRequestBuilder struct{ BaseRequestBuilder }
   847  
   848  // Request returns request for AccessPackage collection
   849  func (b *EntitlementManagementAccessPackagesCollectionRequestBuilder) Request() *EntitlementManagementAccessPackagesCollectionRequest {
   850  	return &EntitlementManagementAccessPackagesCollectionRequest{
   851  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   852  	}
   853  }
   854  
   855  // ID returns request builder for AccessPackage item
   856  func (b *EntitlementManagementAccessPackagesCollectionRequestBuilder) ID(id string) *AccessPackageRequestBuilder {
   857  	bb := &AccessPackageRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   858  	bb.baseURL += "/" + id
   859  	return bb
   860  }
   861  
   862  // EntitlementManagementAccessPackagesCollectionRequest is request for AccessPackage collection
   863  type EntitlementManagementAccessPackagesCollectionRequest struct{ BaseRequest }
   864  
   865  // Paging perfoms paging operation for AccessPackage collection
   866  func (r *EntitlementManagementAccessPackagesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]AccessPackage, error) {
   867  	req, err := r.NewJSONRequest(method, path, obj)
   868  	if err != nil {
   869  		return nil, err
   870  	}
   871  	if ctx != nil {
   872  		req = req.WithContext(ctx)
   873  	}
   874  	res, err := r.client.Do(req)
   875  	if err != nil {
   876  		return nil, err
   877  	}
   878  	var values []AccessPackage
   879  	for {
   880  		if res.StatusCode != http.StatusOK {
   881  			b, _ := ioutil.ReadAll(res.Body)
   882  			res.Body.Close()
   883  			errRes := &ErrorResponse{Response: res}
   884  			err := jsonx.Unmarshal(b, errRes)
   885  			if err != nil {
   886  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   887  			}
   888  			return nil, errRes
   889  		}
   890  		var (
   891  			paging Paging
   892  			value  []AccessPackage
   893  		)
   894  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   895  		res.Body.Close()
   896  		if err != nil {
   897  			return nil, err
   898  		}
   899  		err = jsonx.Unmarshal(paging.Value, &value)
   900  		if err != nil {
   901  			return nil, err
   902  		}
   903  		values = append(values, value...)
   904  		if n >= 0 {
   905  			n--
   906  		}
   907  		if n == 0 || len(paging.NextLink) == 0 {
   908  			return values, nil
   909  		}
   910  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   911  		if ctx != nil {
   912  			req = req.WithContext(ctx)
   913  		}
   914  		res, err = r.client.Do(req)
   915  		if err != nil {
   916  			return nil, err
   917  		}
   918  	}
   919  }
   920  
   921  // GetN performs GET request for AccessPackage collection, max N pages
   922  func (r *EntitlementManagementAccessPackagesCollectionRequest) GetN(ctx context.Context, n int) ([]AccessPackage, error) {
   923  	var query string
   924  	if r.query != nil {
   925  		query = "?" + r.query.Encode()
   926  	}
   927  	return r.Paging(ctx, "GET", query, nil, n)
   928  }
   929  
   930  // Get performs GET request for AccessPackage collection
   931  func (r *EntitlementManagementAccessPackagesCollectionRequest) Get(ctx context.Context) ([]AccessPackage, error) {
   932  	return r.GetN(ctx, 0)
   933  }
   934  
   935  // Add performs POST request for AccessPackage collection
   936  func (r *EntitlementManagementAccessPackagesCollectionRequest) Add(ctx context.Context, reqObj *AccessPackage) (resObj *AccessPackage, err error) {
   937  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   938  	return
   939  }