github.com/yaegashi/msgraph.go@v0.1.4/beta/ActionPrivileged.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  // PrivilegedSignupStatusCollectionSignUpRequestParameter undocumented
    15  type PrivilegedSignupStatusCollectionSignUpRequestParameter struct {
    16  }
    17  
    18  // PrivilegedSignupStatusCollectionCompleteSetupRequestParameter undocumented
    19  type PrivilegedSignupStatusCollectionCompleteSetupRequestParameter struct {
    20  	// TenantSetupInfo undocumented
    21  	TenantSetupInfo *TenantSetupInfo `json:"tenantSetupInfo,omitempty"`
    22  }
    23  
    24  // PrivilegedRoleSelfActivateRequestParameter undocumented
    25  type PrivilegedRoleSelfActivateRequestParameter struct {
    26  	// Reason undocumented
    27  	Reason *string `json:"reason,omitempty"`
    28  	// Duration undocumented
    29  	Duration *string `json:"duration,omitempty"`
    30  	// TicketNumber undocumented
    31  	TicketNumber *string `json:"ticketNumber,omitempty"`
    32  	// TicketSystem undocumented
    33  	TicketSystem *string `json:"ticketSystem,omitempty"`
    34  }
    35  
    36  // PrivilegedRoleSelfDeactivateRequestParameter undocumented
    37  type PrivilegedRoleSelfDeactivateRequestParameter struct {
    38  }
    39  
    40  // PrivilegedRoleAssignmentMakePermanentRequestParameter undocumented
    41  type PrivilegedRoleAssignmentMakePermanentRequestParameter struct {
    42  	// Reason undocumented
    43  	Reason *string `json:"reason,omitempty"`
    44  	// TicketNumber undocumented
    45  	TicketNumber *string `json:"ticketNumber,omitempty"`
    46  	// TicketSystem undocumented
    47  	TicketSystem *string `json:"ticketSystem,omitempty"`
    48  }
    49  
    50  // PrivilegedRoleAssignmentMakeEligibleRequestParameter undocumented
    51  type PrivilegedRoleAssignmentMakeEligibleRequestParameter struct {
    52  }
    53  
    54  // PrivilegedRoleAssignmentRequestObjectCancelRequestParameter undocumented
    55  type PrivilegedRoleAssignmentRequestObjectCancelRequestParameter struct {
    56  }
    57  
    58  // Resources returns request builder for GovernanceResource collection
    59  func (b *PrivilegedAccessRequestBuilder) Resources() *PrivilegedAccessResourcesCollectionRequestBuilder {
    60  	bb := &PrivilegedAccessResourcesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
    61  	bb.baseURL += "/resources"
    62  	return bb
    63  }
    64  
    65  // PrivilegedAccessResourcesCollectionRequestBuilder is request builder for GovernanceResource collection
    66  type PrivilegedAccessResourcesCollectionRequestBuilder struct{ BaseRequestBuilder }
    67  
    68  // Request returns request for GovernanceResource collection
    69  func (b *PrivilegedAccessResourcesCollectionRequestBuilder) Request() *PrivilegedAccessResourcesCollectionRequest {
    70  	return &PrivilegedAccessResourcesCollectionRequest{
    71  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
    72  	}
    73  }
    74  
    75  // ID returns request builder for GovernanceResource item
    76  func (b *PrivilegedAccessResourcesCollectionRequestBuilder) ID(id string) *GovernanceResourceRequestBuilder {
    77  	bb := &GovernanceResourceRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
    78  	bb.baseURL += "/" + id
    79  	return bb
    80  }
    81  
    82  // PrivilegedAccessResourcesCollectionRequest is request for GovernanceResource collection
    83  type PrivilegedAccessResourcesCollectionRequest struct{ BaseRequest }
    84  
    85  // Paging perfoms paging operation for GovernanceResource collection
    86  func (r *PrivilegedAccessResourcesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]GovernanceResource, error) {
    87  	req, err := r.NewJSONRequest(method, path, obj)
    88  	if err != nil {
    89  		return nil, err
    90  	}
    91  	if ctx != nil {
    92  		req = req.WithContext(ctx)
    93  	}
    94  	res, err := r.client.Do(req)
    95  	if err != nil {
    96  		return nil, err
    97  	}
    98  	var values []GovernanceResource
    99  	for {
   100  		if res.StatusCode != http.StatusOK {
   101  			b, _ := ioutil.ReadAll(res.Body)
   102  			res.Body.Close()
   103  			errRes := &ErrorResponse{Response: res}
   104  			err := jsonx.Unmarshal(b, errRes)
   105  			if err != nil {
   106  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   107  			}
   108  			return nil, errRes
   109  		}
   110  		var (
   111  			paging Paging
   112  			value  []GovernanceResource
   113  		)
   114  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   115  		res.Body.Close()
   116  		if err != nil {
   117  			return nil, err
   118  		}
   119  		err = jsonx.Unmarshal(paging.Value, &value)
   120  		if err != nil {
   121  			return nil, err
   122  		}
   123  		values = append(values, value...)
   124  		if n >= 0 {
   125  			n--
   126  		}
   127  		if n == 0 || len(paging.NextLink) == 0 {
   128  			return values, nil
   129  		}
   130  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   131  		if ctx != nil {
   132  			req = req.WithContext(ctx)
   133  		}
   134  		res, err = r.client.Do(req)
   135  		if err != nil {
   136  			return nil, err
   137  		}
   138  	}
   139  }
   140  
   141  // GetN performs GET request for GovernanceResource collection, max N pages
   142  func (r *PrivilegedAccessResourcesCollectionRequest) GetN(ctx context.Context, n int) ([]GovernanceResource, error) {
   143  	var query string
   144  	if r.query != nil {
   145  		query = "?" + r.query.Encode()
   146  	}
   147  	return r.Paging(ctx, "GET", query, nil, n)
   148  }
   149  
   150  // Get performs GET request for GovernanceResource collection
   151  func (r *PrivilegedAccessResourcesCollectionRequest) Get(ctx context.Context) ([]GovernanceResource, error) {
   152  	return r.GetN(ctx, 0)
   153  }
   154  
   155  // Add performs POST request for GovernanceResource collection
   156  func (r *PrivilegedAccessResourcesCollectionRequest) Add(ctx context.Context, reqObj *GovernanceResource) (resObj *GovernanceResource, err error) {
   157  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   158  	return
   159  }
   160  
   161  // RoleAssignmentRequests returns request builder for GovernanceRoleAssignmentRequestObject collection
   162  func (b *PrivilegedAccessRequestBuilder) RoleAssignmentRequests() *PrivilegedAccessRoleAssignmentRequestsCollectionRequestBuilder {
   163  	bb := &PrivilegedAccessRoleAssignmentRequestsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   164  	bb.baseURL += "/roleAssignmentRequests"
   165  	return bb
   166  }
   167  
   168  // PrivilegedAccessRoleAssignmentRequestsCollectionRequestBuilder is request builder for GovernanceRoleAssignmentRequestObject collection
   169  type PrivilegedAccessRoleAssignmentRequestsCollectionRequestBuilder struct{ BaseRequestBuilder }
   170  
   171  // Request returns request for GovernanceRoleAssignmentRequestObject collection
   172  func (b *PrivilegedAccessRoleAssignmentRequestsCollectionRequestBuilder) Request() *PrivilegedAccessRoleAssignmentRequestsCollectionRequest {
   173  	return &PrivilegedAccessRoleAssignmentRequestsCollectionRequest{
   174  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   175  	}
   176  }
   177  
   178  // ID returns request builder for GovernanceRoleAssignmentRequestObject item
   179  func (b *PrivilegedAccessRoleAssignmentRequestsCollectionRequestBuilder) ID(id string) *GovernanceRoleAssignmentRequestObjectRequestBuilder {
   180  	bb := &GovernanceRoleAssignmentRequestObjectRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   181  	bb.baseURL += "/" + id
   182  	return bb
   183  }
   184  
   185  // PrivilegedAccessRoleAssignmentRequestsCollectionRequest is request for GovernanceRoleAssignmentRequestObject collection
   186  type PrivilegedAccessRoleAssignmentRequestsCollectionRequest struct{ BaseRequest }
   187  
   188  // Paging perfoms paging operation for GovernanceRoleAssignmentRequestObject collection
   189  func (r *PrivilegedAccessRoleAssignmentRequestsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]GovernanceRoleAssignmentRequestObject, error) {
   190  	req, err := r.NewJSONRequest(method, path, obj)
   191  	if err != nil {
   192  		return nil, err
   193  	}
   194  	if ctx != nil {
   195  		req = req.WithContext(ctx)
   196  	}
   197  	res, err := r.client.Do(req)
   198  	if err != nil {
   199  		return nil, err
   200  	}
   201  	var values []GovernanceRoleAssignmentRequestObject
   202  	for {
   203  		if res.StatusCode != http.StatusOK {
   204  			b, _ := ioutil.ReadAll(res.Body)
   205  			res.Body.Close()
   206  			errRes := &ErrorResponse{Response: res}
   207  			err := jsonx.Unmarshal(b, errRes)
   208  			if err != nil {
   209  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   210  			}
   211  			return nil, errRes
   212  		}
   213  		var (
   214  			paging Paging
   215  			value  []GovernanceRoleAssignmentRequestObject
   216  		)
   217  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   218  		res.Body.Close()
   219  		if err != nil {
   220  			return nil, err
   221  		}
   222  		err = jsonx.Unmarshal(paging.Value, &value)
   223  		if err != nil {
   224  			return nil, err
   225  		}
   226  		values = append(values, value...)
   227  		if n >= 0 {
   228  			n--
   229  		}
   230  		if n == 0 || len(paging.NextLink) == 0 {
   231  			return values, nil
   232  		}
   233  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   234  		if ctx != nil {
   235  			req = req.WithContext(ctx)
   236  		}
   237  		res, err = r.client.Do(req)
   238  		if err != nil {
   239  			return nil, err
   240  		}
   241  	}
   242  }
   243  
   244  // GetN performs GET request for GovernanceRoleAssignmentRequestObject collection, max N pages
   245  func (r *PrivilegedAccessRoleAssignmentRequestsCollectionRequest) GetN(ctx context.Context, n int) ([]GovernanceRoleAssignmentRequestObject, error) {
   246  	var query string
   247  	if r.query != nil {
   248  		query = "?" + r.query.Encode()
   249  	}
   250  	return r.Paging(ctx, "GET", query, nil, n)
   251  }
   252  
   253  // Get performs GET request for GovernanceRoleAssignmentRequestObject collection
   254  func (r *PrivilegedAccessRoleAssignmentRequestsCollectionRequest) Get(ctx context.Context) ([]GovernanceRoleAssignmentRequestObject, error) {
   255  	return r.GetN(ctx, 0)
   256  }
   257  
   258  // Add performs POST request for GovernanceRoleAssignmentRequestObject collection
   259  func (r *PrivilegedAccessRoleAssignmentRequestsCollectionRequest) Add(ctx context.Context, reqObj *GovernanceRoleAssignmentRequestObject) (resObj *GovernanceRoleAssignmentRequestObject, err error) {
   260  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   261  	return
   262  }
   263  
   264  // RoleAssignments returns request builder for GovernanceRoleAssignment collection
   265  func (b *PrivilegedAccessRequestBuilder) RoleAssignments() *PrivilegedAccessRoleAssignmentsCollectionRequestBuilder {
   266  	bb := &PrivilegedAccessRoleAssignmentsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   267  	bb.baseURL += "/roleAssignments"
   268  	return bb
   269  }
   270  
   271  // PrivilegedAccessRoleAssignmentsCollectionRequestBuilder is request builder for GovernanceRoleAssignment collection
   272  type PrivilegedAccessRoleAssignmentsCollectionRequestBuilder struct{ BaseRequestBuilder }
   273  
   274  // Request returns request for GovernanceRoleAssignment collection
   275  func (b *PrivilegedAccessRoleAssignmentsCollectionRequestBuilder) Request() *PrivilegedAccessRoleAssignmentsCollectionRequest {
   276  	return &PrivilegedAccessRoleAssignmentsCollectionRequest{
   277  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   278  	}
   279  }
   280  
   281  // ID returns request builder for GovernanceRoleAssignment item
   282  func (b *PrivilegedAccessRoleAssignmentsCollectionRequestBuilder) ID(id string) *GovernanceRoleAssignmentRequestBuilder {
   283  	bb := &GovernanceRoleAssignmentRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   284  	bb.baseURL += "/" + id
   285  	return bb
   286  }
   287  
   288  // PrivilegedAccessRoleAssignmentsCollectionRequest is request for GovernanceRoleAssignment collection
   289  type PrivilegedAccessRoleAssignmentsCollectionRequest struct{ BaseRequest }
   290  
   291  // Paging perfoms paging operation for GovernanceRoleAssignment collection
   292  func (r *PrivilegedAccessRoleAssignmentsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]GovernanceRoleAssignment, error) {
   293  	req, err := r.NewJSONRequest(method, path, obj)
   294  	if err != nil {
   295  		return nil, err
   296  	}
   297  	if ctx != nil {
   298  		req = req.WithContext(ctx)
   299  	}
   300  	res, err := r.client.Do(req)
   301  	if err != nil {
   302  		return nil, err
   303  	}
   304  	var values []GovernanceRoleAssignment
   305  	for {
   306  		if res.StatusCode != http.StatusOK {
   307  			b, _ := ioutil.ReadAll(res.Body)
   308  			res.Body.Close()
   309  			errRes := &ErrorResponse{Response: res}
   310  			err := jsonx.Unmarshal(b, errRes)
   311  			if err != nil {
   312  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   313  			}
   314  			return nil, errRes
   315  		}
   316  		var (
   317  			paging Paging
   318  			value  []GovernanceRoleAssignment
   319  		)
   320  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   321  		res.Body.Close()
   322  		if err != nil {
   323  			return nil, err
   324  		}
   325  		err = jsonx.Unmarshal(paging.Value, &value)
   326  		if err != nil {
   327  			return nil, err
   328  		}
   329  		values = append(values, value...)
   330  		if n >= 0 {
   331  			n--
   332  		}
   333  		if n == 0 || len(paging.NextLink) == 0 {
   334  			return values, nil
   335  		}
   336  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   337  		if ctx != nil {
   338  			req = req.WithContext(ctx)
   339  		}
   340  		res, err = r.client.Do(req)
   341  		if err != nil {
   342  			return nil, err
   343  		}
   344  	}
   345  }
   346  
   347  // GetN performs GET request for GovernanceRoleAssignment collection, max N pages
   348  func (r *PrivilegedAccessRoleAssignmentsCollectionRequest) GetN(ctx context.Context, n int) ([]GovernanceRoleAssignment, error) {
   349  	var query string
   350  	if r.query != nil {
   351  		query = "?" + r.query.Encode()
   352  	}
   353  	return r.Paging(ctx, "GET", query, nil, n)
   354  }
   355  
   356  // Get performs GET request for GovernanceRoleAssignment collection
   357  func (r *PrivilegedAccessRoleAssignmentsCollectionRequest) Get(ctx context.Context) ([]GovernanceRoleAssignment, error) {
   358  	return r.GetN(ctx, 0)
   359  }
   360  
   361  // Add performs POST request for GovernanceRoleAssignment collection
   362  func (r *PrivilegedAccessRoleAssignmentsCollectionRequest) Add(ctx context.Context, reqObj *GovernanceRoleAssignment) (resObj *GovernanceRoleAssignment, err error) {
   363  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   364  	return
   365  }
   366  
   367  // RoleDefinitions returns request builder for GovernanceRoleDefinition collection
   368  func (b *PrivilegedAccessRequestBuilder) RoleDefinitions() *PrivilegedAccessRoleDefinitionsCollectionRequestBuilder {
   369  	bb := &PrivilegedAccessRoleDefinitionsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   370  	bb.baseURL += "/roleDefinitions"
   371  	return bb
   372  }
   373  
   374  // PrivilegedAccessRoleDefinitionsCollectionRequestBuilder is request builder for GovernanceRoleDefinition collection
   375  type PrivilegedAccessRoleDefinitionsCollectionRequestBuilder struct{ BaseRequestBuilder }
   376  
   377  // Request returns request for GovernanceRoleDefinition collection
   378  func (b *PrivilegedAccessRoleDefinitionsCollectionRequestBuilder) Request() *PrivilegedAccessRoleDefinitionsCollectionRequest {
   379  	return &PrivilegedAccessRoleDefinitionsCollectionRequest{
   380  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   381  	}
   382  }
   383  
   384  // ID returns request builder for GovernanceRoleDefinition item
   385  func (b *PrivilegedAccessRoleDefinitionsCollectionRequestBuilder) ID(id string) *GovernanceRoleDefinitionRequestBuilder {
   386  	bb := &GovernanceRoleDefinitionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   387  	bb.baseURL += "/" + id
   388  	return bb
   389  }
   390  
   391  // PrivilegedAccessRoleDefinitionsCollectionRequest is request for GovernanceRoleDefinition collection
   392  type PrivilegedAccessRoleDefinitionsCollectionRequest struct{ BaseRequest }
   393  
   394  // Paging perfoms paging operation for GovernanceRoleDefinition collection
   395  func (r *PrivilegedAccessRoleDefinitionsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]GovernanceRoleDefinition, error) {
   396  	req, err := r.NewJSONRequest(method, path, obj)
   397  	if err != nil {
   398  		return nil, err
   399  	}
   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  	var values []GovernanceRoleDefinition
   408  	for {
   409  		if res.StatusCode != http.StatusOK {
   410  			b, _ := ioutil.ReadAll(res.Body)
   411  			res.Body.Close()
   412  			errRes := &ErrorResponse{Response: res}
   413  			err := jsonx.Unmarshal(b, errRes)
   414  			if err != nil {
   415  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   416  			}
   417  			return nil, errRes
   418  		}
   419  		var (
   420  			paging Paging
   421  			value  []GovernanceRoleDefinition
   422  		)
   423  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   424  		res.Body.Close()
   425  		if err != nil {
   426  			return nil, err
   427  		}
   428  		err = jsonx.Unmarshal(paging.Value, &value)
   429  		if err != nil {
   430  			return nil, err
   431  		}
   432  		values = append(values, value...)
   433  		if n >= 0 {
   434  			n--
   435  		}
   436  		if n == 0 || len(paging.NextLink) == 0 {
   437  			return values, nil
   438  		}
   439  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   440  		if ctx != nil {
   441  			req = req.WithContext(ctx)
   442  		}
   443  		res, err = r.client.Do(req)
   444  		if err != nil {
   445  			return nil, err
   446  		}
   447  	}
   448  }
   449  
   450  // GetN performs GET request for GovernanceRoleDefinition collection, max N pages
   451  func (r *PrivilegedAccessRoleDefinitionsCollectionRequest) GetN(ctx context.Context, n int) ([]GovernanceRoleDefinition, error) {
   452  	var query string
   453  	if r.query != nil {
   454  		query = "?" + r.query.Encode()
   455  	}
   456  	return r.Paging(ctx, "GET", query, nil, n)
   457  }
   458  
   459  // Get performs GET request for GovernanceRoleDefinition collection
   460  func (r *PrivilegedAccessRoleDefinitionsCollectionRequest) Get(ctx context.Context) ([]GovernanceRoleDefinition, error) {
   461  	return r.GetN(ctx, 0)
   462  }
   463  
   464  // Add performs POST request for GovernanceRoleDefinition collection
   465  func (r *PrivilegedAccessRoleDefinitionsCollectionRequest) Add(ctx context.Context, reqObj *GovernanceRoleDefinition) (resObj *GovernanceRoleDefinition, err error) {
   466  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   467  	return
   468  }
   469  
   470  // RoleSettings returns request builder for GovernanceRoleSetting collection
   471  func (b *PrivilegedAccessRequestBuilder) RoleSettings() *PrivilegedAccessRoleSettingsCollectionRequestBuilder {
   472  	bb := &PrivilegedAccessRoleSettingsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   473  	bb.baseURL += "/roleSettings"
   474  	return bb
   475  }
   476  
   477  // PrivilegedAccessRoleSettingsCollectionRequestBuilder is request builder for GovernanceRoleSetting collection
   478  type PrivilegedAccessRoleSettingsCollectionRequestBuilder struct{ BaseRequestBuilder }
   479  
   480  // Request returns request for GovernanceRoleSetting collection
   481  func (b *PrivilegedAccessRoleSettingsCollectionRequestBuilder) Request() *PrivilegedAccessRoleSettingsCollectionRequest {
   482  	return &PrivilegedAccessRoleSettingsCollectionRequest{
   483  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   484  	}
   485  }
   486  
   487  // ID returns request builder for GovernanceRoleSetting item
   488  func (b *PrivilegedAccessRoleSettingsCollectionRequestBuilder) ID(id string) *GovernanceRoleSettingRequestBuilder {
   489  	bb := &GovernanceRoleSettingRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   490  	bb.baseURL += "/" + id
   491  	return bb
   492  }
   493  
   494  // PrivilegedAccessRoleSettingsCollectionRequest is request for GovernanceRoleSetting collection
   495  type PrivilegedAccessRoleSettingsCollectionRequest struct{ BaseRequest }
   496  
   497  // Paging perfoms paging operation for GovernanceRoleSetting collection
   498  func (r *PrivilegedAccessRoleSettingsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]GovernanceRoleSetting, error) {
   499  	req, err := r.NewJSONRequest(method, path, obj)
   500  	if err != nil {
   501  		return nil, err
   502  	}
   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  	var values []GovernanceRoleSetting
   511  	for {
   512  		if res.StatusCode != http.StatusOK {
   513  			b, _ := ioutil.ReadAll(res.Body)
   514  			res.Body.Close()
   515  			errRes := &ErrorResponse{Response: res}
   516  			err := jsonx.Unmarshal(b, errRes)
   517  			if err != nil {
   518  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   519  			}
   520  			return nil, errRes
   521  		}
   522  		var (
   523  			paging Paging
   524  			value  []GovernanceRoleSetting
   525  		)
   526  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   527  		res.Body.Close()
   528  		if err != nil {
   529  			return nil, err
   530  		}
   531  		err = jsonx.Unmarshal(paging.Value, &value)
   532  		if err != nil {
   533  			return nil, err
   534  		}
   535  		values = append(values, value...)
   536  		if n >= 0 {
   537  			n--
   538  		}
   539  		if n == 0 || len(paging.NextLink) == 0 {
   540  			return values, nil
   541  		}
   542  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   543  		if ctx != nil {
   544  			req = req.WithContext(ctx)
   545  		}
   546  		res, err = r.client.Do(req)
   547  		if err != nil {
   548  			return nil, err
   549  		}
   550  	}
   551  }
   552  
   553  // GetN performs GET request for GovernanceRoleSetting collection, max N pages
   554  func (r *PrivilegedAccessRoleSettingsCollectionRequest) GetN(ctx context.Context, n int) ([]GovernanceRoleSetting, error) {
   555  	var query string
   556  	if r.query != nil {
   557  		query = "?" + r.query.Encode()
   558  	}
   559  	return r.Paging(ctx, "GET", query, nil, n)
   560  }
   561  
   562  // Get performs GET request for GovernanceRoleSetting collection
   563  func (r *PrivilegedAccessRoleSettingsCollectionRequest) Get(ctx context.Context) ([]GovernanceRoleSetting, error) {
   564  	return r.GetN(ctx, 0)
   565  }
   566  
   567  // Add performs POST request for GovernanceRoleSetting collection
   568  func (r *PrivilegedAccessRoleSettingsCollectionRequest) Add(ctx context.Context, reqObj *GovernanceRoleSetting) (resObj *GovernanceRoleSetting, err error) {
   569  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   570  	return
   571  }
   572  
   573  // RequestNavigation is navigation property
   574  func (b *PrivilegedApprovalRequestBuilder) RequestNavigation() *PrivilegedRoleAssignmentRequestObjectRequestBuilder {
   575  	bb := &PrivilegedRoleAssignmentRequestObjectRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   576  	bb.baseURL += "/request"
   577  	return bb
   578  }
   579  
   580  // RoleInfo is navigation property
   581  func (b *PrivilegedApprovalRequestBuilder) RoleInfo() *PrivilegedRoleRequestBuilder {
   582  	bb := &PrivilegedRoleRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   583  	bb.baseURL += "/roleInfo"
   584  	return bb
   585  }
   586  
   587  // Assignments returns request builder for PrivilegedRoleAssignment collection
   588  func (b *PrivilegedRoleRequestBuilder) Assignments() *PrivilegedRoleAssignmentsCollectionRequestBuilder {
   589  	bb := &PrivilegedRoleAssignmentsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   590  	bb.baseURL += "/assignments"
   591  	return bb
   592  }
   593  
   594  // PrivilegedRoleAssignmentsCollectionRequestBuilder is request builder for PrivilegedRoleAssignment collection
   595  type PrivilegedRoleAssignmentsCollectionRequestBuilder struct{ BaseRequestBuilder }
   596  
   597  // Request returns request for PrivilegedRoleAssignment collection
   598  func (b *PrivilegedRoleAssignmentsCollectionRequestBuilder) Request() *PrivilegedRoleAssignmentsCollectionRequest {
   599  	return &PrivilegedRoleAssignmentsCollectionRequest{
   600  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   601  	}
   602  }
   603  
   604  // ID returns request builder for PrivilegedRoleAssignment item
   605  func (b *PrivilegedRoleAssignmentsCollectionRequestBuilder) ID(id string) *PrivilegedRoleAssignmentRequestBuilder {
   606  	bb := &PrivilegedRoleAssignmentRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   607  	bb.baseURL += "/" + id
   608  	return bb
   609  }
   610  
   611  // PrivilegedRoleAssignmentsCollectionRequest is request for PrivilegedRoleAssignment collection
   612  type PrivilegedRoleAssignmentsCollectionRequest struct{ BaseRequest }
   613  
   614  // Paging perfoms paging operation for PrivilegedRoleAssignment collection
   615  func (r *PrivilegedRoleAssignmentsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]PrivilegedRoleAssignment, error) {
   616  	req, err := r.NewJSONRequest(method, path, obj)
   617  	if err != nil {
   618  		return nil, err
   619  	}
   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  	var values []PrivilegedRoleAssignment
   628  	for {
   629  		if res.StatusCode != http.StatusOK {
   630  			b, _ := ioutil.ReadAll(res.Body)
   631  			res.Body.Close()
   632  			errRes := &ErrorResponse{Response: res}
   633  			err := jsonx.Unmarshal(b, errRes)
   634  			if err != nil {
   635  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   636  			}
   637  			return nil, errRes
   638  		}
   639  		var (
   640  			paging Paging
   641  			value  []PrivilegedRoleAssignment
   642  		)
   643  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   644  		res.Body.Close()
   645  		if err != nil {
   646  			return nil, err
   647  		}
   648  		err = jsonx.Unmarshal(paging.Value, &value)
   649  		if err != nil {
   650  			return nil, err
   651  		}
   652  		values = append(values, value...)
   653  		if n >= 0 {
   654  			n--
   655  		}
   656  		if n == 0 || len(paging.NextLink) == 0 {
   657  			return values, nil
   658  		}
   659  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   660  		if ctx != nil {
   661  			req = req.WithContext(ctx)
   662  		}
   663  		res, err = r.client.Do(req)
   664  		if err != nil {
   665  			return nil, err
   666  		}
   667  	}
   668  }
   669  
   670  // GetN performs GET request for PrivilegedRoleAssignment collection, max N pages
   671  func (r *PrivilegedRoleAssignmentsCollectionRequest) GetN(ctx context.Context, n int) ([]PrivilegedRoleAssignment, error) {
   672  	var query string
   673  	if r.query != nil {
   674  		query = "?" + r.query.Encode()
   675  	}
   676  	return r.Paging(ctx, "GET", query, nil, n)
   677  }
   678  
   679  // Get performs GET request for PrivilegedRoleAssignment collection
   680  func (r *PrivilegedRoleAssignmentsCollectionRequest) Get(ctx context.Context) ([]PrivilegedRoleAssignment, error) {
   681  	return r.GetN(ctx, 0)
   682  }
   683  
   684  // Add performs POST request for PrivilegedRoleAssignment collection
   685  func (r *PrivilegedRoleAssignmentsCollectionRequest) Add(ctx context.Context, reqObj *PrivilegedRoleAssignment) (resObj *PrivilegedRoleAssignment, err error) {
   686  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   687  	return
   688  }
   689  
   690  // Settings is navigation property
   691  func (b *PrivilegedRoleRequestBuilder) Settings() *PrivilegedRoleSettingsRequestBuilder {
   692  	bb := &PrivilegedRoleSettingsRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   693  	bb.baseURL += "/settings"
   694  	return bb
   695  }
   696  
   697  // Summary is navigation property
   698  func (b *PrivilegedRoleRequestBuilder) Summary() *PrivilegedRoleSummaryRequestBuilder {
   699  	bb := &PrivilegedRoleSummaryRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   700  	bb.baseURL += "/summary"
   701  	return bb
   702  }
   703  
   704  // RoleInfo is navigation property
   705  func (b *PrivilegedRoleAssignmentRequestBuilder) RoleInfo() *PrivilegedRoleRequestBuilder {
   706  	bb := &PrivilegedRoleRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   707  	bb.baseURL += "/roleInfo"
   708  	return bb
   709  }
   710  
   711  // RoleInfo is navigation property
   712  func (b *PrivilegedRoleAssignmentRequestObjectRequestBuilder) RoleInfo() *PrivilegedRoleRequestBuilder {
   713  	bb := &PrivilegedRoleRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   714  	bb.baseURL += "/roleInfo"
   715  	return bb
   716  }