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