github.com/yaegashi/msgraph.go@v0.1.4/beta/ActionGovernance.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 // GovernanceResourceCollectionRegisterRequestParameter undocumented 15 type GovernanceResourceCollectionRegisterRequestParameter struct { 16 // ExternalID undocumented 17 ExternalID *string `json:"externalId,omitempty"` 18 } 19 20 // GovernanceRoleAssignmentRequestObjectCancelRequestParameter undocumented 21 type GovernanceRoleAssignmentRequestObjectCancelRequestParameter struct { 22 } 23 24 // GovernanceRoleAssignmentRequestObjectUpdateRequestActionRequestParameter undocumented 25 type GovernanceRoleAssignmentRequestObjectUpdateRequestActionRequestParameter struct { 26 // Decision undocumented 27 Decision *string `json:"decision,omitempty"` 28 // AssignmentState undocumented 29 AssignmentState *string `json:"assignmentState,omitempty"` 30 // Schedule undocumented 31 Schedule *GovernanceSchedule `json:"schedule,omitempty"` 32 // Reason undocumented 33 Reason *string `json:"reason,omitempty"` 34 } 35 36 // Parent is navigation property 37 func (b *GovernanceResourceRequestBuilder) Parent() *GovernanceResourceRequestBuilder { 38 bb := &GovernanceResourceRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 39 bb.baseURL += "/parent" 40 return bb 41 } 42 43 // RoleAssignmentRequests returns request builder for GovernanceRoleAssignmentRequestObject collection 44 func (b *GovernanceResourceRequestBuilder) RoleAssignmentRequests() *GovernanceResourceRoleAssignmentRequestsCollectionRequestBuilder { 45 bb := &GovernanceResourceRoleAssignmentRequestsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 46 bb.baseURL += "/roleAssignmentRequests" 47 return bb 48 } 49 50 // GovernanceResourceRoleAssignmentRequestsCollectionRequestBuilder is request builder for GovernanceRoleAssignmentRequestObject collection 51 type GovernanceResourceRoleAssignmentRequestsCollectionRequestBuilder struct{ BaseRequestBuilder } 52 53 // Request returns request for GovernanceRoleAssignmentRequestObject collection 54 func (b *GovernanceResourceRoleAssignmentRequestsCollectionRequestBuilder) Request() *GovernanceResourceRoleAssignmentRequestsCollectionRequest { 55 return &GovernanceResourceRoleAssignmentRequestsCollectionRequest{ 56 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 57 } 58 } 59 60 // ID returns request builder for GovernanceRoleAssignmentRequestObject item 61 func (b *GovernanceResourceRoleAssignmentRequestsCollectionRequestBuilder) ID(id string) *GovernanceRoleAssignmentRequestObjectRequestBuilder { 62 bb := &GovernanceRoleAssignmentRequestObjectRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 63 bb.baseURL += "/" + id 64 return bb 65 } 66 67 // GovernanceResourceRoleAssignmentRequestsCollectionRequest is request for GovernanceRoleAssignmentRequestObject collection 68 type GovernanceResourceRoleAssignmentRequestsCollectionRequest struct{ BaseRequest } 69 70 // Paging perfoms paging operation for GovernanceRoleAssignmentRequestObject collection 71 func (r *GovernanceResourceRoleAssignmentRequestsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]GovernanceRoleAssignmentRequestObject, error) { 72 req, err := r.NewJSONRequest(method, path, obj) 73 if err != nil { 74 return nil, err 75 } 76 if ctx != nil { 77 req = req.WithContext(ctx) 78 } 79 res, err := r.client.Do(req) 80 if err != nil { 81 return nil, err 82 } 83 var values []GovernanceRoleAssignmentRequestObject 84 for { 85 if res.StatusCode != http.StatusOK { 86 b, _ := ioutil.ReadAll(res.Body) 87 res.Body.Close() 88 errRes := &ErrorResponse{Response: res} 89 err := jsonx.Unmarshal(b, errRes) 90 if err != nil { 91 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 92 } 93 return nil, errRes 94 } 95 var ( 96 paging Paging 97 value []GovernanceRoleAssignmentRequestObject 98 ) 99 err := jsonx.NewDecoder(res.Body).Decode(&paging) 100 res.Body.Close() 101 if err != nil { 102 return nil, err 103 } 104 err = jsonx.Unmarshal(paging.Value, &value) 105 if err != nil { 106 return nil, err 107 } 108 values = append(values, value...) 109 if n >= 0 { 110 n-- 111 } 112 if n == 0 || len(paging.NextLink) == 0 { 113 return values, nil 114 } 115 req, err = http.NewRequest("GET", paging.NextLink, nil) 116 if ctx != nil { 117 req = req.WithContext(ctx) 118 } 119 res, err = r.client.Do(req) 120 if err != nil { 121 return nil, err 122 } 123 } 124 } 125 126 // GetN performs GET request for GovernanceRoleAssignmentRequestObject collection, max N pages 127 func (r *GovernanceResourceRoleAssignmentRequestsCollectionRequest) GetN(ctx context.Context, n int) ([]GovernanceRoleAssignmentRequestObject, error) { 128 var query string 129 if r.query != nil { 130 query = "?" + r.query.Encode() 131 } 132 return r.Paging(ctx, "GET", query, nil, n) 133 } 134 135 // Get performs GET request for GovernanceRoleAssignmentRequestObject collection 136 func (r *GovernanceResourceRoleAssignmentRequestsCollectionRequest) Get(ctx context.Context) ([]GovernanceRoleAssignmentRequestObject, error) { 137 return r.GetN(ctx, 0) 138 } 139 140 // Add performs POST request for GovernanceRoleAssignmentRequestObject collection 141 func (r *GovernanceResourceRoleAssignmentRequestsCollectionRequest) Add(ctx context.Context, reqObj *GovernanceRoleAssignmentRequestObject) (resObj *GovernanceRoleAssignmentRequestObject, err error) { 142 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 143 return 144 } 145 146 // RoleAssignments returns request builder for GovernanceRoleAssignment collection 147 func (b *GovernanceResourceRequestBuilder) RoleAssignments() *GovernanceResourceRoleAssignmentsCollectionRequestBuilder { 148 bb := &GovernanceResourceRoleAssignmentsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 149 bb.baseURL += "/roleAssignments" 150 return bb 151 } 152 153 // GovernanceResourceRoleAssignmentsCollectionRequestBuilder is request builder for GovernanceRoleAssignment collection 154 type GovernanceResourceRoleAssignmentsCollectionRequestBuilder struct{ BaseRequestBuilder } 155 156 // Request returns request for GovernanceRoleAssignment collection 157 func (b *GovernanceResourceRoleAssignmentsCollectionRequestBuilder) Request() *GovernanceResourceRoleAssignmentsCollectionRequest { 158 return &GovernanceResourceRoleAssignmentsCollectionRequest{ 159 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 160 } 161 } 162 163 // ID returns request builder for GovernanceRoleAssignment item 164 func (b *GovernanceResourceRoleAssignmentsCollectionRequestBuilder) ID(id string) *GovernanceRoleAssignmentRequestBuilder { 165 bb := &GovernanceRoleAssignmentRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 166 bb.baseURL += "/" + id 167 return bb 168 } 169 170 // GovernanceResourceRoleAssignmentsCollectionRequest is request for GovernanceRoleAssignment collection 171 type GovernanceResourceRoleAssignmentsCollectionRequest struct{ BaseRequest } 172 173 // Paging perfoms paging operation for GovernanceRoleAssignment collection 174 func (r *GovernanceResourceRoleAssignmentsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]GovernanceRoleAssignment, error) { 175 req, err := r.NewJSONRequest(method, path, obj) 176 if err != nil { 177 return nil, err 178 } 179 if ctx != nil { 180 req = req.WithContext(ctx) 181 } 182 res, err := r.client.Do(req) 183 if err != nil { 184 return nil, err 185 } 186 var values []GovernanceRoleAssignment 187 for { 188 if res.StatusCode != http.StatusOK { 189 b, _ := ioutil.ReadAll(res.Body) 190 res.Body.Close() 191 errRes := &ErrorResponse{Response: res} 192 err := jsonx.Unmarshal(b, errRes) 193 if err != nil { 194 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 195 } 196 return nil, errRes 197 } 198 var ( 199 paging Paging 200 value []GovernanceRoleAssignment 201 ) 202 err := jsonx.NewDecoder(res.Body).Decode(&paging) 203 res.Body.Close() 204 if err != nil { 205 return nil, err 206 } 207 err = jsonx.Unmarshal(paging.Value, &value) 208 if err != nil { 209 return nil, err 210 } 211 values = append(values, value...) 212 if n >= 0 { 213 n-- 214 } 215 if n == 0 || len(paging.NextLink) == 0 { 216 return values, nil 217 } 218 req, err = http.NewRequest("GET", paging.NextLink, nil) 219 if ctx != nil { 220 req = req.WithContext(ctx) 221 } 222 res, err = r.client.Do(req) 223 if err != nil { 224 return nil, err 225 } 226 } 227 } 228 229 // GetN performs GET request for GovernanceRoleAssignment collection, max N pages 230 func (r *GovernanceResourceRoleAssignmentsCollectionRequest) GetN(ctx context.Context, n int) ([]GovernanceRoleAssignment, error) { 231 var query string 232 if r.query != nil { 233 query = "?" + r.query.Encode() 234 } 235 return r.Paging(ctx, "GET", query, nil, n) 236 } 237 238 // Get performs GET request for GovernanceRoleAssignment collection 239 func (r *GovernanceResourceRoleAssignmentsCollectionRequest) Get(ctx context.Context) ([]GovernanceRoleAssignment, error) { 240 return r.GetN(ctx, 0) 241 } 242 243 // Add performs POST request for GovernanceRoleAssignment collection 244 func (r *GovernanceResourceRoleAssignmentsCollectionRequest) Add(ctx context.Context, reqObj *GovernanceRoleAssignment) (resObj *GovernanceRoleAssignment, err error) { 245 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 246 return 247 } 248 249 // RoleDefinitions returns request builder for GovernanceRoleDefinition collection 250 func (b *GovernanceResourceRequestBuilder) RoleDefinitions() *GovernanceResourceRoleDefinitionsCollectionRequestBuilder { 251 bb := &GovernanceResourceRoleDefinitionsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 252 bb.baseURL += "/roleDefinitions" 253 return bb 254 } 255 256 // GovernanceResourceRoleDefinitionsCollectionRequestBuilder is request builder for GovernanceRoleDefinition collection 257 type GovernanceResourceRoleDefinitionsCollectionRequestBuilder struct{ BaseRequestBuilder } 258 259 // Request returns request for GovernanceRoleDefinition collection 260 func (b *GovernanceResourceRoleDefinitionsCollectionRequestBuilder) Request() *GovernanceResourceRoleDefinitionsCollectionRequest { 261 return &GovernanceResourceRoleDefinitionsCollectionRequest{ 262 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 263 } 264 } 265 266 // ID returns request builder for GovernanceRoleDefinition item 267 func (b *GovernanceResourceRoleDefinitionsCollectionRequestBuilder) ID(id string) *GovernanceRoleDefinitionRequestBuilder { 268 bb := &GovernanceRoleDefinitionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 269 bb.baseURL += "/" + id 270 return bb 271 } 272 273 // GovernanceResourceRoleDefinitionsCollectionRequest is request for GovernanceRoleDefinition collection 274 type GovernanceResourceRoleDefinitionsCollectionRequest struct{ BaseRequest } 275 276 // Paging perfoms paging operation for GovernanceRoleDefinition collection 277 func (r *GovernanceResourceRoleDefinitionsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]GovernanceRoleDefinition, error) { 278 req, err := r.NewJSONRequest(method, path, obj) 279 if err != nil { 280 return nil, err 281 } 282 if ctx != nil { 283 req = req.WithContext(ctx) 284 } 285 res, err := r.client.Do(req) 286 if err != nil { 287 return nil, err 288 } 289 var values []GovernanceRoleDefinition 290 for { 291 if res.StatusCode != http.StatusOK { 292 b, _ := ioutil.ReadAll(res.Body) 293 res.Body.Close() 294 errRes := &ErrorResponse{Response: res} 295 err := jsonx.Unmarshal(b, errRes) 296 if err != nil { 297 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 298 } 299 return nil, errRes 300 } 301 var ( 302 paging Paging 303 value []GovernanceRoleDefinition 304 ) 305 err := jsonx.NewDecoder(res.Body).Decode(&paging) 306 res.Body.Close() 307 if err != nil { 308 return nil, err 309 } 310 err = jsonx.Unmarshal(paging.Value, &value) 311 if err != nil { 312 return nil, err 313 } 314 values = append(values, value...) 315 if n >= 0 { 316 n-- 317 } 318 if n == 0 || len(paging.NextLink) == 0 { 319 return values, nil 320 } 321 req, err = http.NewRequest("GET", paging.NextLink, nil) 322 if ctx != nil { 323 req = req.WithContext(ctx) 324 } 325 res, err = r.client.Do(req) 326 if err != nil { 327 return nil, err 328 } 329 } 330 } 331 332 // GetN performs GET request for GovernanceRoleDefinition collection, max N pages 333 func (r *GovernanceResourceRoleDefinitionsCollectionRequest) GetN(ctx context.Context, n int) ([]GovernanceRoleDefinition, error) { 334 var query string 335 if r.query != nil { 336 query = "?" + r.query.Encode() 337 } 338 return r.Paging(ctx, "GET", query, nil, n) 339 } 340 341 // Get performs GET request for GovernanceRoleDefinition collection 342 func (r *GovernanceResourceRoleDefinitionsCollectionRequest) Get(ctx context.Context) ([]GovernanceRoleDefinition, error) { 343 return r.GetN(ctx, 0) 344 } 345 346 // Add performs POST request for GovernanceRoleDefinition collection 347 func (r *GovernanceResourceRoleDefinitionsCollectionRequest) Add(ctx context.Context, reqObj *GovernanceRoleDefinition) (resObj *GovernanceRoleDefinition, err error) { 348 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 349 return 350 } 351 352 // RoleSettings returns request builder for GovernanceRoleSetting collection 353 func (b *GovernanceResourceRequestBuilder) RoleSettings() *GovernanceResourceRoleSettingsCollectionRequestBuilder { 354 bb := &GovernanceResourceRoleSettingsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 355 bb.baseURL += "/roleSettings" 356 return bb 357 } 358 359 // GovernanceResourceRoleSettingsCollectionRequestBuilder is request builder for GovernanceRoleSetting collection 360 type GovernanceResourceRoleSettingsCollectionRequestBuilder struct{ BaseRequestBuilder } 361 362 // Request returns request for GovernanceRoleSetting collection 363 func (b *GovernanceResourceRoleSettingsCollectionRequestBuilder) Request() *GovernanceResourceRoleSettingsCollectionRequest { 364 return &GovernanceResourceRoleSettingsCollectionRequest{ 365 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 366 } 367 } 368 369 // ID returns request builder for GovernanceRoleSetting item 370 func (b *GovernanceResourceRoleSettingsCollectionRequestBuilder) ID(id string) *GovernanceRoleSettingRequestBuilder { 371 bb := &GovernanceRoleSettingRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 372 bb.baseURL += "/" + id 373 return bb 374 } 375 376 // GovernanceResourceRoleSettingsCollectionRequest is request for GovernanceRoleSetting collection 377 type GovernanceResourceRoleSettingsCollectionRequest struct{ BaseRequest } 378 379 // Paging perfoms paging operation for GovernanceRoleSetting collection 380 func (r *GovernanceResourceRoleSettingsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]GovernanceRoleSetting, error) { 381 req, err := r.NewJSONRequest(method, path, obj) 382 if err != nil { 383 return nil, err 384 } 385 if ctx != nil { 386 req = req.WithContext(ctx) 387 } 388 res, err := r.client.Do(req) 389 if err != nil { 390 return nil, err 391 } 392 var values []GovernanceRoleSetting 393 for { 394 if res.StatusCode != http.StatusOK { 395 b, _ := ioutil.ReadAll(res.Body) 396 res.Body.Close() 397 errRes := &ErrorResponse{Response: res} 398 err := jsonx.Unmarshal(b, errRes) 399 if err != nil { 400 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 401 } 402 return nil, errRes 403 } 404 var ( 405 paging Paging 406 value []GovernanceRoleSetting 407 ) 408 err := jsonx.NewDecoder(res.Body).Decode(&paging) 409 res.Body.Close() 410 if err != nil { 411 return nil, err 412 } 413 err = jsonx.Unmarshal(paging.Value, &value) 414 if err != nil { 415 return nil, err 416 } 417 values = append(values, value...) 418 if n >= 0 { 419 n-- 420 } 421 if n == 0 || len(paging.NextLink) == 0 { 422 return values, nil 423 } 424 req, err = http.NewRequest("GET", paging.NextLink, nil) 425 if ctx != nil { 426 req = req.WithContext(ctx) 427 } 428 res, err = r.client.Do(req) 429 if err != nil { 430 return nil, err 431 } 432 } 433 } 434 435 // GetN performs GET request for GovernanceRoleSetting collection, max N pages 436 func (r *GovernanceResourceRoleSettingsCollectionRequest) GetN(ctx context.Context, n int) ([]GovernanceRoleSetting, error) { 437 var query string 438 if r.query != nil { 439 query = "?" + r.query.Encode() 440 } 441 return r.Paging(ctx, "GET", query, nil, n) 442 } 443 444 // Get performs GET request for GovernanceRoleSetting collection 445 func (r *GovernanceResourceRoleSettingsCollectionRequest) Get(ctx context.Context) ([]GovernanceRoleSetting, error) { 446 return r.GetN(ctx, 0) 447 } 448 449 // Add performs POST request for GovernanceRoleSetting collection 450 func (r *GovernanceResourceRoleSettingsCollectionRequest) Add(ctx context.Context, reqObj *GovernanceRoleSetting) (resObj *GovernanceRoleSetting, err error) { 451 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 452 return 453 } 454 455 // LinkedEligibleRoleAssignment is navigation property 456 func (b *GovernanceRoleAssignmentRequestBuilder) LinkedEligibleRoleAssignment() *GovernanceRoleAssignmentRequestBuilder { 457 bb := &GovernanceRoleAssignmentRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 458 bb.baseURL += "/linkedEligibleRoleAssignment" 459 return bb 460 } 461 462 // Resource is navigation property 463 func (b *GovernanceRoleAssignmentRequestBuilder) Resource() *GovernanceResourceRequestBuilder { 464 bb := &GovernanceResourceRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 465 bb.baseURL += "/resource" 466 return bb 467 } 468 469 // RoleDefinition is navigation property 470 func (b *GovernanceRoleAssignmentRequestBuilder) RoleDefinition() *GovernanceRoleDefinitionRequestBuilder { 471 bb := &GovernanceRoleDefinitionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 472 bb.baseURL += "/roleDefinition" 473 return bb 474 } 475 476 // Subject is navigation property 477 func (b *GovernanceRoleAssignmentRequestBuilder) Subject() *GovernanceSubjectRequestBuilder { 478 bb := &GovernanceSubjectRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 479 bb.baseURL += "/subject" 480 return bb 481 } 482 483 // Resource is navigation property 484 func (b *GovernanceRoleAssignmentRequestObjectRequestBuilder) Resource() *GovernanceResourceRequestBuilder { 485 bb := &GovernanceResourceRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 486 bb.baseURL += "/resource" 487 return bb 488 } 489 490 // RoleDefinition is navigation property 491 func (b *GovernanceRoleAssignmentRequestObjectRequestBuilder) RoleDefinition() *GovernanceRoleDefinitionRequestBuilder { 492 bb := &GovernanceRoleDefinitionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 493 bb.baseURL += "/roleDefinition" 494 return bb 495 } 496 497 // Subject is navigation property 498 func (b *GovernanceRoleAssignmentRequestObjectRequestBuilder) Subject() *GovernanceSubjectRequestBuilder { 499 bb := &GovernanceSubjectRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 500 bb.baseURL += "/subject" 501 return bb 502 } 503 504 // Resource is navigation property 505 func (b *GovernanceRoleDefinitionRequestBuilder) Resource() *GovernanceResourceRequestBuilder { 506 bb := &GovernanceResourceRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 507 bb.baseURL += "/resource" 508 return bb 509 } 510 511 // RoleSetting is navigation property 512 func (b *GovernanceRoleDefinitionRequestBuilder) RoleSetting() *GovernanceRoleSettingRequestBuilder { 513 bb := &GovernanceRoleSettingRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 514 bb.baseURL += "/roleSetting" 515 return bb 516 } 517 518 // Resource is navigation property 519 func (b *GovernanceRoleSettingRequestBuilder) Resource() *GovernanceResourceRequestBuilder { 520 bb := &GovernanceResourceRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 521 bb.baseURL += "/resource" 522 return bb 523 } 524 525 // RoleDefinition is navigation property 526 func (b *GovernanceRoleSettingRequestBuilder) RoleDefinition() *GovernanceRoleDefinitionRequestBuilder { 527 bb := &GovernanceRoleDefinitionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 528 bb.baseURL += "/roleDefinition" 529 return bb 530 }