github.com/yaegashi/msgraph.go@v0.1.4/beta/ActionGroup.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  // GroupCollectionEvaluateDynamicMembershipRequestParameter undocumented
    15  type GroupCollectionEvaluateDynamicMembershipRequestParameter struct {
    16  	// MemberID undocumented
    17  	MemberID *string `json:"memberId,omitempty"`
    18  	// MembershipRule undocumented
    19  	MembershipRule *string `json:"membershipRule,omitempty"`
    20  }
    21  
    22  // GroupLifecyclePolicyCollectionRenewGroupRequestParameter undocumented
    23  type GroupLifecyclePolicyCollectionRenewGroupRequestParameter struct {
    24  	// GroupID undocumented
    25  	GroupID *string `json:"groupId,omitempty"`
    26  }
    27  
    28  // GroupPolicyMigrationReportCollectionCreateMigrationReportRequestParameter undocumented
    29  type GroupPolicyMigrationReportCollectionCreateMigrationReportRequestParameter struct {
    30  	// GroupPolicyObjectFile undocumented
    31  	GroupPolicyObjectFile *GroupPolicyObjectFile `json:"groupPolicyObjectFile,omitempty"`
    32  }
    33  
    34  // GroupValidatePropertiesRequestParameter undocumented
    35  type GroupValidatePropertiesRequestParameter struct {
    36  	// DisplayName undocumented
    37  	DisplayName *string `json:"displayName,omitempty"`
    38  	// MailNickname undocumented
    39  	MailNickname *string `json:"mailNickname,omitempty"`
    40  	// OnBehalfOfUserID undocumented
    41  	OnBehalfOfUserID *UUID `json:"onBehalfOfUserId,omitempty"`
    42  }
    43  
    44  // GroupCheckGrantedPermissionsForAppRequestParameter undocumented
    45  type GroupCheckGrantedPermissionsForAppRequestParameter struct {
    46  }
    47  
    48  // GroupAssignLicenseRequestParameter undocumented
    49  type GroupAssignLicenseRequestParameter struct {
    50  	// AddLicenses undocumented
    51  	AddLicenses []AssignedLicense `json:"addLicenses,omitempty"`
    52  	// RemoveLicenses undocumented
    53  	RemoveLicenses []UUID `json:"removeLicenses,omitempty"`
    54  }
    55  
    56  // GroupSubscribeByMailRequestParameter undocumented
    57  type GroupSubscribeByMailRequestParameter struct {
    58  }
    59  
    60  // GroupUnsubscribeByMailRequestParameter undocumented
    61  type GroupUnsubscribeByMailRequestParameter struct {
    62  }
    63  
    64  // GroupAddFavoriteRequestParameter undocumented
    65  type GroupAddFavoriteRequestParameter struct {
    66  }
    67  
    68  // GroupRemoveFavoriteRequestParameter undocumented
    69  type GroupRemoveFavoriteRequestParameter struct {
    70  }
    71  
    72  // GroupResetUnseenCountRequestParameter undocumented
    73  type GroupResetUnseenCountRequestParameter struct {
    74  }
    75  
    76  // GroupRenewRequestParameter undocumented
    77  type GroupRenewRequestParameter struct {
    78  }
    79  
    80  // GroupEvaluateDynamicMembershipRequestParameter undocumented
    81  type GroupEvaluateDynamicMembershipRequestParameter struct {
    82  	// MemberID undocumented
    83  	MemberID *string `json:"memberId,omitempty"`
    84  }
    85  
    86  // GroupLifecyclePolicyAddGroupRequestParameter undocumented
    87  type GroupLifecyclePolicyAddGroupRequestParameter struct {
    88  	// GroupID undocumented
    89  	GroupID *string `json:"groupId,omitempty"`
    90  }
    91  
    92  // GroupLifecyclePolicyRemoveGroupRequestParameter undocumented
    93  type GroupLifecyclePolicyRemoveGroupRequestParameter struct {
    94  	// GroupID undocumented
    95  	GroupID *string `json:"groupId,omitempty"`
    96  }
    97  
    98  // GroupPolicyConfigurationAssignRequestParameter undocumented
    99  type GroupPolicyConfigurationAssignRequestParameter struct {
   100  	// Assignments undocumented
   101  	Assignments []GroupPolicyConfigurationAssignment `json:"assignments,omitempty"`
   102  }
   103  
   104  // GroupPolicyConfigurationUpdateDefinitionValuesRequestParameter undocumented
   105  type GroupPolicyConfigurationUpdateDefinitionValuesRequestParameter struct {
   106  	// Added undocumented
   107  	Added []GroupPolicyDefinitionValue `json:"added,omitempty"`
   108  	// Updated undocumented
   109  	Updated []GroupPolicyDefinitionValue `json:"updated,omitempty"`
   110  	// DeletedIDs undocumented
   111  	DeletedIDs []string `json:"deletedIds,omitempty"`
   112  }
   113  
   114  // AcceptedSenders returns request builder for DirectoryObject collection
   115  func (b *GroupRequestBuilder) AcceptedSenders() *GroupAcceptedSendersCollectionRequestBuilder {
   116  	bb := &GroupAcceptedSendersCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   117  	bb.baseURL += "/acceptedSenders"
   118  	return bb
   119  }
   120  
   121  // GroupAcceptedSendersCollectionRequestBuilder is request builder for DirectoryObject collection
   122  type GroupAcceptedSendersCollectionRequestBuilder struct{ BaseRequestBuilder }
   123  
   124  // Request returns request for DirectoryObject collection
   125  func (b *GroupAcceptedSendersCollectionRequestBuilder) Request() *GroupAcceptedSendersCollectionRequest {
   126  	return &GroupAcceptedSendersCollectionRequest{
   127  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   128  	}
   129  }
   130  
   131  // ID returns request builder for DirectoryObject item
   132  func (b *GroupAcceptedSendersCollectionRequestBuilder) ID(id string) *DirectoryObjectRequestBuilder {
   133  	bb := &DirectoryObjectRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   134  	bb.baseURL += "/" + id
   135  	return bb
   136  }
   137  
   138  // GroupAcceptedSendersCollectionRequest is request for DirectoryObject collection
   139  type GroupAcceptedSendersCollectionRequest struct{ BaseRequest }
   140  
   141  // Paging perfoms paging operation for DirectoryObject collection
   142  func (r *GroupAcceptedSendersCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]DirectoryObject, error) {
   143  	req, err := r.NewJSONRequest(method, path, obj)
   144  	if err != nil {
   145  		return nil, err
   146  	}
   147  	if ctx != nil {
   148  		req = req.WithContext(ctx)
   149  	}
   150  	res, err := r.client.Do(req)
   151  	if err != nil {
   152  		return nil, err
   153  	}
   154  	var values []DirectoryObject
   155  	for {
   156  		if res.StatusCode != http.StatusOK {
   157  			b, _ := ioutil.ReadAll(res.Body)
   158  			res.Body.Close()
   159  			errRes := &ErrorResponse{Response: res}
   160  			err := jsonx.Unmarshal(b, errRes)
   161  			if err != nil {
   162  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   163  			}
   164  			return nil, errRes
   165  		}
   166  		var (
   167  			paging Paging
   168  			value  []DirectoryObject
   169  		)
   170  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   171  		res.Body.Close()
   172  		if err != nil {
   173  			return nil, err
   174  		}
   175  		err = jsonx.Unmarshal(paging.Value, &value)
   176  		if err != nil {
   177  			return nil, err
   178  		}
   179  		values = append(values, value...)
   180  		if n >= 0 {
   181  			n--
   182  		}
   183  		if n == 0 || len(paging.NextLink) == 0 {
   184  			return values, nil
   185  		}
   186  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   187  		if ctx != nil {
   188  			req = req.WithContext(ctx)
   189  		}
   190  		res, err = r.client.Do(req)
   191  		if err != nil {
   192  			return nil, err
   193  		}
   194  	}
   195  }
   196  
   197  // GetN performs GET request for DirectoryObject collection, max N pages
   198  func (r *GroupAcceptedSendersCollectionRequest) GetN(ctx context.Context, n int) ([]DirectoryObject, error) {
   199  	var query string
   200  	if r.query != nil {
   201  		query = "?" + r.query.Encode()
   202  	}
   203  	return r.Paging(ctx, "GET", query, nil, n)
   204  }
   205  
   206  // Get performs GET request for DirectoryObject collection
   207  func (r *GroupAcceptedSendersCollectionRequest) Get(ctx context.Context) ([]DirectoryObject, error) {
   208  	return r.GetN(ctx, 0)
   209  }
   210  
   211  // Add performs POST request for DirectoryObject collection
   212  func (r *GroupAcceptedSendersCollectionRequest) Add(ctx context.Context, reqObj *DirectoryObject) (resObj *DirectoryObject, err error) {
   213  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   214  	return
   215  }
   216  
   217  // AppRoleAssignments returns request builder for AppRoleAssignment collection
   218  func (b *GroupRequestBuilder) AppRoleAssignments() *GroupAppRoleAssignmentsCollectionRequestBuilder {
   219  	bb := &GroupAppRoleAssignmentsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   220  	bb.baseURL += "/appRoleAssignments"
   221  	return bb
   222  }
   223  
   224  // GroupAppRoleAssignmentsCollectionRequestBuilder is request builder for AppRoleAssignment collection
   225  type GroupAppRoleAssignmentsCollectionRequestBuilder struct{ BaseRequestBuilder }
   226  
   227  // Request returns request for AppRoleAssignment collection
   228  func (b *GroupAppRoleAssignmentsCollectionRequestBuilder) Request() *GroupAppRoleAssignmentsCollectionRequest {
   229  	return &GroupAppRoleAssignmentsCollectionRequest{
   230  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   231  	}
   232  }
   233  
   234  // ID returns request builder for AppRoleAssignment item
   235  func (b *GroupAppRoleAssignmentsCollectionRequestBuilder) ID(id string) *AppRoleAssignmentRequestBuilder {
   236  	bb := &AppRoleAssignmentRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   237  	bb.baseURL += "/" + id
   238  	return bb
   239  }
   240  
   241  // GroupAppRoleAssignmentsCollectionRequest is request for AppRoleAssignment collection
   242  type GroupAppRoleAssignmentsCollectionRequest struct{ BaseRequest }
   243  
   244  // Paging perfoms paging operation for AppRoleAssignment collection
   245  func (r *GroupAppRoleAssignmentsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]AppRoleAssignment, error) {
   246  	req, err := r.NewJSONRequest(method, path, obj)
   247  	if err != nil {
   248  		return nil, err
   249  	}
   250  	if ctx != nil {
   251  		req = req.WithContext(ctx)
   252  	}
   253  	res, err := r.client.Do(req)
   254  	if err != nil {
   255  		return nil, err
   256  	}
   257  	var values []AppRoleAssignment
   258  	for {
   259  		if res.StatusCode != http.StatusOK {
   260  			b, _ := ioutil.ReadAll(res.Body)
   261  			res.Body.Close()
   262  			errRes := &ErrorResponse{Response: res}
   263  			err := jsonx.Unmarshal(b, errRes)
   264  			if err != nil {
   265  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   266  			}
   267  			return nil, errRes
   268  		}
   269  		var (
   270  			paging Paging
   271  			value  []AppRoleAssignment
   272  		)
   273  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   274  		res.Body.Close()
   275  		if err != nil {
   276  			return nil, err
   277  		}
   278  		err = jsonx.Unmarshal(paging.Value, &value)
   279  		if err != nil {
   280  			return nil, err
   281  		}
   282  		values = append(values, value...)
   283  		if n >= 0 {
   284  			n--
   285  		}
   286  		if n == 0 || len(paging.NextLink) == 0 {
   287  			return values, nil
   288  		}
   289  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   290  		if ctx != nil {
   291  			req = req.WithContext(ctx)
   292  		}
   293  		res, err = r.client.Do(req)
   294  		if err != nil {
   295  			return nil, err
   296  		}
   297  	}
   298  }
   299  
   300  // GetN performs GET request for AppRoleAssignment collection, max N pages
   301  func (r *GroupAppRoleAssignmentsCollectionRequest) GetN(ctx context.Context, n int) ([]AppRoleAssignment, error) {
   302  	var query string
   303  	if r.query != nil {
   304  		query = "?" + r.query.Encode()
   305  	}
   306  	return r.Paging(ctx, "GET", query, nil, n)
   307  }
   308  
   309  // Get performs GET request for AppRoleAssignment collection
   310  func (r *GroupAppRoleAssignmentsCollectionRequest) Get(ctx context.Context) ([]AppRoleAssignment, error) {
   311  	return r.GetN(ctx, 0)
   312  }
   313  
   314  // Add performs POST request for AppRoleAssignment collection
   315  func (r *GroupAppRoleAssignmentsCollectionRequest) Add(ctx context.Context, reqObj *AppRoleAssignment) (resObj *AppRoleAssignment, err error) {
   316  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   317  	return
   318  }
   319  
   320  // Calendar is navigation property
   321  func (b *GroupRequestBuilder) Calendar() *CalendarRequestBuilder {
   322  	bb := &CalendarRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   323  	bb.baseURL += "/calendar"
   324  	return bb
   325  }
   326  
   327  // CalendarView returns request builder for Event collection
   328  func (b *GroupRequestBuilder) CalendarView() *GroupCalendarViewCollectionRequestBuilder {
   329  	bb := &GroupCalendarViewCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   330  	bb.baseURL += "/calendarView"
   331  	return bb
   332  }
   333  
   334  // GroupCalendarViewCollectionRequestBuilder is request builder for Event collection
   335  type GroupCalendarViewCollectionRequestBuilder struct{ BaseRequestBuilder }
   336  
   337  // Request returns request for Event collection
   338  func (b *GroupCalendarViewCollectionRequestBuilder) Request() *GroupCalendarViewCollectionRequest {
   339  	return &GroupCalendarViewCollectionRequest{
   340  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   341  	}
   342  }
   343  
   344  // ID returns request builder for Event item
   345  func (b *GroupCalendarViewCollectionRequestBuilder) ID(id string) *EventRequestBuilder {
   346  	bb := &EventRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   347  	bb.baseURL += "/" + id
   348  	return bb
   349  }
   350  
   351  // GroupCalendarViewCollectionRequest is request for Event collection
   352  type GroupCalendarViewCollectionRequest struct{ BaseRequest }
   353  
   354  // Paging perfoms paging operation for Event collection
   355  func (r *GroupCalendarViewCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Event, error) {
   356  	req, err := r.NewJSONRequest(method, path, obj)
   357  	if err != nil {
   358  		return nil, err
   359  	}
   360  	if ctx != nil {
   361  		req = req.WithContext(ctx)
   362  	}
   363  	res, err := r.client.Do(req)
   364  	if err != nil {
   365  		return nil, err
   366  	}
   367  	var values []Event
   368  	for {
   369  		if res.StatusCode != http.StatusOK {
   370  			b, _ := ioutil.ReadAll(res.Body)
   371  			res.Body.Close()
   372  			errRes := &ErrorResponse{Response: res}
   373  			err := jsonx.Unmarshal(b, errRes)
   374  			if err != nil {
   375  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   376  			}
   377  			return nil, errRes
   378  		}
   379  		var (
   380  			paging Paging
   381  			value  []Event
   382  		)
   383  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   384  		res.Body.Close()
   385  		if err != nil {
   386  			return nil, err
   387  		}
   388  		err = jsonx.Unmarshal(paging.Value, &value)
   389  		if err != nil {
   390  			return nil, err
   391  		}
   392  		values = append(values, value...)
   393  		if n >= 0 {
   394  			n--
   395  		}
   396  		if n == 0 || len(paging.NextLink) == 0 {
   397  			return values, nil
   398  		}
   399  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   400  		if ctx != nil {
   401  			req = req.WithContext(ctx)
   402  		}
   403  		res, err = r.client.Do(req)
   404  		if err != nil {
   405  			return nil, err
   406  		}
   407  	}
   408  }
   409  
   410  // GetN performs GET request for Event collection, max N pages
   411  func (r *GroupCalendarViewCollectionRequest) GetN(ctx context.Context, n int) ([]Event, error) {
   412  	var query string
   413  	if r.query != nil {
   414  		query = "?" + r.query.Encode()
   415  	}
   416  	return r.Paging(ctx, "GET", query, nil, n)
   417  }
   418  
   419  // Get performs GET request for Event collection
   420  func (r *GroupCalendarViewCollectionRequest) Get(ctx context.Context) ([]Event, error) {
   421  	return r.GetN(ctx, 0)
   422  }
   423  
   424  // Add performs POST request for Event collection
   425  func (r *GroupCalendarViewCollectionRequest) Add(ctx context.Context, reqObj *Event) (resObj *Event, err error) {
   426  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   427  	return
   428  }
   429  
   430  // Conversations returns request builder for Conversation collection
   431  func (b *GroupRequestBuilder) Conversations() *GroupConversationsCollectionRequestBuilder {
   432  	bb := &GroupConversationsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   433  	bb.baseURL += "/conversations"
   434  	return bb
   435  }
   436  
   437  // GroupConversationsCollectionRequestBuilder is request builder for Conversation collection
   438  type GroupConversationsCollectionRequestBuilder struct{ BaseRequestBuilder }
   439  
   440  // Request returns request for Conversation collection
   441  func (b *GroupConversationsCollectionRequestBuilder) Request() *GroupConversationsCollectionRequest {
   442  	return &GroupConversationsCollectionRequest{
   443  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   444  	}
   445  }
   446  
   447  // ID returns request builder for Conversation item
   448  func (b *GroupConversationsCollectionRequestBuilder) ID(id string) *ConversationRequestBuilder {
   449  	bb := &ConversationRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   450  	bb.baseURL += "/" + id
   451  	return bb
   452  }
   453  
   454  // GroupConversationsCollectionRequest is request for Conversation collection
   455  type GroupConversationsCollectionRequest struct{ BaseRequest }
   456  
   457  // Paging perfoms paging operation for Conversation collection
   458  func (r *GroupConversationsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Conversation, error) {
   459  	req, err := r.NewJSONRequest(method, path, obj)
   460  	if err != nil {
   461  		return nil, err
   462  	}
   463  	if ctx != nil {
   464  		req = req.WithContext(ctx)
   465  	}
   466  	res, err := r.client.Do(req)
   467  	if err != nil {
   468  		return nil, err
   469  	}
   470  	var values []Conversation
   471  	for {
   472  		if res.StatusCode != http.StatusOK {
   473  			b, _ := ioutil.ReadAll(res.Body)
   474  			res.Body.Close()
   475  			errRes := &ErrorResponse{Response: res}
   476  			err := jsonx.Unmarshal(b, errRes)
   477  			if err != nil {
   478  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   479  			}
   480  			return nil, errRes
   481  		}
   482  		var (
   483  			paging Paging
   484  			value  []Conversation
   485  		)
   486  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   487  		res.Body.Close()
   488  		if err != nil {
   489  			return nil, err
   490  		}
   491  		err = jsonx.Unmarshal(paging.Value, &value)
   492  		if err != nil {
   493  			return nil, err
   494  		}
   495  		values = append(values, value...)
   496  		if n >= 0 {
   497  			n--
   498  		}
   499  		if n == 0 || len(paging.NextLink) == 0 {
   500  			return values, nil
   501  		}
   502  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   503  		if ctx != nil {
   504  			req = req.WithContext(ctx)
   505  		}
   506  		res, err = r.client.Do(req)
   507  		if err != nil {
   508  			return nil, err
   509  		}
   510  	}
   511  }
   512  
   513  // GetN performs GET request for Conversation collection, max N pages
   514  func (r *GroupConversationsCollectionRequest) GetN(ctx context.Context, n int) ([]Conversation, error) {
   515  	var query string
   516  	if r.query != nil {
   517  		query = "?" + r.query.Encode()
   518  	}
   519  	return r.Paging(ctx, "GET", query, nil, n)
   520  }
   521  
   522  // Get performs GET request for Conversation collection
   523  func (r *GroupConversationsCollectionRequest) Get(ctx context.Context) ([]Conversation, error) {
   524  	return r.GetN(ctx, 0)
   525  }
   526  
   527  // Add performs POST request for Conversation collection
   528  func (r *GroupConversationsCollectionRequest) Add(ctx context.Context, reqObj *Conversation) (resObj *Conversation, err error) {
   529  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   530  	return
   531  }
   532  
   533  // CreatedOnBehalfOf is navigation property
   534  func (b *GroupRequestBuilder) CreatedOnBehalfOf() *DirectoryObjectRequestBuilder {
   535  	bb := &DirectoryObjectRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   536  	bb.baseURL += "/createdOnBehalfOf"
   537  	return bb
   538  }
   539  
   540  // Drive is navigation property
   541  func (b *GroupRequestBuilder) Drive() *DriveRequestBuilder {
   542  	bb := &DriveRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   543  	bb.baseURL += "/drive"
   544  	return bb
   545  }
   546  
   547  // Drives returns request builder for Drive collection
   548  func (b *GroupRequestBuilder) Drives() *GroupDrivesCollectionRequestBuilder {
   549  	bb := &GroupDrivesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   550  	bb.baseURL += "/drives"
   551  	return bb
   552  }
   553  
   554  // GroupDrivesCollectionRequestBuilder is request builder for Drive collection
   555  type GroupDrivesCollectionRequestBuilder struct{ BaseRequestBuilder }
   556  
   557  // Request returns request for Drive collection
   558  func (b *GroupDrivesCollectionRequestBuilder) Request() *GroupDrivesCollectionRequest {
   559  	return &GroupDrivesCollectionRequest{
   560  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   561  	}
   562  }
   563  
   564  // ID returns request builder for Drive item
   565  func (b *GroupDrivesCollectionRequestBuilder) ID(id string) *DriveRequestBuilder {
   566  	bb := &DriveRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   567  	bb.baseURL += "/" + id
   568  	return bb
   569  }
   570  
   571  // GroupDrivesCollectionRequest is request for Drive collection
   572  type GroupDrivesCollectionRequest struct{ BaseRequest }
   573  
   574  // Paging perfoms paging operation for Drive collection
   575  func (r *GroupDrivesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Drive, error) {
   576  	req, err := r.NewJSONRequest(method, path, obj)
   577  	if err != nil {
   578  		return nil, err
   579  	}
   580  	if ctx != nil {
   581  		req = req.WithContext(ctx)
   582  	}
   583  	res, err := r.client.Do(req)
   584  	if err != nil {
   585  		return nil, err
   586  	}
   587  	var values []Drive
   588  	for {
   589  		if res.StatusCode != http.StatusOK {
   590  			b, _ := ioutil.ReadAll(res.Body)
   591  			res.Body.Close()
   592  			errRes := &ErrorResponse{Response: res}
   593  			err := jsonx.Unmarshal(b, errRes)
   594  			if err != nil {
   595  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   596  			}
   597  			return nil, errRes
   598  		}
   599  		var (
   600  			paging Paging
   601  			value  []Drive
   602  		)
   603  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   604  		res.Body.Close()
   605  		if err != nil {
   606  			return nil, err
   607  		}
   608  		err = jsonx.Unmarshal(paging.Value, &value)
   609  		if err != nil {
   610  			return nil, err
   611  		}
   612  		values = append(values, value...)
   613  		if n >= 0 {
   614  			n--
   615  		}
   616  		if n == 0 || len(paging.NextLink) == 0 {
   617  			return values, nil
   618  		}
   619  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   620  		if ctx != nil {
   621  			req = req.WithContext(ctx)
   622  		}
   623  		res, err = r.client.Do(req)
   624  		if err != nil {
   625  			return nil, err
   626  		}
   627  	}
   628  }
   629  
   630  // GetN performs GET request for Drive collection, max N pages
   631  func (r *GroupDrivesCollectionRequest) GetN(ctx context.Context, n int) ([]Drive, error) {
   632  	var query string
   633  	if r.query != nil {
   634  		query = "?" + r.query.Encode()
   635  	}
   636  	return r.Paging(ctx, "GET", query, nil, n)
   637  }
   638  
   639  // Get performs GET request for Drive collection
   640  func (r *GroupDrivesCollectionRequest) Get(ctx context.Context) ([]Drive, error) {
   641  	return r.GetN(ctx, 0)
   642  }
   643  
   644  // Add performs POST request for Drive collection
   645  func (r *GroupDrivesCollectionRequest) Add(ctx context.Context, reqObj *Drive) (resObj *Drive, err error) {
   646  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   647  	return
   648  }
   649  
   650  // Endpoints returns request builder for Endpoint collection
   651  func (b *GroupRequestBuilder) Endpoints() *GroupEndpointsCollectionRequestBuilder {
   652  	bb := &GroupEndpointsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   653  	bb.baseURL += "/endpoints"
   654  	return bb
   655  }
   656  
   657  // GroupEndpointsCollectionRequestBuilder is request builder for Endpoint collection
   658  type GroupEndpointsCollectionRequestBuilder struct{ BaseRequestBuilder }
   659  
   660  // Request returns request for Endpoint collection
   661  func (b *GroupEndpointsCollectionRequestBuilder) Request() *GroupEndpointsCollectionRequest {
   662  	return &GroupEndpointsCollectionRequest{
   663  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   664  	}
   665  }
   666  
   667  // ID returns request builder for Endpoint item
   668  func (b *GroupEndpointsCollectionRequestBuilder) ID(id string) *EndpointRequestBuilder {
   669  	bb := &EndpointRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   670  	bb.baseURL += "/" + id
   671  	return bb
   672  }
   673  
   674  // GroupEndpointsCollectionRequest is request for Endpoint collection
   675  type GroupEndpointsCollectionRequest struct{ BaseRequest }
   676  
   677  // Paging perfoms paging operation for Endpoint collection
   678  func (r *GroupEndpointsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Endpoint, error) {
   679  	req, err := r.NewJSONRequest(method, path, obj)
   680  	if err != nil {
   681  		return nil, err
   682  	}
   683  	if ctx != nil {
   684  		req = req.WithContext(ctx)
   685  	}
   686  	res, err := r.client.Do(req)
   687  	if err != nil {
   688  		return nil, err
   689  	}
   690  	var values []Endpoint
   691  	for {
   692  		if res.StatusCode != http.StatusOK {
   693  			b, _ := ioutil.ReadAll(res.Body)
   694  			res.Body.Close()
   695  			errRes := &ErrorResponse{Response: res}
   696  			err := jsonx.Unmarshal(b, errRes)
   697  			if err != nil {
   698  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   699  			}
   700  			return nil, errRes
   701  		}
   702  		var (
   703  			paging Paging
   704  			value  []Endpoint
   705  		)
   706  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   707  		res.Body.Close()
   708  		if err != nil {
   709  			return nil, err
   710  		}
   711  		err = jsonx.Unmarshal(paging.Value, &value)
   712  		if err != nil {
   713  			return nil, err
   714  		}
   715  		values = append(values, value...)
   716  		if n >= 0 {
   717  			n--
   718  		}
   719  		if n == 0 || len(paging.NextLink) == 0 {
   720  			return values, nil
   721  		}
   722  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   723  		if ctx != nil {
   724  			req = req.WithContext(ctx)
   725  		}
   726  		res, err = r.client.Do(req)
   727  		if err != nil {
   728  			return nil, err
   729  		}
   730  	}
   731  }
   732  
   733  // GetN performs GET request for Endpoint collection, max N pages
   734  func (r *GroupEndpointsCollectionRequest) GetN(ctx context.Context, n int) ([]Endpoint, error) {
   735  	var query string
   736  	if r.query != nil {
   737  		query = "?" + r.query.Encode()
   738  	}
   739  	return r.Paging(ctx, "GET", query, nil, n)
   740  }
   741  
   742  // Get performs GET request for Endpoint collection
   743  func (r *GroupEndpointsCollectionRequest) Get(ctx context.Context) ([]Endpoint, error) {
   744  	return r.GetN(ctx, 0)
   745  }
   746  
   747  // Add performs POST request for Endpoint collection
   748  func (r *GroupEndpointsCollectionRequest) Add(ctx context.Context, reqObj *Endpoint) (resObj *Endpoint, err error) {
   749  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   750  	return
   751  }
   752  
   753  // Events returns request builder for Event collection
   754  func (b *GroupRequestBuilder) Events() *GroupEventsCollectionRequestBuilder {
   755  	bb := &GroupEventsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   756  	bb.baseURL += "/events"
   757  	return bb
   758  }
   759  
   760  // GroupEventsCollectionRequestBuilder is request builder for Event collection
   761  type GroupEventsCollectionRequestBuilder struct{ BaseRequestBuilder }
   762  
   763  // Request returns request for Event collection
   764  func (b *GroupEventsCollectionRequestBuilder) Request() *GroupEventsCollectionRequest {
   765  	return &GroupEventsCollectionRequest{
   766  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   767  	}
   768  }
   769  
   770  // ID returns request builder for Event item
   771  func (b *GroupEventsCollectionRequestBuilder) ID(id string) *EventRequestBuilder {
   772  	bb := &EventRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   773  	bb.baseURL += "/" + id
   774  	return bb
   775  }
   776  
   777  // GroupEventsCollectionRequest is request for Event collection
   778  type GroupEventsCollectionRequest struct{ BaseRequest }
   779  
   780  // Paging perfoms paging operation for Event collection
   781  func (r *GroupEventsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Event, error) {
   782  	req, err := r.NewJSONRequest(method, path, obj)
   783  	if err != nil {
   784  		return nil, err
   785  	}
   786  	if ctx != nil {
   787  		req = req.WithContext(ctx)
   788  	}
   789  	res, err := r.client.Do(req)
   790  	if err != nil {
   791  		return nil, err
   792  	}
   793  	var values []Event
   794  	for {
   795  		if res.StatusCode != http.StatusOK {
   796  			b, _ := ioutil.ReadAll(res.Body)
   797  			res.Body.Close()
   798  			errRes := &ErrorResponse{Response: res}
   799  			err := jsonx.Unmarshal(b, errRes)
   800  			if err != nil {
   801  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   802  			}
   803  			return nil, errRes
   804  		}
   805  		var (
   806  			paging Paging
   807  			value  []Event
   808  		)
   809  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   810  		res.Body.Close()
   811  		if err != nil {
   812  			return nil, err
   813  		}
   814  		err = jsonx.Unmarshal(paging.Value, &value)
   815  		if err != nil {
   816  			return nil, err
   817  		}
   818  		values = append(values, value...)
   819  		if n >= 0 {
   820  			n--
   821  		}
   822  		if n == 0 || len(paging.NextLink) == 0 {
   823  			return values, nil
   824  		}
   825  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   826  		if ctx != nil {
   827  			req = req.WithContext(ctx)
   828  		}
   829  		res, err = r.client.Do(req)
   830  		if err != nil {
   831  			return nil, err
   832  		}
   833  	}
   834  }
   835  
   836  // GetN performs GET request for Event collection, max N pages
   837  func (r *GroupEventsCollectionRequest) GetN(ctx context.Context, n int) ([]Event, error) {
   838  	var query string
   839  	if r.query != nil {
   840  		query = "?" + r.query.Encode()
   841  	}
   842  	return r.Paging(ctx, "GET", query, nil, n)
   843  }
   844  
   845  // Get performs GET request for Event collection
   846  func (r *GroupEventsCollectionRequest) Get(ctx context.Context) ([]Event, error) {
   847  	return r.GetN(ctx, 0)
   848  }
   849  
   850  // Add performs POST request for Event collection
   851  func (r *GroupEventsCollectionRequest) Add(ctx context.Context, reqObj *Event) (resObj *Event, err error) {
   852  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   853  	return
   854  }
   855  
   856  // Extensions returns request builder for Extension collection
   857  func (b *GroupRequestBuilder) Extensions() *GroupExtensionsCollectionRequestBuilder {
   858  	bb := &GroupExtensionsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   859  	bb.baseURL += "/extensions"
   860  	return bb
   861  }
   862  
   863  // GroupExtensionsCollectionRequestBuilder is request builder for Extension collection
   864  type GroupExtensionsCollectionRequestBuilder struct{ BaseRequestBuilder }
   865  
   866  // Request returns request for Extension collection
   867  func (b *GroupExtensionsCollectionRequestBuilder) Request() *GroupExtensionsCollectionRequest {
   868  	return &GroupExtensionsCollectionRequest{
   869  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   870  	}
   871  }
   872  
   873  // ID returns request builder for Extension item
   874  func (b *GroupExtensionsCollectionRequestBuilder) ID(id string) *ExtensionRequestBuilder {
   875  	bb := &ExtensionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   876  	bb.baseURL += "/" + id
   877  	return bb
   878  }
   879  
   880  // GroupExtensionsCollectionRequest is request for Extension collection
   881  type GroupExtensionsCollectionRequest struct{ BaseRequest }
   882  
   883  // Paging perfoms paging operation for Extension collection
   884  func (r *GroupExtensionsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Extension, error) {
   885  	req, err := r.NewJSONRequest(method, path, obj)
   886  	if err != nil {
   887  		return nil, err
   888  	}
   889  	if ctx != nil {
   890  		req = req.WithContext(ctx)
   891  	}
   892  	res, err := r.client.Do(req)
   893  	if err != nil {
   894  		return nil, err
   895  	}
   896  	var values []Extension
   897  	for {
   898  		if res.StatusCode != http.StatusOK {
   899  			b, _ := ioutil.ReadAll(res.Body)
   900  			res.Body.Close()
   901  			errRes := &ErrorResponse{Response: res}
   902  			err := jsonx.Unmarshal(b, errRes)
   903  			if err != nil {
   904  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   905  			}
   906  			return nil, errRes
   907  		}
   908  		var (
   909  			paging Paging
   910  			value  []Extension
   911  		)
   912  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   913  		res.Body.Close()
   914  		if err != nil {
   915  			return nil, err
   916  		}
   917  		err = jsonx.Unmarshal(paging.Value, &value)
   918  		if err != nil {
   919  			return nil, err
   920  		}
   921  		values = append(values, value...)
   922  		if n >= 0 {
   923  			n--
   924  		}
   925  		if n == 0 || len(paging.NextLink) == 0 {
   926  			return values, nil
   927  		}
   928  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   929  		if ctx != nil {
   930  			req = req.WithContext(ctx)
   931  		}
   932  		res, err = r.client.Do(req)
   933  		if err != nil {
   934  			return nil, err
   935  		}
   936  	}
   937  }
   938  
   939  // GetN performs GET request for Extension collection, max N pages
   940  func (r *GroupExtensionsCollectionRequest) GetN(ctx context.Context, n int) ([]Extension, error) {
   941  	var query string
   942  	if r.query != nil {
   943  		query = "?" + r.query.Encode()
   944  	}
   945  	return r.Paging(ctx, "GET", query, nil, n)
   946  }
   947  
   948  // Get performs GET request for Extension collection
   949  func (r *GroupExtensionsCollectionRequest) Get(ctx context.Context) ([]Extension, error) {
   950  	return r.GetN(ctx, 0)
   951  }
   952  
   953  // Add performs POST request for Extension collection
   954  func (r *GroupExtensionsCollectionRequest) Add(ctx context.Context, reqObj *Extension) (resObj *Extension, err error) {
   955  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   956  	return
   957  }
   958  
   959  // GroupLifecyclePolicies returns request builder for GroupLifecyclePolicy collection
   960  func (b *GroupRequestBuilder) GroupLifecyclePolicies() *GroupGroupLifecyclePoliciesCollectionRequestBuilder {
   961  	bb := &GroupGroupLifecyclePoliciesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   962  	bb.baseURL += "/groupLifecyclePolicies"
   963  	return bb
   964  }
   965  
   966  // GroupGroupLifecyclePoliciesCollectionRequestBuilder is request builder for GroupLifecyclePolicy collection
   967  type GroupGroupLifecyclePoliciesCollectionRequestBuilder struct{ BaseRequestBuilder }
   968  
   969  // Request returns request for GroupLifecyclePolicy collection
   970  func (b *GroupGroupLifecyclePoliciesCollectionRequestBuilder) Request() *GroupGroupLifecyclePoliciesCollectionRequest {
   971  	return &GroupGroupLifecyclePoliciesCollectionRequest{
   972  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   973  	}
   974  }
   975  
   976  // ID returns request builder for GroupLifecyclePolicy item
   977  func (b *GroupGroupLifecyclePoliciesCollectionRequestBuilder) ID(id string) *GroupLifecyclePolicyRequestBuilder {
   978  	bb := &GroupLifecyclePolicyRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   979  	bb.baseURL += "/" + id
   980  	return bb
   981  }
   982  
   983  // GroupGroupLifecyclePoliciesCollectionRequest is request for GroupLifecyclePolicy collection
   984  type GroupGroupLifecyclePoliciesCollectionRequest struct{ BaseRequest }
   985  
   986  // Paging perfoms paging operation for GroupLifecyclePolicy collection
   987  func (r *GroupGroupLifecyclePoliciesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]GroupLifecyclePolicy, error) {
   988  	req, err := r.NewJSONRequest(method, path, obj)
   989  	if err != nil {
   990  		return nil, err
   991  	}
   992  	if ctx != nil {
   993  		req = req.WithContext(ctx)
   994  	}
   995  	res, err := r.client.Do(req)
   996  	if err != nil {
   997  		return nil, err
   998  	}
   999  	var values []GroupLifecyclePolicy
  1000  	for {
  1001  		if res.StatusCode != http.StatusOK {
  1002  			b, _ := ioutil.ReadAll(res.Body)
  1003  			res.Body.Close()
  1004  			errRes := &ErrorResponse{Response: res}
  1005  			err := jsonx.Unmarshal(b, errRes)
  1006  			if err != nil {
  1007  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1008  			}
  1009  			return nil, errRes
  1010  		}
  1011  		var (
  1012  			paging Paging
  1013  			value  []GroupLifecyclePolicy
  1014  		)
  1015  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1016  		res.Body.Close()
  1017  		if err != nil {
  1018  			return nil, err
  1019  		}
  1020  		err = jsonx.Unmarshal(paging.Value, &value)
  1021  		if err != nil {
  1022  			return nil, err
  1023  		}
  1024  		values = append(values, value...)
  1025  		if n >= 0 {
  1026  			n--
  1027  		}
  1028  		if n == 0 || len(paging.NextLink) == 0 {
  1029  			return values, nil
  1030  		}
  1031  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1032  		if ctx != nil {
  1033  			req = req.WithContext(ctx)
  1034  		}
  1035  		res, err = r.client.Do(req)
  1036  		if err != nil {
  1037  			return nil, err
  1038  		}
  1039  	}
  1040  }
  1041  
  1042  // GetN performs GET request for GroupLifecyclePolicy collection, max N pages
  1043  func (r *GroupGroupLifecyclePoliciesCollectionRequest) GetN(ctx context.Context, n int) ([]GroupLifecyclePolicy, error) {
  1044  	var query string
  1045  	if r.query != nil {
  1046  		query = "?" + r.query.Encode()
  1047  	}
  1048  	return r.Paging(ctx, "GET", query, nil, n)
  1049  }
  1050  
  1051  // Get performs GET request for GroupLifecyclePolicy collection
  1052  func (r *GroupGroupLifecyclePoliciesCollectionRequest) Get(ctx context.Context) ([]GroupLifecyclePolicy, error) {
  1053  	return r.GetN(ctx, 0)
  1054  }
  1055  
  1056  // Add performs POST request for GroupLifecyclePolicy collection
  1057  func (r *GroupGroupLifecyclePoliciesCollectionRequest) Add(ctx context.Context, reqObj *GroupLifecyclePolicy) (resObj *GroupLifecyclePolicy, err error) {
  1058  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1059  	return
  1060  }
  1061  
  1062  // MemberOf returns request builder for DirectoryObject collection
  1063  func (b *GroupRequestBuilder) MemberOf() *GroupMemberOfCollectionRequestBuilder {
  1064  	bb := &GroupMemberOfCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1065  	bb.baseURL += "/memberOf"
  1066  	return bb
  1067  }
  1068  
  1069  // GroupMemberOfCollectionRequestBuilder is request builder for DirectoryObject collection
  1070  type GroupMemberOfCollectionRequestBuilder struct{ BaseRequestBuilder }
  1071  
  1072  // Request returns request for DirectoryObject collection
  1073  func (b *GroupMemberOfCollectionRequestBuilder) Request() *GroupMemberOfCollectionRequest {
  1074  	return &GroupMemberOfCollectionRequest{
  1075  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1076  	}
  1077  }
  1078  
  1079  // ID returns request builder for DirectoryObject item
  1080  func (b *GroupMemberOfCollectionRequestBuilder) ID(id string) *DirectoryObjectRequestBuilder {
  1081  	bb := &DirectoryObjectRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1082  	bb.baseURL += "/" + id
  1083  	return bb
  1084  }
  1085  
  1086  // GroupMemberOfCollectionRequest is request for DirectoryObject collection
  1087  type GroupMemberOfCollectionRequest struct{ BaseRequest }
  1088  
  1089  // Paging perfoms paging operation for DirectoryObject collection
  1090  func (r *GroupMemberOfCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]DirectoryObject, error) {
  1091  	req, err := r.NewJSONRequest(method, path, obj)
  1092  	if err != nil {
  1093  		return nil, err
  1094  	}
  1095  	if ctx != nil {
  1096  		req = req.WithContext(ctx)
  1097  	}
  1098  	res, err := r.client.Do(req)
  1099  	if err != nil {
  1100  		return nil, err
  1101  	}
  1102  	var values []DirectoryObject
  1103  	for {
  1104  		if res.StatusCode != http.StatusOK {
  1105  			b, _ := ioutil.ReadAll(res.Body)
  1106  			res.Body.Close()
  1107  			errRes := &ErrorResponse{Response: res}
  1108  			err := jsonx.Unmarshal(b, errRes)
  1109  			if err != nil {
  1110  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1111  			}
  1112  			return nil, errRes
  1113  		}
  1114  		var (
  1115  			paging Paging
  1116  			value  []DirectoryObject
  1117  		)
  1118  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1119  		res.Body.Close()
  1120  		if err != nil {
  1121  			return nil, err
  1122  		}
  1123  		err = jsonx.Unmarshal(paging.Value, &value)
  1124  		if err != nil {
  1125  			return nil, err
  1126  		}
  1127  		values = append(values, value...)
  1128  		if n >= 0 {
  1129  			n--
  1130  		}
  1131  		if n == 0 || len(paging.NextLink) == 0 {
  1132  			return values, nil
  1133  		}
  1134  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1135  		if ctx != nil {
  1136  			req = req.WithContext(ctx)
  1137  		}
  1138  		res, err = r.client.Do(req)
  1139  		if err != nil {
  1140  			return nil, err
  1141  		}
  1142  	}
  1143  }
  1144  
  1145  // GetN performs GET request for DirectoryObject collection, max N pages
  1146  func (r *GroupMemberOfCollectionRequest) GetN(ctx context.Context, n int) ([]DirectoryObject, error) {
  1147  	var query string
  1148  	if r.query != nil {
  1149  		query = "?" + r.query.Encode()
  1150  	}
  1151  	return r.Paging(ctx, "GET", query, nil, n)
  1152  }
  1153  
  1154  // Get performs GET request for DirectoryObject collection
  1155  func (r *GroupMemberOfCollectionRequest) Get(ctx context.Context) ([]DirectoryObject, error) {
  1156  	return r.GetN(ctx, 0)
  1157  }
  1158  
  1159  // Add performs POST request for DirectoryObject collection
  1160  func (r *GroupMemberOfCollectionRequest) Add(ctx context.Context, reqObj *DirectoryObject) (resObj *DirectoryObject, err error) {
  1161  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1162  	return
  1163  }
  1164  
  1165  // Members returns request builder for DirectoryObject collection
  1166  func (b *GroupRequestBuilder) Members() *GroupMembersCollectionRequestBuilder {
  1167  	bb := &GroupMembersCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1168  	bb.baseURL += "/members"
  1169  	return bb
  1170  }
  1171  
  1172  // GroupMembersCollectionRequestBuilder is request builder for DirectoryObject collection
  1173  type GroupMembersCollectionRequestBuilder struct{ BaseRequestBuilder }
  1174  
  1175  // Request returns request for DirectoryObject collection
  1176  func (b *GroupMembersCollectionRequestBuilder) Request() *GroupMembersCollectionRequest {
  1177  	return &GroupMembersCollectionRequest{
  1178  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1179  	}
  1180  }
  1181  
  1182  // ID returns request builder for DirectoryObject item
  1183  func (b *GroupMembersCollectionRequestBuilder) ID(id string) *DirectoryObjectRequestBuilder {
  1184  	bb := &DirectoryObjectRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1185  	bb.baseURL += "/" + id
  1186  	return bb
  1187  }
  1188  
  1189  // GroupMembersCollectionRequest is request for DirectoryObject collection
  1190  type GroupMembersCollectionRequest struct{ BaseRequest }
  1191  
  1192  // Paging perfoms paging operation for DirectoryObject collection
  1193  func (r *GroupMembersCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]DirectoryObject, error) {
  1194  	req, err := r.NewJSONRequest(method, path, obj)
  1195  	if err != nil {
  1196  		return nil, err
  1197  	}
  1198  	if ctx != nil {
  1199  		req = req.WithContext(ctx)
  1200  	}
  1201  	res, err := r.client.Do(req)
  1202  	if err != nil {
  1203  		return nil, err
  1204  	}
  1205  	var values []DirectoryObject
  1206  	for {
  1207  		if res.StatusCode != http.StatusOK {
  1208  			b, _ := ioutil.ReadAll(res.Body)
  1209  			res.Body.Close()
  1210  			errRes := &ErrorResponse{Response: res}
  1211  			err := jsonx.Unmarshal(b, errRes)
  1212  			if err != nil {
  1213  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1214  			}
  1215  			return nil, errRes
  1216  		}
  1217  		var (
  1218  			paging Paging
  1219  			value  []DirectoryObject
  1220  		)
  1221  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1222  		res.Body.Close()
  1223  		if err != nil {
  1224  			return nil, err
  1225  		}
  1226  		err = jsonx.Unmarshal(paging.Value, &value)
  1227  		if err != nil {
  1228  			return nil, err
  1229  		}
  1230  		values = append(values, value...)
  1231  		if n >= 0 {
  1232  			n--
  1233  		}
  1234  		if n == 0 || len(paging.NextLink) == 0 {
  1235  			return values, nil
  1236  		}
  1237  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1238  		if ctx != nil {
  1239  			req = req.WithContext(ctx)
  1240  		}
  1241  		res, err = r.client.Do(req)
  1242  		if err != nil {
  1243  			return nil, err
  1244  		}
  1245  	}
  1246  }
  1247  
  1248  // GetN performs GET request for DirectoryObject collection, max N pages
  1249  func (r *GroupMembersCollectionRequest) GetN(ctx context.Context, n int) ([]DirectoryObject, error) {
  1250  	var query string
  1251  	if r.query != nil {
  1252  		query = "?" + r.query.Encode()
  1253  	}
  1254  	return r.Paging(ctx, "GET", query, nil, n)
  1255  }
  1256  
  1257  // Get performs GET request for DirectoryObject collection
  1258  func (r *GroupMembersCollectionRequest) Get(ctx context.Context) ([]DirectoryObject, error) {
  1259  	return r.GetN(ctx, 0)
  1260  }
  1261  
  1262  // Add performs POST request for DirectoryObject collection
  1263  func (r *GroupMembersCollectionRequest) Add(ctx context.Context, reqObj *DirectoryObject) (resObj *DirectoryObject, err error) {
  1264  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1265  	return
  1266  }
  1267  
  1268  // MembersWithLicenseErrors returns request builder for DirectoryObject collection
  1269  func (b *GroupRequestBuilder) MembersWithLicenseErrors() *GroupMembersWithLicenseErrorsCollectionRequestBuilder {
  1270  	bb := &GroupMembersWithLicenseErrorsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1271  	bb.baseURL += "/membersWithLicenseErrors"
  1272  	return bb
  1273  }
  1274  
  1275  // GroupMembersWithLicenseErrorsCollectionRequestBuilder is request builder for DirectoryObject collection
  1276  type GroupMembersWithLicenseErrorsCollectionRequestBuilder struct{ BaseRequestBuilder }
  1277  
  1278  // Request returns request for DirectoryObject collection
  1279  func (b *GroupMembersWithLicenseErrorsCollectionRequestBuilder) Request() *GroupMembersWithLicenseErrorsCollectionRequest {
  1280  	return &GroupMembersWithLicenseErrorsCollectionRequest{
  1281  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1282  	}
  1283  }
  1284  
  1285  // ID returns request builder for DirectoryObject item
  1286  func (b *GroupMembersWithLicenseErrorsCollectionRequestBuilder) ID(id string) *DirectoryObjectRequestBuilder {
  1287  	bb := &DirectoryObjectRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1288  	bb.baseURL += "/" + id
  1289  	return bb
  1290  }
  1291  
  1292  // GroupMembersWithLicenseErrorsCollectionRequest is request for DirectoryObject collection
  1293  type GroupMembersWithLicenseErrorsCollectionRequest struct{ BaseRequest }
  1294  
  1295  // Paging perfoms paging operation for DirectoryObject collection
  1296  func (r *GroupMembersWithLicenseErrorsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]DirectoryObject, error) {
  1297  	req, err := r.NewJSONRequest(method, path, obj)
  1298  	if err != nil {
  1299  		return nil, err
  1300  	}
  1301  	if ctx != nil {
  1302  		req = req.WithContext(ctx)
  1303  	}
  1304  	res, err := r.client.Do(req)
  1305  	if err != nil {
  1306  		return nil, err
  1307  	}
  1308  	var values []DirectoryObject
  1309  	for {
  1310  		if res.StatusCode != http.StatusOK {
  1311  			b, _ := ioutil.ReadAll(res.Body)
  1312  			res.Body.Close()
  1313  			errRes := &ErrorResponse{Response: res}
  1314  			err := jsonx.Unmarshal(b, errRes)
  1315  			if err != nil {
  1316  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1317  			}
  1318  			return nil, errRes
  1319  		}
  1320  		var (
  1321  			paging Paging
  1322  			value  []DirectoryObject
  1323  		)
  1324  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1325  		res.Body.Close()
  1326  		if err != nil {
  1327  			return nil, err
  1328  		}
  1329  		err = jsonx.Unmarshal(paging.Value, &value)
  1330  		if err != nil {
  1331  			return nil, err
  1332  		}
  1333  		values = append(values, value...)
  1334  		if n >= 0 {
  1335  			n--
  1336  		}
  1337  		if n == 0 || len(paging.NextLink) == 0 {
  1338  			return values, nil
  1339  		}
  1340  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1341  		if ctx != nil {
  1342  			req = req.WithContext(ctx)
  1343  		}
  1344  		res, err = r.client.Do(req)
  1345  		if err != nil {
  1346  			return nil, err
  1347  		}
  1348  	}
  1349  }
  1350  
  1351  // GetN performs GET request for DirectoryObject collection, max N pages
  1352  func (r *GroupMembersWithLicenseErrorsCollectionRequest) GetN(ctx context.Context, n int) ([]DirectoryObject, error) {
  1353  	var query string
  1354  	if r.query != nil {
  1355  		query = "?" + r.query.Encode()
  1356  	}
  1357  	return r.Paging(ctx, "GET", query, nil, n)
  1358  }
  1359  
  1360  // Get performs GET request for DirectoryObject collection
  1361  func (r *GroupMembersWithLicenseErrorsCollectionRequest) Get(ctx context.Context) ([]DirectoryObject, error) {
  1362  	return r.GetN(ctx, 0)
  1363  }
  1364  
  1365  // Add performs POST request for DirectoryObject collection
  1366  func (r *GroupMembersWithLicenseErrorsCollectionRequest) Add(ctx context.Context, reqObj *DirectoryObject) (resObj *DirectoryObject, err error) {
  1367  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1368  	return
  1369  }
  1370  
  1371  // Onenote is navigation property
  1372  func (b *GroupRequestBuilder) Onenote() *OnenoteRequestBuilder {
  1373  	bb := &OnenoteRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1374  	bb.baseURL += "/onenote"
  1375  	return bb
  1376  }
  1377  
  1378  // Owners returns request builder for DirectoryObject collection
  1379  func (b *GroupRequestBuilder) Owners() *GroupOwnersCollectionRequestBuilder {
  1380  	bb := &GroupOwnersCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1381  	bb.baseURL += "/owners"
  1382  	return bb
  1383  }
  1384  
  1385  // GroupOwnersCollectionRequestBuilder is request builder for DirectoryObject collection
  1386  type GroupOwnersCollectionRequestBuilder struct{ BaseRequestBuilder }
  1387  
  1388  // Request returns request for DirectoryObject collection
  1389  func (b *GroupOwnersCollectionRequestBuilder) Request() *GroupOwnersCollectionRequest {
  1390  	return &GroupOwnersCollectionRequest{
  1391  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1392  	}
  1393  }
  1394  
  1395  // ID returns request builder for DirectoryObject item
  1396  func (b *GroupOwnersCollectionRequestBuilder) ID(id string) *DirectoryObjectRequestBuilder {
  1397  	bb := &DirectoryObjectRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1398  	bb.baseURL += "/" + id
  1399  	return bb
  1400  }
  1401  
  1402  // GroupOwnersCollectionRequest is request for DirectoryObject collection
  1403  type GroupOwnersCollectionRequest struct{ BaseRequest }
  1404  
  1405  // Paging perfoms paging operation for DirectoryObject collection
  1406  func (r *GroupOwnersCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]DirectoryObject, error) {
  1407  	req, err := r.NewJSONRequest(method, path, obj)
  1408  	if err != nil {
  1409  		return nil, err
  1410  	}
  1411  	if ctx != nil {
  1412  		req = req.WithContext(ctx)
  1413  	}
  1414  	res, err := r.client.Do(req)
  1415  	if err != nil {
  1416  		return nil, err
  1417  	}
  1418  	var values []DirectoryObject
  1419  	for {
  1420  		if res.StatusCode != http.StatusOK {
  1421  			b, _ := ioutil.ReadAll(res.Body)
  1422  			res.Body.Close()
  1423  			errRes := &ErrorResponse{Response: res}
  1424  			err := jsonx.Unmarshal(b, errRes)
  1425  			if err != nil {
  1426  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1427  			}
  1428  			return nil, errRes
  1429  		}
  1430  		var (
  1431  			paging Paging
  1432  			value  []DirectoryObject
  1433  		)
  1434  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1435  		res.Body.Close()
  1436  		if err != nil {
  1437  			return nil, err
  1438  		}
  1439  		err = jsonx.Unmarshal(paging.Value, &value)
  1440  		if err != nil {
  1441  			return nil, err
  1442  		}
  1443  		values = append(values, value...)
  1444  		if n >= 0 {
  1445  			n--
  1446  		}
  1447  		if n == 0 || len(paging.NextLink) == 0 {
  1448  			return values, nil
  1449  		}
  1450  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1451  		if ctx != nil {
  1452  			req = req.WithContext(ctx)
  1453  		}
  1454  		res, err = r.client.Do(req)
  1455  		if err != nil {
  1456  			return nil, err
  1457  		}
  1458  	}
  1459  }
  1460  
  1461  // GetN performs GET request for DirectoryObject collection, max N pages
  1462  func (r *GroupOwnersCollectionRequest) GetN(ctx context.Context, n int) ([]DirectoryObject, error) {
  1463  	var query string
  1464  	if r.query != nil {
  1465  		query = "?" + r.query.Encode()
  1466  	}
  1467  	return r.Paging(ctx, "GET", query, nil, n)
  1468  }
  1469  
  1470  // Get performs GET request for DirectoryObject collection
  1471  func (r *GroupOwnersCollectionRequest) Get(ctx context.Context) ([]DirectoryObject, error) {
  1472  	return r.GetN(ctx, 0)
  1473  }
  1474  
  1475  // Add performs POST request for DirectoryObject collection
  1476  func (r *GroupOwnersCollectionRequest) Add(ctx context.Context, reqObj *DirectoryObject) (resObj *DirectoryObject, err error) {
  1477  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1478  	return
  1479  }
  1480  
  1481  // PermissionGrants returns request builder for ResourceSpecificPermissionGrant collection
  1482  func (b *GroupRequestBuilder) PermissionGrants() *GroupPermissionGrantsCollectionRequestBuilder {
  1483  	bb := &GroupPermissionGrantsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1484  	bb.baseURL += "/permissionGrants"
  1485  	return bb
  1486  }
  1487  
  1488  // GroupPermissionGrantsCollectionRequestBuilder is request builder for ResourceSpecificPermissionGrant collection
  1489  type GroupPermissionGrantsCollectionRequestBuilder struct{ BaseRequestBuilder }
  1490  
  1491  // Request returns request for ResourceSpecificPermissionGrant collection
  1492  func (b *GroupPermissionGrantsCollectionRequestBuilder) Request() *GroupPermissionGrantsCollectionRequest {
  1493  	return &GroupPermissionGrantsCollectionRequest{
  1494  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1495  	}
  1496  }
  1497  
  1498  // ID returns request builder for ResourceSpecificPermissionGrant item
  1499  func (b *GroupPermissionGrantsCollectionRequestBuilder) ID(id string) *ResourceSpecificPermissionGrantRequestBuilder {
  1500  	bb := &ResourceSpecificPermissionGrantRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1501  	bb.baseURL += "/" + id
  1502  	return bb
  1503  }
  1504  
  1505  // GroupPermissionGrantsCollectionRequest is request for ResourceSpecificPermissionGrant collection
  1506  type GroupPermissionGrantsCollectionRequest struct{ BaseRequest }
  1507  
  1508  // Paging perfoms paging operation for ResourceSpecificPermissionGrant collection
  1509  func (r *GroupPermissionGrantsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ResourceSpecificPermissionGrant, error) {
  1510  	req, err := r.NewJSONRequest(method, path, obj)
  1511  	if err != nil {
  1512  		return nil, err
  1513  	}
  1514  	if ctx != nil {
  1515  		req = req.WithContext(ctx)
  1516  	}
  1517  	res, err := r.client.Do(req)
  1518  	if err != nil {
  1519  		return nil, err
  1520  	}
  1521  	var values []ResourceSpecificPermissionGrant
  1522  	for {
  1523  		if res.StatusCode != http.StatusOK {
  1524  			b, _ := ioutil.ReadAll(res.Body)
  1525  			res.Body.Close()
  1526  			errRes := &ErrorResponse{Response: res}
  1527  			err := jsonx.Unmarshal(b, errRes)
  1528  			if err != nil {
  1529  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1530  			}
  1531  			return nil, errRes
  1532  		}
  1533  		var (
  1534  			paging Paging
  1535  			value  []ResourceSpecificPermissionGrant
  1536  		)
  1537  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1538  		res.Body.Close()
  1539  		if err != nil {
  1540  			return nil, err
  1541  		}
  1542  		err = jsonx.Unmarshal(paging.Value, &value)
  1543  		if err != nil {
  1544  			return nil, err
  1545  		}
  1546  		values = append(values, value...)
  1547  		if n >= 0 {
  1548  			n--
  1549  		}
  1550  		if n == 0 || len(paging.NextLink) == 0 {
  1551  			return values, nil
  1552  		}
  1553  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1554  		if ctx != nil {
  1555  			req = req.WithContext(ctx)
  1556  		}
  1557  		res, err = r.client.Do(req)
  1558  		if err != nil {
  1559  			return nil, err
  1560  		}
  1561  	}
  1562  }
  1563  
  1564  // GetN performs GET request for ResourceSpecificPermissionGrant collection, max N pages
  1565  func (r *GroupPermissionGrantsCollectionRequest) GetN(ctx context.Context, n int) ([]ResourceSpecificPermissionGrant, error) {
  1566  	var query string
  1567  	if r.query != nil {
  1568  		query = "?" + r.query.Encode()
  1569  	}
  1570  	return r.Paging(ctx, "GET", query, nil, n)
  1571  }
  1572  
  1573  // Get performs GET request for ResourceSpecificPermissionGrant collection
  1574  func (r *GroupPermissionGrantsCollectionRequest) Get(ctx context.Context) ([]ResourceSpecificPermissionGrant, error) {
  1575  	return r.GetN(ctx, 0)
  1576  }
  1577  
  1578  // Add performs POST request for ResourceSpecificPermissionGrant collection
  1579  func (r *GroupPermissionGrantsCollectionRequest) Add(ctx context.Context, reqObj *ResourceSpecificPermissionGrant) (resObj *ResourceSpecificPermissionGrant, err error) {
  1580  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1581  	return
  1582  }
  1583  
  1584  // Photo is navigation property
  1585  func (b *GroupRequestBuilder) Photo() *ProfilePhotoRequestBuilder {
  1586  	bb := &ProfilePhotoRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1587  	bb.baseURL += "/photo"
  1588  	return bb
  1589  }
  1590  
  1591  // Photos returns request builder for ProfilePhoto collection
  1592  func (b *GroupRequestBuilder) Photos() *GroupPhotosCollectionRequestBuilder {
  1593  	bb := &GroupPhotosCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1594  	bb.baseURL += "/photos"
  1595  	return bb
  1596  }
  1597  
  1598  // GroupPhotosCollectionRequestBuilder is request builder for ProfilePhoto collection
  1599  type GroupPhotosCollectionRequestBuilder struct{ BaseRequestBuilder }
  1600  
  1601  // Request returns request for ProfilePhoto collection
  1602  func (b *GroupPhotosCollectionRequestBuilder) Request() *GroupPhotosCollectionRequest {
  1603  	return &GroupPhotosCollectionRequest{
  1604  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1605  	}
  1606  }
  1607  
  1608  // ID returns request builder for ProfilePhoto item
  1609  func (b *GroupPhotosCollectionRequestBuilder) ID(id string) *ProfilePhotoRequestBuilder {
  1610  	bb := &ProfilePhotoRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1611  	bb.baseURL += "/" + id
  1612  	return bb
  1613  }
  1614  
  1615  // GroupPhotosCollectionRequest is request for ProfilePhoto collection
  1616  type GroupPhotosCollectionRequest struct{ BaseRequest }
  1617  
  1618  // Paging perfoms paging operation for ProfilePhoto collection
  1619  func (r *GroupPhotosCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ProfilePhoto, error) {
  1620  	req, err := r.NewJSONRequest(method, path, obj)
  1621  	if err != nil {
  1622  		return nil, err
  1623  	}
  1624  	if ctx != nil {
  1625  		req = req.WithContext(ctx)
  1626  	}
  1627  	res, err := r.client.Do(req)
  1628  	if err != nil {
  1629  		return nil, err
  1630  	}
  1631  	var values []ProfilePhoto
  1632  	for {
  1633  		if res.StatusCode != http.StatusOK {
  1634  			b, _ := ioutil.ReadAll(res.Body)
  1635  			res.Body.Close()
  1636  			errRes := &ErrorResponse{Response: res}
  1637  			err := jsonx.Unmarshal(b, errRes)
  1638  			if err != nil {
  1639  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1640  			}
  1641  			return nil, errRes
  1642  		}
  1643  		var (
  1644  			paging Paging
  1645  			value  []ProfilePhoto
  1646  		)
  1647  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1648  		res.Body.Close()
  1649  		if err != nil {
  1650  			return nil, err
  1651  		}
  1652  		err = jsonx.Unmarshal(paging.Value, &value)
  1653  		if err != nil {
  1654  			return nil, err
  1655  		}
  1656  		values = append(values, value...)
  1657  		if n >= 0 {
  1658  			n--
  1659  		}
  1660  		if n == 0 || len(paging.NextLink) == 0 {
  1661  			return values, nil
  1662  		}
  1663  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1664  		if ctx != nil {
  1665  			req = req.WithContext(ctx)
  1666  		}
  1667  		res, err = r.client.Do(req)
  1668  		if err != nil {
  1669  			return nil, err
  1670  		}
  1671  	}
  1672  }
  1673  
  1674  // GetN performs GET request for ProfilePhoto collection, max N pages
  1675  func (r *GroupPhotosCollectionRequest) GetN(ctx context.Context, n int) ([]ProfilePhoto, error) {
  1676  	var query string
  1677  	if r.query != nil {
  1678  		query = "?" + r.query.Encode()
  1679  	}
  1680  	return r.Paging(ctx, "GET", query, nil, n)
  1681  }
  1682  
  1683  // Get performs GET request for ProfilePhoto collection
  1684  func (r *GroupPhotosCollectionRequest) Get(ctx context.Context) ([]ProfilePhoto, error) {
  1685  	return r.GetN(ctx, 0)
  1686  }
  1687  
  1688  // Add performs POST request for ProfilePhoto collection
  1689  func (r *GroupPhotosCollectionRequest) Add(ctx context.Context, reqObj *ProfilePhoto) (resObj *ProfilePhoto, err error) {
  1690  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1691  	return
  1692  }
  1693  
  1694  // Planner is navigation property
  1695  func (b *GroupRequestBuilder) Planner() *PlannerGroupRequestBuilder {
  1696  	bb := &PlannerGroupRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1697  	bb.baseURL += "/planner"
  1698  	return bb
  1699  }
  1700  
  1701  // RejectedSenders returns request builder for DirectoryObject collection
  1702  func (b *GroupRequestBuilder) RejectedSenders() *GroupRejectedSendersCollectionRequestBuilder {
  1703  	bb := &GroupRejectedSendersCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1704  	bb.baseURL += "/rejectedSenders"
  1705  	return bb
  1706  }
  1707  
  1708  // GroupRejectedSendersCollectionRequestBuilder is request builder for DirectoryObject collection
  1709  type GroupRejectedSendersCollectionRequestBuilder struct{ BaseRequestBuilder }
  1710  
  1711  // Request returns request for DirectoryObject collection
  1712  func (b *GroupRejectedSendersCollectionRequestBuilder) Request() *GroupRejectedSendersCollectionRequest {
  1713  	return &GroupRejectedSendersCollectionRequest{
  1714  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1715  	}
  1716  }
  1717  
  1718  // ID returns request builder for DirectoryObject item
  1719  func (b *GroupRejectedSendersCollectionRequestBuilder) ID(id string) *DirectoryObjectRequestBuilder {
  1720  	bb := &DirectoryObjectRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1721  	bb.baseURL += "/" + id
  1722  	return bb
  1723  }
  1724  
  1725  // GroupRejectedSendersCollectionRequest is request for DirectoryObject collection
  1726  type GroupRejectedSendersCollectionRequest struct{ BaseRequest }
  1727  
  1728  // Paging perfoms paging operation for DirectoryObject collection
  1729  func (r *GroupRejectedSendersCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]DirectoryObject, error) {
  1730  	req, err := r.NewJSONRequest(method, path, obj)
  1731  	if err != nil {
  1732  		return nil, err
  1733  	}
  1734  	if ctx != nil {
  1735  		req = req.WithContext(ctx)
  1736  	}
  1737  	res, err := r.client.Do(req)
  1738  	if err != nil {
  1739  		return nil, err
  1740  	}
  1741  	var values []DirectoryObject
  1742  	for {
  1743  		if res.StatusCode != http.StatusOK {
  1744  			b, _ := ioutil.ReadAll(res.Body)
  1745  			res.Body.Close()
  1746  			errRes := &ErrorResponse{Response: res}
  1747  			err := jsonx.Unmarshal(b, errRes)
  1748  			if err != nil {
  1749  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1750  			}
  1751  			return nil, errRes
  1752  		}
  1753  		var (
  1754  			paging Paging
  1755  			value  []DirectoryObject
  1756  		)
  1757  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1758  		res.Body.Close()
  1759  		if err != nil {
  1760  			return nil, err
  1761  		}
  1762  		err = jsonx.Unmarshal(paging.Value, &value)
  1763  		if err != nil {
  1764  			return nil, err
  1765  		}
  1766  		values = append(values, value...)
  1767  		if n >= 0 {
  1768  			n--
  1769  		}
  1770  		if n == 0 || len(paging.NextLink) == 0 {
  1771  			return values, nil
  1772  		}
  1773  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1774  		if ctx != nil {
  1775  			req = req.WithContext(ctx)
  1776  		}
  1777  		res, err = r.client.Do(req)
  1778  		if err != nil {
  1779  			return nil, err
  1780  		}
  1781  	}
  1782  }
  1783  
  1784  // GetN performs GET request for DirectoryObject collection, max N pages
  1785  func (r *GroupRejectedSendersCollectionRequest) GetN(ctx context.Context, n int) ([]DirectoryObject, error) {
  1786  	var query string
  1787  	if r.query != nil {
  1788  		query = "?" + r.query.Encode()
  1789  	}
  1790  	return r.Paging(ctx, "GET", query, nil, n)
  1791  }
  1792  
  1793  // Get performs GET request for DirectoryObject collection
  1794  func (r *GroupRejectedSendersCollectionRequest) Get(ctx context.Context) ([]DirectoryObject, error) {
  1795  	return r.GetN(ctx, 0)
  1796  }
  1797  
  1798  // Add performs POST request for DirectoryObject collection
  1799  func (r *GroupRejectedSendersCollectionRequest) Add(ctx context.Context, reqObj *DirectoryObject) (resObj *DirectoryObject, err error) {
  1800  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1801  	return
  1802  }
  1803  
  1804  // Settings returns request builder for DirectorySetting collection
  1805  func (b *GroupRequestBuilder) Settings() *GroupSettingsCollectionRequestBuilder {
  1806  	bb := &GroupSettingsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1807  	bb.baseURL += "/settings"
  1808  	return bb
  1809  }
  1810  
  1811  // GroupSettingsCollectionRequestBuilder is request builder for DirectorySetting collection
  1812  type GroupSettingsCollectionRequestBuilder struct{ BaseRequestBuilder }
  1813  
  1814  // Request returns request for DirectorySetting collection
  1815  func (b *GroupSettingsCollectionRequestBuilder) Request() *GroupSettingsCollectionRequest {
  1816  	return &GroupSettingsCollectionRequest{
  1817  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1818  	}
  1819  }
  1820  
  1821  // ID returns request builder for DirectorySetting item
  1822  func (b *GroupSettingsCollectionRequestBuilder) ID(id string) *DirectorySettingRequestBuilder {
  1823  	bb := &DirectorySettingRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1824  	bb.baseURL += "/" + id
  1825  	return bb
  1826  }
  1827  
  1828  // GroupSettingsCollectionRequest is request for DirectorySetting collection
  1829  type GroupSettingsCollectionRequest struct{ BaseRequest }
  1830  
  1831  // Paging perfoms paging operation for DirectorySetting collection
  1832  func (r *GroupSettingsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]DirectorySetting, error) {
  1833  	req, err := r.NewJSONRequest(method, path, obj)
  1834  	if err != nil {
  1835  		return nil, err
  1836  	}
  1837  	if ctx != nil {
  1838  		req = req.WithContext(ctx)
  1839  	}
  1840  	res, err := r.client.Do(req)
  1841  	if err != nil {
  1842  		return nil, err
  1843  	}
  1844  	var values []DirectorySetting
  1845  	for {
  1846  		if res.StatusCode != http.StatusOK {
  1847  			b, _ := ioutil.ReadAll(res.Body)
  1848  			res.Body.Close()
  1849  			errRes := &ErrorResponse{Response: res}
  1850  			err := jsonx.Unmarshal(b, errRes)
  1851  			if err != nil {
  1852  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1853  			}
  1854  			return nil, errRes
  1855  		}
  1856  		var (
  1857  			paging Paging
  1858  			value  []DirectorySetting
  1859  		)
  1860  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1861  		res.Body.Close()
  1862  		if err != nil {
  1863  			return nil, err
  1864  		}
  1865  		err = jsonx.Unmarshal(paging.Value, &value)
  1866  		if err != nil {
  1867  			return nil, err
  1868  		}
  1869  		values = append(values, value...)
  1870  		if n >= 0 {
  1871  			n--
  1872  		}
  1873  		if n == 0 || len(paging.NextLink) == 0 {
  1874  			return values, nil
  1875  		}
  1876  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1877  		if ctx != nil {
  1878  			req = req.WithContext(ctx)
  1879  		}
  1880  		res, err = r.client.Do(req)
  1881  		if err != nil {
  1882  			return nil, err
  1883  		}
  1884  	}
  1885  }
  1886  
  1887  // GetN performs GET request for DirectorySetting collection, max N pages
  1888  func (r *GroupSettingsCollectionRequest) GetN(ctx context.Context, n int) ([]DirectorySetting, error) {
  1889  	var query string
  1890  	if r.query != nil {
  1891  		query = "?" + r.query.Encode()
  1892  	}
  1893  	return r.Paging(ctx, "GET", query, nil, n)
  1894  }
  1895  
  1896  // Get performs GET request for DirectorySetting collection
  1897  func (r *GroupSettingsCollectionRequest) Get(ctx context.Context) ([]DirectorySetting, error) {
  1898  	return r.GetN(ctx, 0)
  1899  }
  1900  
  1901  // Add performs POST request for DirectorySetting collection
  1902  func (r *GroupSettingsCollectionRequest) Add(ctx context.Context, reqObj *DirectorySetting) (resObj *DirectorySetting, err error) {
  1903  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1904  	return
  1905  }
  1906  
  1907  // Sites returns request builder for Site collection
  1908  func (b *GroupRequestBuilder) Sites() *GroupSitesCollectionRequestBuilder {
  1909  	bb := &GroupSitesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1910  	bb.baseURL += "/sites"
  1911  	return bb
  1912  }
  1913  
  1914  // GroupSitesCollectionRequestBuilder is request builder for Site collection
  1915  type GroupSitesCollectionRequestBuilder struct{ BaseRequestBuilder }
  1916  
  1917  // Request returns request for Site collection
  1918  func (b *GroupSitesCollectionRequestBuilder) Request() *GroupSitesCollectionRequest {
  1919  	return &GroupSitesCollectionRequest{
  1920  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1921  	}
  1922  }
  1923  
  1924  // ID returns request builder for Site item
  1925  func (b *GroupSitesCollectionRequestBuilder) ID(id string) *SiteRequestBuilder {
  1926  	bb := &SiteRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1927  	bb.baseURL += "/" + id
  1928  	return bb
  1929  }
  1930  
  1931  // GroupSitesCollectionRequest is request for Site collection
  1932  type GroupSitesCollectionRequest struct{ BaseRequest }
  1933  
  1934  // Paging perfoms paging operation for Site collection
  1935  func (r *GroupSitesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Site, error) {
  1936  	req, err := r.NewJSONRequest(method, path, obj)
  1937  	if err != nil {
  1938  		return nil, err
  1939  	}
  1940  	if ctx != nil {
  1941  		req = req.WithContext(ctx)
  1942  	}
  1943  	res, err := r.client.Do(req)
  1944  	if err != nil {
  1945  		return nil, err
  1946  	}
  1947  	var values []Site
  1948  	for {
  1949  		if res.StatusCode != http.StatusOK {
  1950  			b, _ := ioutil.ReadAll(res.Body)
  1951  			res.Body.Close()
  1952  			errRes := &ErrorResponse{Response: res}
  1953  			err := jsonx.Unmarshal(b, errRes)
  1954  			if err != nil {
  1955  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1956  			}
  1957  			return nil, errRes
  1958  		}
  1959  		var (
  1960  			paging Paging
  1961  			value  []Site
  1962  		)
  1963  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1964  		res.Body.Close()
  1965  		if err != nil {
  1966  			return nil, err
  1967  		}
  1968  		err = jsonx.Unmarshal(paging.Value, &value)
  1969  		if err != nil {
  1970  			return nil, err
  1971  		}
  1972  		values = append(values, value...)
  1973  		if n >= 0 {
  1974  			n--
  1975  		}
  1976  		if n == 0 || len(paging.NextLink) == 0 {
  1977  			return values, nil
  1978  		}
  1979  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1980  		if ctx != nil {
  1981  			req = req.WithContext(ctx)
  1982  		}
  1983  		res, err = r.client.Do(req)
  1984  		if err != nil {
  1985  			return nil, err
  1986  		}
  1987  	}
  1988  }
  1989  
  1990  // GetN performs GET request for Site collection, max N pages
  1991  func (r *GroupSitesCollectionRequest) GetN(ctx context.Context, n int) ([]Site, error) {
  1992  	var query string
  1993  	if r.query != nil {
  1994  		query = "?" + r.query.Encode()
  1995  	}
  1996  	return r.Paging(ctx, "GET", query, nil, n)
  1997  }
  1998  
  1999  // Get performs GET request for Site collection
  2000  func (r *GroupSitesCollectionRequest) Get(ctx context.Context) ([]Site, error) {
  2001  	return r.GetN(ctx, 0)
  2002  }
  2003  
  2004  // Add performs POST request for Site collection
  2005  func (r *GroupSitesCollectionRequest) Add(ctx context.Context, reqObj *Site) (resObj *Site, err error) {
  2006  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  2007  	return
  2008  }
  2009  
  2010  // Team is navigation property
  2011  func (b *GroupRequestBuilder) Team() *TeamRequestBuilder {
  2012  	bb := &TeamRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2013  	bb.baseURL += "/team"
  2014  	return bb
  2015  }
  2016  
  2017  // Threads returns request builder for ConversationThread collection
  2018  func (b *GroupRequestBuilder) Threads() *GroupThreadsCollectionRequestBuilder {
  2019  	bb := &GroupThreadsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2020  	bb.baseURL += "/threads"
  2021  	return bb
  2022  }
  2023  
  2024  // GroupThreadsCollectionRequestBuilder is request builder for ConversationThread collection
  2025  type GroupThreadsCollectionRequestBuilder struct{ BaseRequestBuilder }
  2026  
  2027  // Request returns request for ConversationThread collection
  2028  func (b *GroupThreadsCollectionRequestBuilder) Request() *GroupThreadsCollectionRequest {
  2029  	return &GroupThreadsCollectionRequest{
  2030  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  2031  	}
  2032  }
  2033  
  2034  // ID returns request builder for ConversationThread item
  2035  func (b *GroupThreadsCollectionRequestBuilder) ID(id string) *ConversationThreadRequestBuilder {
  2036  	bb := &ConversationThreadRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2037  	bb.baseURL += "/" + id
  2038  	return bb
  2039  }
  2040  
  2041  // GroupThreadsCollectionRequest is request for ConversationThread collection
  2042  type GroupThreadsCollectionRequest struct{ BaseRequest }
  2043  
  2044  // Paging perfoms paging operation for ConversationThread collection
  2045  func (r *GroupThreadsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ConversationThread, error) {
  2046  	req, err := r.NewJSONRequest(method, path, obj)
  2047  	if err != nil {
  2048  		return nil, err
  2049  	}
  2050  	if ctx != nil {
  2051  		req = req.WithContext(ctx)
  2052  	}
  2053  	res, err := r.client.Do(req)
  2054  	if err != nil {
  2055  		return nil, err
  2056  	}
  2057  	var values []ConversationThread
  2058  	for {
  2059  		if res.StatusCode != http.StatusOK {
  2060  			b, _ := ioutil.ReadAll(res.Body)
  2061  			res.Body.Close()
  2062  			errRes := &ErrorResponse{Response: res}
  2063  			err := jsonx.Unmarshal(b, errRes)
  2064  			if err != nil {
  2065  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  2066  			}
  2067  			return nil, errRes
  2068  		}
  2069  		var (
  2070  			paging Paging
  2071  			value  []ConversationThread
  2072  		)
  2073  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  2074  		res.Body.Close()
  2075  		if err != nil {
  2076  			return nil, err
  2077  		}
  2078  		err = jsonx.Unmarshal(paging.Value, &value)
  2079  		if err != nil {
  2080  			return nil, err
  2081  		}
  2082  		values = append(values, value...)
  2083  		if n >= 0 {
  2084  			n--
  2085  		}
  2086  		if n == 0 || len(paging.NextLink) == 0 {
  2087  			return values, nil
  2088  		}
  2089  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  2090  		if ctx != nil {
  2091  			req = req.WithContext(ctx)
  2092  		}
  2093  		res, err = r.client.Do(req)
  2094  		if err != nil {
  2095  			return nil, err
  2096  		}
  2097  	}
  2098  }
  2099  
  2100  // GetN performs GET request for ConversationThread collection, max N pages
  2101  func (r *GroupThreadsCollectionRequest) GetN(ctx context.Context, n int) ([]ConversationThread, error) {
  2102  	var query string
  2103  	if r.query != nil {
  2104  		query = "?" + r.query.Encode()
  2105  	}
  2106  	return r.Paging(ctx, "GET", query, nil, n)
  2107  }
  2108  
  2109  // Get performs GET request for ConversationThread collection
  2110  func (r *GroupThreadsCollectionRequest) Get(ctx context.Context) ([]ConversationThread, error) {
  2111  	return r.GetN(ctx, 0)
  2112  }
  2113  
  2114  // Add performs POST request for ConversationThread collection
  2115  func (r *GroupThreadsCollectionRequest) Add(ctx context.Context, reqObj *ConversationThread) (resObj *ConversationThread, err error) {
  2116  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  2117  	return
  2118  }
  2119  
  2120  // TransitiveMemberOf returns request builder for DirectoryObject collection
  2121  func (b *GroupRequestBuilder) TransitiveMemberOf() *GroupTransitiveMemberOfCollectionRequestBuilder {
  2122  	bb := &GroupTransitiveMemberOfCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2123  	bb.baseURL += "/transitiveMemberOf"
  2124  	return bb
  2125  }
  2126  
  2127  // GroupTransitiveMemberOfCollectionRequestBuilder is request builder for DirectoryObject collection
  2128  type GroupTransitiveMemberOfCollectionRequestBuilder struct{ BaseRequestBuilder }
  2129  
  2130  // Request returns request for DirectoryObject collection
  2131  func (b *GroupTransitiveMemberOfCollectionRequestBuilder) Request() *GroupTransitiveMemberOfCollectionRequest {
  2132  	return &GroupTransitiveMemberOfCollectionRequest{
  2133  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  2134  	}
  2135  }
  2136  
  2137  // ID returns request builder for DirectoryObject item
  2138  func (b *GroupTransitiveMemberOfCollectionRequestBuilder) ID(id string) *DirectoryObjectRequestBuilder {
  2139  	bb := &DirectoryObjectRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2140  	bb.baseURL += "/" + id
  2141  	return bb
  2142  }
  2143  
  2144  // GroupTransitiveMemberOfCollectionRequest is request for DirectoryObject collection
  2145  type GroupTransitiveMemberOfCollectionRequest struct{ BaseRequest }
  2146  
  2147  // Paging perfoms paging operation for DirectoryObject collection
  2148  func (r *GroupTransitiveMemberOfCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]DirectoryObject, error) {
  2149  	req, err := r.NewJSONRequest(method, path, obj)
  2150  	if err != nil {
  2151  		return nil, err
  2152  	}
  2153  	if ctx != nil {
  2154  		req = req.WithContext(ctx)
  2155  	}
  2156  	res, err := r.client.Do(req)
  2157  	if err != nil {
  2158  		return nil, err
  2159  	}
  2160  	var values []DirectoryObject
  2161  	for {
  2162  		if res.StatusCode != http.StatusOK {
  2163  			b, _ := ioutil.ReadAll(res.Body)
  2164  			res.Body.Close()
  2165  			errRes := &ErrorResponse{Response: res}
  2166  			err := jsonx.Unmarshal(b, errRes)
  2167  			if err != nil {
  2168  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  2169  			}
  2170  			return nil, errRes
  2171  		}
  2172  		var (
  2173  			paging Paging
  2174  			value  []DirectoryObject
  2175  		)
  2176  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  2177  		res.Body.Close()
  2178  		if err != nil {
  2179  			return nil, err
  2180  		}
  2181  		err = jsonx.Unmarshal(paging.Value, &value)
  2182  		if err != nil {
  2183  			return nil, err
  2184  		}
  2185  		values = append(values, value...)
  2186  		if n >= 0 {
  2187  			n--
  2188  		}
  2189  		if n == 0 || len(paging.NextLink) == 0 {
  2190  			return values, nil
  2191  		}
  2192  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  2193  		if ctx != nil {
  2194  			req = req.WithContext(ctx)
  2195  		}
  2196  		res, err = r.client.Do(req)
  2197  		if err != nil {
  2198  			return nil, err
  2199  		}
  2200  	}
  2201  }
  2202  
  2203  // GetN performs GET request for DirectoryObject collection, max N pages
  2204  func (r *GroupTransitiveMemberOfCollectionRequest) GetN(ctx context.Context, n int) ([]DirectoryObject, error) {
  2205  	var query string
  2206  	if r.query != nil {
  2207  		query = "?" + r.query.Encode()
  2208  	}
  2209  	return r.Paging(ctx, "GET", query, nil, n)
  2210  }
  2211  
  2212  // Get performs GET request for DirectoryObject collection
  2213  func (r *GroupTransitiveMemberOfCollectionRequest) Get(ctx context.Context) ([]DirectoryObject, error) {
  2214  	return r.GetN(ctx, 0)
  2215  }
  2216  
  2217  // Add performs POST request for DirectoryObject collection
  2218  func (r *GroupTransitiveMemberOfCollectionRequest) Add(ctx context.Context, reqObj *DirectoryObject) (resObj *DirectoryObject, err error) {
  2219  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  2220  	return
  2221  }
  2222  
  2223  // TransitiveMembers returns request builder for DirectoryObject collection
  2224  func (b *GroupRequestBuilder) TransitiveMembers() *GroupTransitiveMembersCollectionRequestBuilder {
  2225  	bb := &GroupTransitiveMembersCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2226  	bb.baseURL += "/transitiveMembers"
  2227  	return bb
  2228  }
  2229  
  2230  // GroupTransitiveMembersCollectionRequestBuilder is request builder for DirectoryObject collection
  2231  type GroupTransitiveMembersCollectionRequestBuilder struct{ BaseRequestBuilder }
  2232  
  2233  // Request returns request for DirectoryObject collection
  2234  func (b *GroupTransitiveMembersCollectionRequestBuilder) Request() *GroupTransitiveMembersCollectionRequest {
  2235  	return &GroupTransitiveMembersCollectionRequest{
  2236  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  2237  	}
  2238  }
  2239  
  2240  // ID returns request builder for DirectoryObject item
  2241  func (b *GroupTransitiveMembersCollectionRequestBuilder) ID(id string) *DirectoryObjectRequestBuilder {
  2242  	bb := &DirectoryObjectRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2243  	bb.baseURL += "/" + id
  2244  	return bb
  2245  }
  2246  
  2247  // GroupTransitiveMembersCollectionRequest is request for DirectoryObject collection
  2248  type GroupTransitiveMembersCollectionRequest struct{ BaseRequest }
  2249  
  2250  // Paging perfoms paging operation for DirectoryObject collection
  2251  func (r *GroupTransitiveMembersCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]DirectoryObject, error) {
  2252  	req, err := r.NewJSONRequest(method, path, obj)
  2253  	if err != nil {
  2254  		return nil, err
  2255  	}
  2256  	if ctx != nil {
  2257  		req = req.WithContext(ctx)
  2258  	}
  2259  	res, err := r.client.Do(req)
  2260  	if err != nil {
  2261  		return nil, err
  2262  	}
  2263  	var values []DirectoryObject
  2264  	for {
  2265  		if res.StatusCode != http.StatusOK {
  2266  			b, _ := ioutil.ReadAll(res.Body)
  2267  			res.Body.Close()
  2268  			errRes := &ErrorResponse{Response: res}
  2269  			err := jsonx.Unmarshal(b, errRes)
  2270  			if err != nil {
  2271  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  2272  			}
  2273  			return nil, errRes
  2274  		}
  2275  		var (
  2276  			paging Paging
  2277  			value  []DirectoryObject
  2278  		)
  2279  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  2280  		res.Body.Close()
  2281  		if err != nil {
  2282  			return nil, err
  2283  		}
  2284  		err = jsonx.Unmarshal(paging.Value, &value)
  2285  		if err != nil {
  2286  			return nil, err
  2287  		}
  2288  		values = append(values, value...)
  2289  		if n >= 0 {
  2290  			n--
  2291  		}
  2292  		if n == 0 || len(paging.NextLink) == 0 {
  2293  			return values, nil
  2294  		}
  2295  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  2296  		if ctx != nil {
  2297  			req = req.WithContext(ctx)
  2298  		}
  2299  		res, err = r.client.Do(req)
  2300  		if err != nil {
  2301  			return nil, err
  2302  		}
  2303  	}
  2304  }
  2305  
  2306  // GetN performs GET request for DirectoryObject collection, max N pages
  2307  func (r *GroupTransitiveMembersCollectionRequest) GetN(ctx context.Context, n int) ([]DirectoryObject, error) {
  2308  	var query string
  2309  	if r.query != nil {
  2310  		query = "?" + r.query.Encode()
  2311  	}
  2312  	return r.Paging(ctx, "GET", query, nil, n)
  2313  }
  2314  
  2315  // Get performs GET request for DirectoryObject collection
  2316  func (r *GroupTransitiveMembersCollectionRequest) Get(ctx context.Context) ([]DirectoryObject, error) {
  2317  	return r.GetN(ctx, 0)
  2318  }
  2319  
  2320  // Add performs POST request for DirectoryObject collection
  2321  func (r *GroupTransitiveMembersCollectionRequest) Add(ctx context.Context, reqObj *DirectoryObject) (resObj *DirectoryObject, err error) {
  2322  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  2323  	return
  2324  }
  2325  
  2326  // Assignments returns request builder for GroupPolicyConfigurationAssignment collection
  2327  func (b *GroupPolicyConfigurationRequestBuilder) Assignments() *GroupPolicyConfigurationAssignmentsCollectionRequestBuilder {
  2328  	bb := &GroupPolicyConfigurationAssignmentsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2329  	bb.baseURL += "/assignments"
  2330  	return bb
  2331  }
  2332  
  2333  // GroupPolicyConfigurationAssignmentsCollectionRequestBuilder is request builder for GroupPolicyConfigurationAssignment collection
  2334  type GroupPolicyConfigurationAssignmentsCollectionRequestBuilder struct{ BaseRequestBuilder }
  2335  
  2336  // Request returns request for GroupPolicyConfigurationAssignment collection
  2337  func (b *GroupPolicyConfigurationAssignmentsCollectionRequestBuilder) Request() *GroupPolicyConfigurationAssignmentsCollectionRequest {
  2338  	return &GroupPolicyConfigurationAssignmentsCollectionRequest{
  2339  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  2340  	}
  2341  }
  2342  
  2343  // ID returns request builder for GroupPolicyConfigurationAssignment item
  2344  func (b *GroupPolicyConfigurationAssignmentsCollectionRequestBuilder) ID(id string) *GroupPolicyConfigurationAssignmentRequestBuilder {
  2345  	bb := &GroupPolicyConfigurationAssignmentRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2346  	bb.baseURL += "/" + id
  2347  	return bb
  2348  }
  2349  
  2350  // GroupPolicyConfigurationAssignmentsCollectionRequest is request for GroupPolicyConfigurationAssignment collection
  2351  type GroupPolicyConfigurationAssignmentsCollectionRequest struct{ BaseRequest }
  2352  
  2353  // Paging perfoms paging operation for GroupPolicyConfigurationAssignment collection
  2354  func (r *GroupPolicyConfigurationAssignmentsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]GroupPolicyConfigurationAssignment, error) {
  2355  	req, err := r.NewJSONRequest(method, path, obj)
  2356  	if err != nil {
  2357  		return nil, err
  2358  	}
  2359  	if ctx != nil {
  2360  		req = req.WithContext(ctx)
  2361  	}
  2362  	res, err := r.client.Do(req)
  2363  	if err != nil {
  2364  		return nil, err
  2365  	}
  2366  	var values []GroupPolicyConfigurationAssignment
  2367  	for {
  2368  		if res.StatusCode != http.StatusOK {
  2369  			b, _ := ioutil.ReadAll(res.Body)
  2370  			res.Body.Close()
  2371  			errRes := &ErrorResponse{Response: res}
  2372  			err := jsonx.Unmarshal(b, errRes)
  2373  			if err != nil {
  2374  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  2375  			}
  2376  			return nil, errRes
  2377  		}
  2378  		var (
  2379  			paging Paging
  2380  			value  []GroupPolicyConfigurationAssignment
  2381  		)
  2382  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  2383  		res.Body.Close()
  2384  		if err != nil {
  2385  			return nil, err
  2386  		}
  2387  		err = jsonx.Unmarshal(paging.Value, &value)
  2388  		if err != nil {
  2389  			return nil, err
  2390  		}
  2391  		values = append(values, value...)
  2392  		if n >= 0 {
  2393  			n--
  2394  		}
  2395  		if n == 0 || len(paging.NextLink) == 0 {
  2396  			return values, nil
  2397  		}
  2398  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  2399  		if ctx != nil {
  2400  			req = req.WithContext(ctx)
  2401  		}
  2402  		res, err = r.client.Do(req)
  2403  		if err != nil {
  2404  			return nil, err
  2405  		}
  2406  	}
  2407  }
  2408  
  2409  // GetN performs GET request for GroupPolicyConfigurationAssignment collection, max N pages
  2410  func (r *GroupPolicyConfigurationAssignmentsCollectionRequest) GetN(ctx context.Context, n int) ([]GroupPolicyConfigurationAssignment, error) {
  2411  	var query string
  2412  	if r.query != nil {
  2413  		query = "?" + r.query.Encode()
  2414  	}
  2415  	return r.Paging(ctx, "GET", query, nil, n)
  2416  }
  2417  
  2418  // Get performs GET request for GroupPolicyConfigurationAssignment collection
  2419  func (r *GroupPolicyConfigurationAssignmentsCollectionRequest) Get(ctx context.Context) ([]GroupPolicyConfigurationAssignment, error) {
  2420  	return r.GetN(ctx, 0)
  2421  }
  2422  
  2423  // Add performs POST request for GroupPolicyConfigurationAssignment collection
  2424  func (r *GroupPolicyConfigurationAssignmentsCollectionRequest) Add(ctx context.Context, reqObj *GroupPolicyConfigurationAssignment) (resObj *GroupPolicyConfigurationAssignment, err error) {
  2425  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  2426  	return
  2427  }
  2428  
  2429  // DefinitionValues returns request builder for GroupPolicyDefinitionValue collection
  2430  func (b *GroupPolicyConfigurationRequestBuilder) DefinitionValues() *GroupPolicyConfigurationDefinitionValuesCollectionRequestBuilder {
  2431  	bb := &GroupPolicyConfigurationDefinitionValuesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2432  	bb.baseURL += "/definitionValues"
  2433  	return bb
  2434  }
  2435  
  2436  // GroupPolicyConfigurationDefinitionValuesCollectionRequestBuilder is request builder for GroupPolicyDefinitionValue collection
  2437  type GroupPolicyConfigurationDefinitionValuesCollectionRequestBuilder struct{ BaseRequestBuilder }
  2438  
  2439  // Request returns request for GroupPolicyDefinitionValue collection
  2440  func (b *GroupPolicyConfigurationDefinitionValuesCollectionRequestBuilder) Request() *GroupPolicyConfigurationDefinitionValuesCollectionRequest {
  2441  	return &GroupPolicyConfigurationDefinitionValuesCollectionRequest{
  2442  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  2443  	}
  2444  }
  2445  
  2446  // ID returns request builder for GroupPolicyDefinitionValue item
  2447  func (b *GroupPolicyConfigurationDefinitionValuesCollectionRequestBuilder) ID(id string) *GroupPolicyDefinitionValueRequestBuilder {
  2448  	bb := &GroupPolicyDefinitionValueRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2449  	bb.baseURL += "/" + id
  2450  	return bb
  2451  }
  2452  
  2453  // GroupPolicyConfigurationDefinitionValuesCollectionRequest is request for GroupPolicyDefinitionValue collection
  2454  type GroupPolicyConfigurationDefinitionValuesCollectionRequest struct{ BaseRequest }
  2455  
  2456  // Paging perfoms paging operation for GroupPolicyDefinitionValue collection
  2457  func (r *GroupPolicyConfigurationDefinitionValuesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]GroupPolicyDefinitionValue, error) {
  2458  	req, err := r.NewJSONRequest(method, path, obj)
  2459  	if err != nil {
  2460  		return nil, err
  2461  	}
  2462  	if ctx != nil {
  2463  		req = req.WithContext(ctx)
  2464  	}
  2465  	res, err := r.client.Do(req)
  2466  	if err != nil {
  2467  		return nil, err
  2468  	}
  2469  	var values []GroupPolicyDefinitionValue
  2470  	for {
  2471  		if res.StatusCode != http.StatusOK {
  2472  			b, _ := ioutil.ReadAll(res.Body)
  2473  			res.Body.Close()
  2474  			errRes := &ErrorResponse{Response: res}
  2475  			err := jsonx.Unmarshal(b, errRes)
  2476  			if err != nil {
  2477  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  2478  			}
  2479  			return nil, errRes
  2480  		}
  2481  		var (
  2482  			paging Paging
  2483  			value  []GroupPolicyDefinitionValue
  2484  		)
  2485  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  2486  		res.Body.Close()
  2487  		if err != nil {
  2488  			return nil, err
  2489  		}
  2490  		err = jsonx.Unmarshal(paging.Value, &value)
  2491  		if err != nil {
  2492  			return nil, err
  2493  		}
  2494  		values = append(values, value...)
  2495  		if n >= 0 {
  2496  			n--
  2497  		}
  2498  		if n == 0 || len(paging.NextLink) == 0 {
  2499  			return values, nil
  2500  		}
  2501  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  2502  		if ctx != nil {
  2503  			req = req.WithContext(ctx)
  2504  		}
  2505  		res, err = r.client.Do(req)
  2506  		if err != nil {
  2507  			return nil, err
  2508  		}
  2509  	}
  2510  }
  2511  
  2512  // GetN performs GET request for GroupPolicyDefinitionValue collection, max N pages
  2513  func (r *GroupPolicyConfigurationDefinitionValuesCollectionRequest) GetN(ctx context.Context, n int) ([]GroupPolicyDefinitionValue, error) {
  2514  	var query string
  2515  	if r.query != nil {
  2516  		query = "?" + r.query.Encode()
  2517  	}
  2518  	return r.Paging(ctx, "GET", query, nil, n)
  2519  }
  2520  
  2521  // Get performs GET request for GroupPolicyDefinitionValue collection
  2522  func (r *GroupPolicyConfigurationDefinitionValuesCollectionRequest) Get(ctx context.Context) ([]GroupPolicyDefinitionValue, error) {
  2523  	return r.GetN(ctx, 0)
  2524  }
  2525  
  2526  // Add performs POST request for GroupPolicyDefinitionValue collection
  2527  func (r *GroupPolicyConfigurationDefinitionValuesCollectionRequest) Add(ctx context.Context, reqObj *GroupPolicyDefinitionValue) (resObj *GroupPolicyDefinitionValue, err error) {
  2528  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  2529  	return
  2530  }
  2531  
  2532  // DefinitionFile is navigation property
  2533  func (b *GroupPolicyDefinitionRequestBuilder) DefinitionFile() *GroupPolicyDefinitionFileRequestBuilder {
  2534  	bb := &GroupPolicyDefinitionFileRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2535  	bb.baseURL += "/definitionFile"
  2536  	return bb
  2537  }
  2538  
  2539  // Presentations returns request builder for GroupPolicyPresentation collection
  2540  func (b *GroupPolicyDefinitionRequestBuilder) Presentations() *GroupPolicyDefinitionPresentationsCollectionRequestBuilder {
  2541  	bb := &GroupPolicyDefinitionPresentationsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2542  	bb.baseURL += "/presentations"
  2543  	return bb
  2544  }
  2545  
  2546  // GroupPolicyDefinitionPresentationsCollectionRequestBuilder is request builder for GroupPolicyPresentation collection
  2547  type GroupPolicyDefinitionPresentationsCollectionRequestBuilder struct{ BaseRequestBuilder }
  2548  
  2549  // Request returns request for GroupPolicyPresentation collection
  2550  func (b *GroupPolicyDefinitionPresentationsCollectionRequestBuilder) Request() *GroupPolicyDefinitionPresentationsCollectionRequest {
  2551  	return &GroupPolicyDefinitionPresentationsCollectionRequest{
  2552  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  2553  	}
  2554  }
  2555  
  2556  // ID returns request builder for GroupPolicyPresentation item
  2557  func (b *GroupPolicyDefinitionPresentationsCollectionRequestBuilder) ID(id string) *GroupPolicyPresentationRequestBuilder {
  2558  	bb := &GroupPolicyPresentationRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2559  	bb.baseURL += "/" + id
  2560  	return bb
  2561  }
  2562  
  2563  // GroupPolicyDefinitionPresentationsCollectionRequest is request for GroupPolicyPresentation collection
  2564  type GroupPolicyDefinitionPresentationsCollectionRequest struct{ BaseRequest }
  2565  
  2566  // Paging perfoms paging operation for GroupPolicyPresentation collection
  2567  func (r *GroupPolicyDefinitionPresentationsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]GroupPolicyPresentation, error) {
  2568  	req, err := r.NewJSONRequest(method, path, obj)
  2569  	if err != nil {
  2570  		return nil, err
  2571  	}
  2572  	if ctx != nil {
  2573  		req = req.WithContext(ctx)
  2574  	}
  2575  	res, err := r.client.Do(req)
  2576  	if err != nil {
  2577  		return nil, err
  2578  	}
  2579  	var values []GroupPolicyPresentation
  2580  	for {
  2581  		if res.StatusCode != http.StatusOK {
  2582  			b, _ := ioutil.ReadAll(res.Body)
  2583  			res.Body.Close()
  2584  			errRes := &ErrorResponse{Response: res}
  2585  			err := jsonx.Unmarshal(b, errRes)
  2586  			if err != nil {
  2587  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  2588  			}
  2589  			return nil, errRes
  2590  		}
  2591  		var (
  2592  			paging Paging
  2593  			value  []GroupPolicyPresentation
  2594  		)
  2595  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  2596  		res.Body.Close()
  2597  		if err != nil {
  2598  			return nil, err
  2599  		}
  2600  		err = jsonx.Unmarshal(paging.Value, &value)
  2601  		if err != nil {
  2602  			return nil, err
  2603  		}
  2604  		values = append(values, value...)
  2605  		if n >= 0 {
  2606  			n--
  2607  		}
  2608  		if n == 0 || len(paging.NextLink) == 0 {
  2609  			return values, nil
  2610  		}
  2611  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  2612  		if ctx != nil {
  2613  			req = req.WithContext(ctx)
  2614  		}
  2615  		res, err = r.client.Do(req)
  2616  		if err != nil {
  2617  			return nil, err
  2618  		}
  2619  	}
  2620  }
  2621  
  2622  // GetN performs GET request for GroupPolicyPresentation collection, max N pages
  2623  func (r *GroupPolicyDefinitionPresentationsCollectionRequest) GetN(ctx context.Context, n int) ([]GroupPolicyPresentation, error) {
  2624  	var query string
  2625  	if r.query != nil {
  2626  		query = "?" + r.query.Encode()
  2627  	}
  2628  	return r.Paging(ctx, "GET", query, nil, n)
  2629  }
  2630  
  2631  // Get performs GET request for GroupPolicyPresentation collection
  2632  func (r *GroupPolicyDefinitionPresentationsCollectionRequest) Get(ctx context.Context) ([]GroupPolicyPresentation, error) {
  2633  	return r.GetN(ctx, 0)
  2634  }
  2635  
  2636  // Add performs POST request for GroupPolicyPresentation collection
  2637  func (r *GroupPolicyDefinitionPresentationsCollectionRequest) Add(ctx context.Context, reqObj *GroupPolicyPresentation) (resObj *GroupPolicyPresentation, err error) {
  2638  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  2639  	return
  2640  }
  2641  
  2642  // Definitions returns request builder for GroupPolicyDefinition collection
  2643  func (b *GroupPolicyDefinitionFileRequestBuilder) Definitions() *GroupPolicyDefinitionFileDefinitionsCollectionRequestBuilder {
  2644  	bb := &GroupPolicyDefinitionFileDefinitionsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2645  	bb.baseURL += "/definitions"
  2646  	return bb
  2647  }
  2648  
  2649  // GroupPolicyDefinitionFileDefinitionsCollectionRequestBuilder is request builder for GroupPolicyDefinition collection
  2650  type GroupPolicyDefinitionFileDefinitionsCollectionRequestBuilder struct{ BaseRequestBuilder }
  2651  
  2652  // Request returns request for GroupPolicyDefinition collection
  2653  func (b *GroupPolicyDefinitionFileDefinitionsCollectionRequestBuilder) Request() *GroupPolicyDefinitionFileDefinitionsCollectionRequest {
  2654  	return &GroupPolicyDefinitionFileDefinitionsCollectionRequest{
  2655  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  2656  	}
  2657  }
  2658  
  2659  // ID returns request builder for GroupPolicyDefinition item
  2660  func (b *GroupPolicyDefinitionFileDefinitionsCollectionRequestBuilder) ID(id string) *GroupPolicyDefinitionRequestBuilder {
  2661  	bb := &GroupPolicyDefinitionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2662  	bb.baseURL += "/" + id
  2663  	return bb
  2664  }
  2665  
  2666  // GroupPolicyDefinitionFileDefinitionsCollectionRequest is request for GroupPolicyDefinition collection
  2667  type GroupPolicyDefinitionFileDefinitionsCollectionRequest struct{ BaseRequest }
  2668  
  2669  // Paging perfoms paging operation for GroupPolicyDefinition collection
  2670  func (r *GroupPolicyDefinitionFileDefinitionsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]GroupPolicyDefinition, error) {
  2671  	req, err := r.NewJSONRequest(method, path, obj)
  2672  	if err != nil {
  2673  		return nil, err
  2674  	}
  2675  	if ctx != nil {
  2676  		req = req.WithContext(ctx)
  2677  	}
  2678  	res, err := r.client.Do(req)
  2679  	if err != nil {
  2680  		return nil, err
  2681  	}
  2682  	var values []GroupPolicyDefinition
  2683  	for {
  2684  		if res.StatusCode != http.StatusOK {
  2685  			b, _ := ioutil.ReadAll(res.Body)
  2686  			res.Body.Close()
  2687  			errRes := &ErrorResponse{Response: res}
  2688  			err := jsonx.Unmarshal(b, errRes)
  2689  			if err != nil {
  2690  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  2691  			}
  2692  			return nil, errRes
  2693  		}
  2694  		var (
  2695  			paging Paging
  2696  			value  []GroupPolicyDefinition
  2697  		)
  2698  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  2699  		res.Body.Close()
  2700  		if err != nil {
  2701  			return nil, err
  2702  		}
  2703  		err = jsonx.Unmarshal(paging.Value, &value)
  2704  		if err != nil {
  2705  			return nil, err
  2706  		}
  2707  		values = append(values, value...)
  2708  		if n >= 0 {
  2709  			n--
  2710  		}
  2711  		if n == 0 || len(paging.NextLink) == 0 {
  2712  			return values, nil
  2713  		}
  2714  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  2715  		if ctx != nil {
  2716  			req = req.WithContext(ctx)
  2717  		}
  2718  		res, err = r.client.Do(req)
  2719  		if err != nil {
  2720  			return nil, err
  2721  		}
  2722  	}
  2723  }
  2724  
  2725  // GetN performs GET request for GroupPolicyDefinition collection, max N pages
  2726  func (r *GroupPolicyDefinitionFileDefinitionsCollectionRequest) GetN(ctx context.Context, n int) ([]GroupPolicyDefinition, error) {
  2727  	var query string
  2728  	if r.query != nil {
  2729  		query = "?" + r.query.Encode()
  2730  	}
  2731  	return r.Paging(ctx, "GET", query, nil, n)
  2732  }
  2733  
  2734  // Get performs GET request for GroupPolicyDefinition collection
  2735  func (r *GroupPolicyDefinitionFileDefinitionsCollectionRequest) Get(ctx context.Context) ([]GroupPolicyDefinition, error) {
  2736  	return r.GetN(ctx, 0)
  2737  }
  2738  
  2739  // Add performs POST request for GroupPolicyDefinition collection
  2740  func (r *GroupPolicyDefinitionFileDefinitionsCollectionRequest) Add(ctx context.Context, reqObj *GroupPolicyDefinition) (resObj *GroupPolicyDefinition, err error) {
  2741  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  2742  	return
  2743  }
  2744  
  2745  // Definition is navigation property
  2746  func (b *GroupPolicyDefinitionValueRequestBuilder) Definition() *GroupPolicyDefinitionRequestBuilder {
  2747  	bb := &GroupPolicyDefinitionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2748  	bb.baseURL += "/definition"
  2749  	return bb
  2750  }
  2751  
  2752  // PresentationValues returns request builder for GroupPolicyPresentationValue collection
  2753  func (b *GroupPolicyDefinitionValueRequestBuilder) PresentationValues() *GroupPolicyDefinitionValuePresentationValuesCollectionRequestBuilder {
  2754  	bb := &GroupPolicyDefinitionValuePresentationValuesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2755  	bb.baseURL += "/presentationValues"
  2756  	return bb
  2757  }
  2758  
  2759  // GroupPolicyDefinitionValuePresentationValuesCollectionRequestBuilder is request builder for GroupPolicyPresentationValue collection
  2760  type GroupPolicyDefinitionValuePresentationValuesCollectionRequestBuilder struct{ BaseRequestBuilder }
  2761  
  2762  // Request returns request for GroupPolicyPresentationValue collection
  2763  func (b *GroupPolicyDefinitionValuePresentationValuesCollectionRequestBuilder) Request() *GroupPolicyDefinitionValuePresentationValuesCollectionRequest {
  2764  	return &GroupPolicyDefinitionValuePresentationValuesCollectionRequest{
  2765  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  2766  	}
  2767  }
  2768  
  2769  // ID returns request builder for GroupPolicyPresentationValue item
  2770  func (b *GroupPolicyDefinitionValuePresentationValuesCollectionRequestBuilder) ID(id string) *GroupPolicyPresentationValueRequestBuilder {
  2771  	bb := &GroupPolicyPresentationValueRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2772  	bb.baseURL += "/" + id
  2773  	return bb
  2774  }
  2775  
  2776  // GroupPolicyDefinitionValuePresentationValuesCollectionRequest is request for GroupPolicyPresentationValue collection
  2777  type GroupPolicyDefinitionValuePresentationValuesCollectionRequest struct{ BaseRequest }
  2778  
  2779  // Paging perfoms paging operation for GroupPolicyPresentationValue collection
  2780  func (r *GroupPolicyDefinitionValuePresentationValuesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]GroupPolicyPresentationValue, error) {
  2781  	req, err := r.NewJSONRequest(method, path, obj)
  2782  	if err != nil {
  2783  		return nil, err
  2784  	}
  2785  	if ctx != nil {
  2786  		req = req.WithContext(ctx)
  2787  	}
  2788  	res, err := r.client.Do(req)
  2789  	if err != nil {
  2790  		return nil, err
  2791  	}
  2792  	var values []GroupPolicyPresentationValue
  2793  	for {
  2794  		if res.StatusCode != http.StatusOK {
  2795  			b, _ := ioutil.ReadAll(res.Body)
  2796  			res.Body.Close()
  2797  			errRes := &ErrorResponse{Response: res}
  2798  			err := jsonx.Unmarshal(b, errRes)
  2799  			if err != nil {
  2800  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  2801  			}
  2802  			return nil, errRes
  2803  		}
  2804  		var (
  2805  			paging Paging
  2806  			value  []GroupPolicyPresentationValue
  2807  		)
  2808  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  2809  		res.Body.Close()
  2810  		if err != nil {
  2811  			return nil, err
  2812  		}
  2813  		err = jsonx.Unmarshal(paging.Value, &value)
  2814  		if err != nil {
  2815  			return nil, err
  2816  		}
  2817  		values = append(values, value...)
  2818  		if n >= 0 {
  2819  			n--
  2820  		}
  2821  		if n == 0 || len(paging.NextLink) == 0 {
  2822  			return values, nil
  2823  		}
  2824  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  2825  		if ctx != nil {
  2826  			req = req.WithContext(ctx)
  2827  		}
  2828  		res, err = r.client.Do(req)
  2829  		if err != nil {
  2830  			return nil, err
  2831  		}
  2832  	}
  2833  }
  2834  
  2835  // GetN performs GET request for GroupPolicyPresentationValue collection, max N pages
  2836  func (r *GroupPolicyDefinitionValuePresentationValuesCollectionRequest) GetN(ctx context.Context, n int) ([]GroupPolicyPresentationValue, error) {
  2837  	var query string
  2838  	if r.query != nil {
  2839  		query = "?" + r.query.Encode()
  2840  	}
  2841  	return r.Paging(ctx, "GET", query, nil, n)
  2842  }
  2843  
  2844  // Get performs GET request for GroupPolicyPresentationValue collection
  2845  func (r *GroupPolicyDefinitionValuePresentationValuesCollectionRequest) Get(ctx context.Context) ([]GroupPolicyPresentationValue, error) {
  2846  	return r.GetN(ctx, 0)
  2847  }
  2848  
  2849  // Add performs POST request for GroupPolicyPresentationValue collection
  2850  func (r *GroupPolicyDefinitionValuePresentationValuesCollectionRequest) Add(ctx context.Context, reqObj *GroupPolicyPresentationValue) (resObj *GroupPolicyPresentationValue, err error) {
  2851  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  2852  	return
  2853  }
  2854  
  2855  // GroupPolicySettingMappings returns request builder for GroupPolicySettingMapping collection
  2856  func (b *GroupPolicyMigrationReportRequestBuilder) GroupPolicySettingMappings() *GroupPolicyMigrationReportGroupPolicySettingMappingsCollectionRequestBuilder {
  2857  	bb := &GroupPolicyMigrationReportGroupPolicySettingMappingsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2858  	bb.baseURL += "/groupPolicySettingMappings"
  2859  	return bb
  2860  }
  2861  
  2862  // GroupPolicyMigrationReportGroupPolicySettingMappingsCollectionRequestBuilder is request builder for GroupPolicySettingMapping collection
  2863  type GroupPolicyMigrationReportGroupPolicySettingMappingsCollectionRequestBuilder struct{ BaseRequestBuilder }
  2864  
  2865  // Request returns request for GroupPolicySettingMapping collection
  2866  func (b *GroupPolicyMigrationReportGroupPolicySettingMappingsCollectionRequestBuilder) Request() *GroupPolicyMigrationReportGroupPolicySettingMappingsCollectionRequest {
  2867  	return &GroupPolicyMigrationReportGroupPolicySettingMappingsCollectionRequest{
  2868  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  2869  	}
  2870  }
  2871  
  2872  // ID returns request builder for GroupPolicySettingMapping item
  2873  func (b *GroupPolicyMigrationReportGroupPolicySettingMappingsCollectionRequestBuilder) ID(id string) *GroupPolicySettingMappingRequestBuilder {
  2874  	bb := &GroupPolicySettingMappingRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2875  	bb.baseURL += "/" + id
  2876  	return bb
  2877  }
  2878  
  2879  // GroupPolicyMigrationReportGroupPolicySettingMappingsCollectionRequest is request for GroupPolicySettingMapping collection
  2880  type GroupPolicyMigrationReportGroupPolicySettingMappingsCollectionRequest struct{ BaseRequest }
  2881  
  2882  // Paging perfoms paging operation for GroupPolicySettingMapping collection
  2883  func (r *GroupPolicyMigrationReportGroupPolicySettingMappingsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]GroupPolicySettingMapping, error) {
  2884  	req, err := r.NewJSONRequest(method, path, obj)
  2885  	if err != nil {
  2886  		return nil, err
  2887  	}
  2888  	if ctx != nil {
  2889  		req = req.WithContext(ctx)
  2890  	}
  2891  	res, err := r.client.Do(req)
  2892  	if err != nil {
  2893  		return nil, err
  2894  	}
  2895  	var values []GroupPolicySettingMapping
  2896  	for {
  2897  		if res.StatusCode != http.StatusOK {
  2898  			b, _ := ioutil.ReadAll(res.Body)
  2899  			res.Body.Close()
  2900  			errRes := &ErrorResponse{Response: res}
  2901  			err := jsonx.Unmarshal(b, errRes)
  2902  			if err != nil {
  2903  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  2904  			}
  2905  			return nil, errRes
  2906  		}
  2907  		var (
  2908  			paging Paging
  2909  			value  []GroupPolicySettingMapping
  2910  		)
  2911  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  2912  		res.Body.Close()
  2913  		if err != nil {
  2914  			return nil, err
  2915  		}
  2916  		err = jsonx.Unmarshal(paging.Value, &value)
  2917  		if err != nil {
  2918  			return nil, err
  2919  		}
  2920  		values = append(values, value...)
  2921  		if n >= 0 {
  2922  			n--
  2923  		}
  2924  		if n == 0 || len(paging.NextLink) == 0 {
  2925  			return values, nil
  2926  		}
  2927  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  2928  		if ctx != nil {
  2929  			req = req.WithContext(ctx)
  2930  		}
  2931  		res, err = r.client.Do(req)
  2932  		if err != nil {
  2933  			return nil, err
  2934  		}
  2935  	}
  2936  }
  2937  
  2938  // GetN performs GET request for GroupPolicySettingMapping collection, max N pages
  2939  func (r *GroupPolicyMigrationReportGroupPolicySettingMappingsCollectionRequest) GetN(ctx context.Context, n int) ([]GroupPolicySettingMapping, error) {
  2940  	var query string
  2941  	if r.query != nil {
  2942  		query = "?" + r.query.Encode()
  2943  	}
  2944  	return r.Paging(ctx, "GET", query, nil, n)
  2945  }
  2946  
  2947  // Get performs GET request for GroupPolicySettingMapping collection
  2948  func (r *GroupPolicyMigrationReportGroupPolicySettingMappingsCollectionRequest) Get(ctx context.Context) ([]GroupPolicySettingMapping, error) {
  2949  	return r.GetN(ctx, 0)
  2950  }
  2951  
  2952  // Add performs POST request for GroupPolicySettingMapping collection
  2953  func (r *GroupPolicyMigrationReportGroupPolicySettingMappingsCollectionRequest) Add(ctx context.Context, reqObj *GroupPolicySettingMapping) (resObj *GroupPolicySettingMapping, err error) {
  2954  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  2955  	return
  2956  }
  2957  
  2958  // Definition is navigation property
  2959  func (b *GroupPolicyPresentationRequestBuilder) Definition() *GroupPolicyDefinitionRequestBuilder {
  2960  	bb := &GroupPolicyDefinitionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2961  	bb.baseURL += "/definition"
  2962  	return bb
  2963  }
  2964  
  2965  // DefinitionValue is navigation property
  2966  func (b *GroupPolicyPresentationValueRequestBuilder) DefinitionValue() *GroupPolicyDefinitionValueRequestBuilder {
  2967  	bb := &GroupPolicyDefinitionValueRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2968  	bb.baseURL += "/definitionValue"
  2969  	return bb
  2970  }
  2971  
  2972  // Presentation is navigation property
  2973  func (b *GroupPolicyPresentationValueRequestBuilder) Presentation() *GroupPolicyPresentationRequestBuilder {
  2974  	bb := &GroupPolicyPresentationRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2975  	bb.baseURL += "/presentation"
  2976  	return bb
  2977  }