github.com/yaegashi/msgraph.go@v0.1.4/beta/ActionSynchronization.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 // SynchronizationJobCollectionValidateCredentialsRequestParameter undocumented 15 type SynchronizationJobCollectionValidateCredentialsRequestParameter struct { 16 // ApplicationIdentifier undocumented 17 ApplicationIdentifier *string `json:"applicationIdentifier,omitempty"` 18 // TemplateID undocumented 19 TemplateID *string `json:"templateId,omitempty"` 20 // UseSavedCredentials undocumented 21 UseSavedCredentials *bool `json:"useSavedCredentials,omitempty"` 22 // Credentials undocumented 23 Credentials []SynchronizationSecretKeyStringValuePair `json:"credentials,omitempty"` 24 } 25 26 // SynchronizationJobPauseRequestParameter undocumented 27 type SynchronizationJobPauseRequestParameter struct { 28 } 29 30 // SynchronizationJobStartRequestParameter undocumented 31 type SynchronizationJobStartRequestParameter struct { 32 } 33 34 // SynchronizationJobStopRequestParameter undocumented 35 type SynchronizationJobStopRequestParameter struct { 36 } 37 38 // SynchronizationJobApplyRequestParameter undocumented 39 type SynchronizationJobApplyRequestParameter struct { 40 // ObjectID undocumented 41 ObjectID *string `json:"objectId,omitempty"` 42 // TypeName undocumented 43 TypeName *string `json:"typeName,omitempty"` 44 // RuleID undocumented 45 RuleID *string `json:"ruleId,omitempty"` 46 } 47 48 // SynchronizationJobRestartRequestParameter undocumented 49 type SynchronizationJobRestartRequestParameter struct { 50 // Criteria undocumented 51 Criteria *SynchronizationJobRestartCriteria `json:"criteria,omitempty"` 52 } 53 54 // SynchronizationJobValidateCredentialsRequestParameter undocumented 55 type SynchronizationJobValidateCredentialsRequestParameter struct { 56 // ApplicationIdentifier undocumented 57 ApplicationIdentifier *string `json:"applicationIdentifier,omitempty"` 58 // TemplateID undocumented 59 TemplateID *string `json:"templateId,omitempty"` 60 // UseSavedCredentials undocumented 61 UseSavedCredentials *bool `json:"useSavedCredentials,omitempty"` 62 // Credentials undocumented 63 Credentials []SynchronizationSecretKeyStringValuePair `json:"credentials,omitempty"` 64 } 65 66 // SynchronizationSchemaParseExpressionRequestParameter undocumented 67 type SynchronizationSchemaParseExpressionRequestParameter struct { 68 // Expression undocumented 69 Expression *string `json:"expression,omitempty"` 70 // TestInputObject undocumented 71 TestInputObject *ExpressionInputObject `json:"testInputObject,omitempty"` 72 // TargetAttributeDefinition undocumented 73 TargetAttributeDefinition *AttributeDefinition `json:"targetAttributeDefinition,omitempty"` 74 } 75 76 // Jobs returns request builder for SynchronizationJob collection 77 func (b *SynchronizationRequestBuilder) Jobs() *SynchronizationJobsCollectionRequestBuilder { 78 bb := &SynchronizationJobsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 79 bb.baseURL += "/jobs" 80 return bb 81 } 82 83 // SynchronizationJobsCollectionRequestBuilder is request builder for SynchronizationJob collection 84 type SynchronizationJobsCollectionRequestBuilder struct{ BaseRequestBuilder } 85 86 // Request returns request for SynchronizationJob collection 87 func (b *SynchronizationJobsCollectionRequestBuilder) Request() *SynchronizationJobsCollectionRequest { 88 return &SynchronizationJobsCollectionRequest{ 89 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 90 } 91 } 92 93 // ID returns request builder for SynchronizationJob item 94 func (b *SynchronizationJobsCollectionRequestBuilder) ID(id string) *SynchronizationJobRequestBuilder { 95 bb := &SynchronizationJobRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 96 bb.baseURL += "/" + id 97 return bb 98 } 99 100 // SynchronizationJobsCollectionRequest is request for SynchronizationJob collection 101 type SynchronizationJobsCollectionRequest struct{ BaseRequest } 102 103 // Paging perfoms paging operation for SynchronizationJob collection 104 func (r *SynchronizationJobsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]SynchronizationJob, error) { 105 req, err := r.NewJSONRequest(method, path, obj) 106 if err != nil { 107 return nil, err 108 } 109 if ctx != nil { 110 req = req.WithContext(ctx) 111 } 112 res, err := r.client.Do(req) 113 if err != nil { 114 return nil, err 115 } 116 var values []SynchronizationJob 117 for { 118 if res.StatusCode != http.StatusOK { 119 b, _ := ioutil.ReadAll(res.Body) 120 res.Body.Close() 121 errRes := &ErrorResponse{Response: res} 122 err := jsonx.Unmarshal(b, errRes) 123 if err != nil { 124 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 125 } 126 return nil, errRes 127 } 128 var ( 129 paging Paging 130 value []SynchronizationJob 131 ) 132 err := jsonx.NewDecoder(res.Body).Decode(&paging) 133 res.Body.Close() 134 if err != nil { 135 return nil, err 136 } 137 err = jsonx.Unmarshal(paging.Value, &value) 138 if err != nil { 139 return nil, err 140 } 141 values = append(values, value...) 142 if n >= 0 { 143 n-- 144 } 145 if n == 0 || len(paging.NextLink) == 0 { 146 return values, nil 147 } 148 req, err = http.NewRequest("GET", paging.NextLink, nil) 149 if ctx != nil { 150 req = req.WithContext(ctx) 151 } 152 res, err = r.client.Do(req) 153 if err != nil { 154 return nil, err 155 } 156 } 157 } 158 159 // GetN performs GET request for SynchronizationJob collection, max N pages 160 func (r *SynchronizationJobsCollectionRequest) GetN(ctx context.Context, n int) ([]SynchronizationJob, error) { 161 var query string 162 if r.query != nil { 163 query = "?" + r.query.Encode() 164 } 165 return r.Paging(ctx, "GET", query, nil, n) 166 } 167 168 // Get performs GET request for SynchronizationJob collection 169 func (r *SynchronizationJobsCollectionRequest) Get(ctx context.Context) ([]SynchronizationJob, error) { 170 return r.GetN(ctx, 0) 171 } 172 173 // Add performs POST request for SynchronizationJob collection 174 func (r *SynchronizationJobsCollectionRequest) Add(ctx context.Context, reqObj *SynchronizationJob) (resObj *SynchronizationJob, err error) { 175 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 176 return 177 } 178 179 // Templates returns request builder for SynchronizationTemplate collection 180 func (b *SynchronizationRequestBuilder) Templates() *SynchronizationTemplatesCollectionRequestBuilder { 181 bb := &SynchronizationTemplatesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 182 bb.baseURL += "/templates" 183 return bb 184 } 185 186 // SynchronizationTemplatesCollectionRequestBuilder is request builder for SynchronizationTemplate collection 187 type SynchronizationTemplatesCollectionRequestBuilder struct{ BaseRequestBuilder } 188 189 // Request returns request for SynchronizationTemplate collection 190 func (b *SynchronizationTemplatesCollectionRequestBuilder) Request() *SynchronizationTemplatesCollectionRequest { 191 return &SynchronizationTemplatesCollectionRequest{ 192 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 193 } 194 } 195 196 // ID returns request builder for SynchronizationTemplate item 197 func (b *SynchronizationTemplatesCollectionRequestBuilder) ID(id string) *SynchronizationTemplateRequestBuilder { 198 bb := &SynchronizationTemplateRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 199 bb.baseURL += "/" + id 200 return bb 201 } 202 203 // SynchronizationTemplatesCollectionRequest is request for SynchronizationTemplate collection 204 type SynchronizationTemplatesCollectionRequest struct{ BaseRequest } 205 206 // Paging perfoms paging operation for SynchronizationTemplate collection 207 func (r *SynchronizationTemplatesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]SynchronizationTemplate, error) { 208 req, err := r.NewJSONRequest(method, path, obj) 209 if err != nil { 210 return nil, err 211 } 212 if ctx != nil { 213 req = req.WithContext(ctx) 214 } 215 res, err := r.client.Do(req) 216 if err != nil { 217 return nil, err 218 } 219 var values []SynchronizationTemplate 220 for { 221 if res.StatusCode != http.StatusOK { 222 b, _ := ioutil.ReadAll(res.Body) 223 res.Body.Close() 224 errRes := &ErrorResponse{Response: res} 225 err := jsonx.Unmarshal(b, errRes) 226 if err != nil { 227 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 228 } 229 return nil, errRes 230 } 231 var ( 232 paging Paging 233 value []SynchronizationTemplate 234 ) 235 err := jsonx.NewDecoder(res.Body).Decode(&paging) 236 res.Body.Close() 237 if err != nil { 238 return nil, err 239 } 240 err = jsonx.Unmarshal(paging.Value, &value) 241 if err != nil { 242 return nil, err 243 } 244 values = append(values, value...) 245 if n >= 0 { 246 n-- 247 } 248 if n == 0 || len(paging.NextLink) == 0 { 249 return values, nil 250 } 251 req, err = http.NewRequest("GET", paging.NextLink, nil) 252 if ctx != nil { 253 req = req.WithContext(ctx) 254 } 255 res, err = r.client.Do(req) 256 if err != nil { 257 return nil, err 258 } 259 } 260 } 261 262 // GetN performs GET request for SynchronizationTemplate collection, max N pages 263 func (r *SynchronizationTemplatesCollectionRequest) GetN(ctx context.Context, n int) ([]SynchronizationTemplate, error) { 264 var query string 265 if r.query != nil { 266 query = "?" + r.query.Encode() 267 } 268 return r.Paging(ctx, "GET", query, nil, n) 269 } 270 271 // Get performs GET request for SynchronizationTemplate collection 272 func (r *SynchronizationTemplatesCollectionRequest) Get(ctx context.Context) ([]SynchronizationTemplate, error) { 273 return r.GetN(ctx, 0) 274 } 275 276 // Add performs POST request for SynchronizationTemplate collection 277 func (r *SynchronizationTemplatesCollectionRequest) Add(ctx context.Context, reqObj *SynchronizationTemplate) (resObj *SynchronizationTemplate, err error) { 278 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 279 return 280 } 281 282 // Schema is navigation property 283 func (b *SynchronizationJobRequestBuilder) Schema() *SynchronizationSchemaRequestBuilder { 284 bb := &SynchronizationSchemaRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 285 bb.baseURL += "/schema" 286 return bb 287 } 288 289 // Directories returns request builder for DirectoryDefinition collection 290 func (b *SynchronizationSchemaRequestBuilder) Directories() *SynchronizationSchemaDirectoriesCollectionRequestBuilder { 291 bb := &SynchronizationSchemaDirectoriesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 292 bb.baseURL += "/directories" 293 return bb 294 } 295 296 // SynchronizationSchemaDirectoriesCollectionRequestBuilder is request builder for DirectoryDefinition collection 297 type SynchronizationSchemaDirectoriesCollectionRequestBuilder struct{ BaseRequestBuilder } 298 299 // Request returns request for DirectoryDefinition collection 300 func (b *SynchronizationSchemaDirectoriesCollectionRequestBuilder) Request() *SynchronizationSchemaDirectoriesCollectionRequest { 301 return &SynchronizationSchemaDirectoriesCollectionRequest{ 302 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 303 } 304 } 305 306 // ID returns request builder for DirectoryDefinition item 307 func (b *SynchronizationSchemaDirectoriesCollectionRequestBuilder) ID(id string) *DirectoryDefinitionRequestBuilder { 308 bb := &DirectoryDefinitionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 309 bb.baseURL += "/" + id 310 return bb 311 } 312 313 // SynchronizationSchemaDirectoriesCollectionRequest is request for DirectoryDefinition collection 314 type SynchronizationSchemaDirectoriesCollectionRequest struct{ BaseRequest } 315 316 // Paging perfoms paging operation for DirectoryDefinition collection 317 func (r *SynchronizationSchemaDirectoriesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]DirectoryDefinition, error) { 318 req, err := r.NewJSONRequest(method, path, obj) 319 if err != nil { 320 return nil, err 321 } 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 var values []DirectoryDefinition 330 for { 331 if res.StatusCode != http.StatusOK { 332 b, _ := ioutil.ReadAll(res.Body) 333 res.Body.Close() 334 errRes := &ErrorResponse{Response: res} 335 err := jsonx.Unmarshal(b, errRes) 336 if err != nil { 337 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 338 } 339 return nil, errRes 340 } 341 var ( 342 paging Paging 343 value []DirectoryDefinition 344 ) 345 err := jsonx.NewDecoder(res.Body).Decode(&paging) 346 res.Body.Close() 347 if err != nil { 348 return nil, err 349 } 350 err = jsonx.Unmarshal(paging.Value, &value) 351 if err != nil { 352 return nil, err 353 } 354 values = append(values, value...) 355 if n >= 0 { 356 n-- 357 } 358 if n == 0 || len(paging.NextLink) == 0 { 359 return values, nil 360 } 361 req, err = http.NewRequest("GET", paging.NextLink, nil) 362 if ctx != nil { 363 req = req.WithContext(ctx) 364 } 365 res, err = r.client.Do(req) 366 if err != nil { 367 return nil, err 368 } 369 } 370 } 371 372 // GetN performs GET request for DirectoryDefinition collection, max N pages 373 func (r *SynchronizationSchemaDirectoriesCollectionRequest) GetN(ctx context.Context, n int) ([]DirectoryDefinition, error) { 374 var query string 375 if r.query != nil { 376 query = "?" + r.query.Encode() 377 } 378 return r.Paging(ctx, "GET", query, nil, n) 379 } 380 381 // Get performs GET request for DirectoryDefinition collection 382 func (r *SynchronizationSchemaDirectoriesCollectionRequest) Get(ctx context.Context) ([]DirectoryDefinition, error) { 383 return r.GetN(ctx, 0) 384 } 385 386 // Add performs POST request for DirectoryDefinition collection 387 func (r *SynchronizationSchemaDirectoriesCollectionRequest) Add(ctx context.Context, reqObj *DirectoryDefinition) (resObj *DirectoryDefinition, err error) { 388 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 389 return 390 } 391 392 // Schema is navigation property 393 func (b *SynchronizationTemplateRequestBuilder) Schema() *SynchronizationSchemaRequestBuilder { 394 bb := &SynchronizationSchemaRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 395 bb.baseURL += "/schema" 396 return bb 397 }