forked from microsoftgraph/msgraph-sdk-dotnet
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathUser.cs
687 lines (586 loc) · 40.4 KB
/
User.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
// ------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License in the project root for license information.
// ------------------------------------------------------------------------------
// **NOTE** This file was generated by a tool and any changes will be overwritten.
// <auto-generated/>
// Template Source: Templates\CSharp\Model\EntityType.cs.tt
namespace Microsoft.Graph
{
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.Serialization;
using Newtonsoft.Json;
/// <summary>
/// The type User.
/// </summary>
[JsonObject(MemberSerialization = MemberSerialization.OptIn)]
public partial class User : DirectoryObject
{
/// <summary>
/// Gets or sets account enabled.
/// true if the account is enabled; otherwise, false. This property is required when a user is created. Supports $filter.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "accountEnabled", Required = Newtonsoft.Json.Required.Default)]
public bool? AccountEnabled { get; set; }
/// <summary>
/// Gets or sets age group.
/// Sets the age group of the user. Allowed values: null, minor, notAdult and adult. Refer to the legal age group property definitions for further information.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "ageGroup", Required = Newtonsoft.Json.Required.Default)]
public string AgeGroup { get; set; }
/// <summary>
/// Gets or sets assigned licenses.
/// The licenses that are assigned to the user. Not nullable.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "assignedLicenses", Required = Newtonsoft.Json.Required.Default)]
public IEnumerable<AssignedLicense> AssignedLicenses { get; set; }
/// <summary>
/// Gets or sets assigned plans.
/// The plans that are assigned to the user. Read-only. Not nullable.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "assignedPlans", Required = Newtonsoft.Json.Required.Default)]
public IEnumerable<AssignedPlan> AssignedPlans { get; set; }
/// <summary>
/// Gets or sets business phones.
/// The telephone numbers for the user. NOTE: Although this is a string collection, only one number can be set for this property.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "businessPhones", Required = Newtonsoft.Json.Required.Default)]
public IEnumerable<string> BusinessPhones { get; set; }
/// <summary>
/// Gets or sets city.
/// The city in which the user is located. Supports $filter.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "city", Required = Newtonsoft.Json.Required.Default)]
public string City { get; set; }
/// <summary>
/// Gets or sets company name.
/// The company name which the user is associated. This property can be useful for describing the company that an external user comes from.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "companyName", Required = Newtonsoft.Json.Required.Default)]
public string CompanyName { get; set; }
/// <summary>
/// Gets or sets consent provided for minor.
/// Sets whether consent has been obtained for minors. Allowed values: null, granted, denied and notRequired. Refer to the legal age group property definitions for further information.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "consentProvidedForMinor", Required = Newtonsoft.Json.Required.Default)]
public string ConsentProvidedForMinor { get; set; }
/// <summary>
/// Gets or sets country.
/// The country/region in which the user is located; for example, 'US' or 'UK'. Supports $filter.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "country", Required = Newtonsoft.Json.Required.Default)]
public string Country { get; set; }
/// <summary>
/// Gets or sets department.
/// The name for the department in which the user works. Supports $filter.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "department", Required = Newtonsoft.Json.Required.Default)]
public string Department { get; set; }
/// <summary>
/// Gets or sets display name.
/// The name displayed in the address book for the user. This is usually the combination of the user's first name, middle initial and last name. This property is required when a user is created and it cannot be cleared during updates. Supports $filter and $orderby.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "displayName", Required = Newtonsoft.Json.Required.Default)]
public string DisplayName { get; set; }
/// <summary>
/// Gets or sets employee id.
/// The employee identifier assigned to the user by the organization. Supports $filter.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "employeeId", Required = Newtonsoft.Json.Required.Default)]
public string EmployeeId { get; set; }
/// <summary>
/// Gets or sets fax number.
/// The fax number of the user.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "faxNumber", Required = Newtonsoft.Json.Required.Default)]
public string FaxNumber { get; set; }
/// <summary>
/// Gets or sets given name.
/// The given name (first name) of the user. Supports $filter.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "givenName", Required = Newtonsoft.Json.Required.Default)]
public string GivenName { get; set; }
/// <summary>
/// Gets or sets im addresses.
/// The instant message voice over IP (VOIP) session initiation protocol (SIP) addresses for the user. Read-only.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "imAddresses", Required = Newtonsoft.Json.Required.Default)]
public IEnumerable<string> ImAddresses { get; set; }
/// <summary>
/// Gets or sets is resource account.
/// true if the user is a resource account; otherwise, false. Null value should be considered false.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "isResourceAccount", Required = Newtonsoft.Json.Required.Default)]
public bool? IsResourceAccount { get; set; }
/// <summary>
/// Gets or sets job title.
/// The user’s job title. Supports $filter.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "jobTitle", Required = Newtonsoft.Json.Required.Default)]
public string JobTitle { get; set; }
/// <summary>
/// Gets or sets legal age group classification.
/// Used by enterprise applications to determine the legal age group of the user. This property is read-only and calculated based on ageGroup and consentProvidedForMinor properties. Allowed values: null, minorWithOutParentalConsent, minorWithParentalConsent, minorNoParentalConsentRequired, notAdult and adult. Refer to the legal age group property definitions for further information.)
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "legalAgeGroupClassification", Required = Newtonsoft.Json.Required.Default)]
public string LegalAgeGroupClassification { get; set; }
/// <summary>
/// Gets or sets license assignment states.
/// State of license assignments for this user. Read-only.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "licenseAssignmentStates", Required = Newtonsoft.Json.Required.Default)]
public IEnumerable<LicenseAssignmentState> LicenseAssignmentStates { get; set; }
/// <summary>
/// Gets or sets mail.
/// The SMTP address for the user, for example, 'jeff@contoso.onmicrosoft.com'. Read-Only. Supports $filter.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "mail", Required = Newtonsoft.Json.Required.Default)]
public string Mail { get; set; }
/// <summary>
/// Gets or sets mail nickname.
/// The mail alias for the user. This property must be specified when a user is created. Supports $filter.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "mailNickname", Required = Newtonsoft.Json.Required.Default)]
public string MailNickname { get; set; }
/// <summary>
/// Gets or sets mobile phone.
/// The primary cellular telephone number for the user.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "mobilePhone", Required = Newtonsoft.Json.Required.Default)]
public string MobilePhone { get; set; }
/// <summary>
/// Gets or sets on premises distinguished name.
/// Contains the on-premises Active Directory distinguished name or DN. The property is only populated for customers who are synchronizing their on-premises directory to Azure Active Directory via Azure AD Connect. Read-only.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "onPremisesDistinguishedName", Required = Newtonsoft.Json.Required.Default)]
public string OnPremisesDistinguishedName { get; set; }
/// <summary>
/// Gets or sets on premises extension attributes.
/// Contains extensionAttributes 1-15 for the user. Note that the individual extension attributes are neither selectable nor filterable. For an onPremisesSyncEnabled user, this set of properties is mastered on-premises and is read-only. For a cloud-only user (where onPremisesSyncEnabled is false), these properties may be set during creation or update.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "onPremisesExtensionAttributes", Required = Newtonsoft.Json.Required.Default)]
public OnPremisesExtensionAttributes OnPremisesExtensionAttributes { get; set; }
/// <summary>
/// Gets or sets on premises immutable id.
/// This property is used to associate an on-premises Active Directory user account to their Azure AD user object. This property must be specified when creating a new user account in the Graph if you are using a federated domain for the user’s userPrincipalName (UPN) property. Important: The $ and _ characters cannot be used when specifying this property. Supports $filter.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "onPremisesImmutableId", Required = Newtonsoft.Json.Required.Default)]
public string OnPremisesImmutableId { get; set; }
/// <summary>
/// Gets or sets on premises last sync date time.
/// Indicates the last time at which the object was synced with the on-premises directory; for example: '2013-02-16T03:04:54Z'. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Read-only.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "onPremisesLastSyncDateTime", Required = Newtonsoft.Json.Required.Default)]
public DateTimeOffset? OnPremisesLastSyncDateTime { get; set; }
/// <summary>
/// Gets or sets on premises provisioning errors.
/// Errors when using Microsoft synchronization product during provisioning.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "onPremisesProvisioningErrors", Required = Newtonsoft.Json.Required.Default)]
public IEnumerable<OnPremisesProvisioningError> OnPremisesProvisioningErrors { get; set; }
/// <summary>
/// Gets or sets on premises security identifier.
/// Contains the on-premises security identifier (SID) for the user that was synchronized from on-premises to the cloud. Read-only.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "onPremisesSecurityIdentifier", Required = Newtonsoft.Json.Required.Default)]
public string OnPremisesSecurityIdentifier { get; set; }
/// <summary>
/// Gets or sets on premises sync enabled.
/// true if this object is synced from an on-premises directory; false if this object was originally synced from an on-premises directory but is no longer synced; null if this object has never been synced from an on-premises directory (default). Read-only
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "onPremisesSyncEnabled", Required = Newtonsoft.Json.Required.Default)]
public bool? OnPremisesSyncEnabled { get; set; }
/// <summary>
/// Gets or sets on premises domain name.
/// Contains the on-premises domainFQDN, also called dnsDomainName synchronized from the on-premises directory. The property is only populated for customers who are synchronizing their on-premises directory to Azure Active Directory via Azure AD Connect. Read-only.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "onPremisesDomainName", Required = Newtonsoft.Json.Required.Default)]
public string OnPremisesDomainName { get; set; }
/// <summary>
/// Gets or sets on premises sam account name.
/// Contains the on-premises samAccountName synchronized from the on-premises directory. The property is only populated for customers who are synchronizing their on-premises directory to Azure Active Directory via Azure AD Connect. Read-only.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "onPremisesSamAccountName", Required = Newtonsoft.Json.Required.Default)]
public string OnPremisesSamAccountName { get; set; }
/// <summary>
/// Gets or sets on premises user principal name.
/// Contains the on-premises userPrincipalName synchronized from the on-premises directory. The property is only populated for customers who are synchronizing their on-premises directory to Azure Active Directory via Azure AD Connect. Read-only.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "onPremisesUserPrincipalName", Required = Newtonsoft.Json.Required.Default)]
public string OnPremisesUserPrincipalName { get; set; }
/// <summary>
/// Gets or sets other mails.
/// A list of additional email addresses for the user; for example: ['bob@contoso.com', 'Robert@fabrikam.com']. Supports $filter.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "otherMails", Required = Newtonsoft.Json.Required.Default)]
public IEnumerable<string> OtherMails { get; set; }
/// <summary>
/// Gets or sets password policies.
/// Specifies password policies for the user. This value is an enumeration with one possible value being 'DisableStrongPassword', which allows weaker passwords than the default policy to be specified. 'DisablePasswordExpiration' can also be specified. The two may be specified together; for example: 'DisablePasswordExpiration, DisableStrongPassword'.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "passwordPolicies", Required = Newtonsoft.Json.Required.Default)]
public string PasswordPolicies { get; set; }
/// <summary>
/// Gets or sets password profile.
/// Specifies the password profile for the user. The profile contains the user’s password. This property is required when a user is created. The password in the profile must satisfy minimum requirements as specified by the passwordPolicies property. By default, a strong password is required.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "passwordProfile", Required = Newtonsoft.Json.Required.Default)]
public PasswordProfile PasswordProfile { get; set; }
/// <summary>
/// Gets or sets office location.
/// The office location in the user's place of business.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "officeLocation", Required = Newtonsoft.Json.Required.Default)]
public string OfficeLocation { get; set; }
/// <summary>
/// Gets or sets postal code.
/// The postal code for the user's postal address. The postal code is specific to the user's country/region. In the United States of America, this attribute contains the ZIP code.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "postalCode", Required = Newtonsoft.Json.Required.Default)]
public string PostalCode { get; set; }
/// <summary>
/// Gets or sets preferred language.
/// The preferred language for the user. Should follow ISO 639-1 Code; for example 'en-US'.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "preferredLanguage", Required = Newtonsoft.Json.Required.Default)]
public string PreferredLanguage { get; set; }
/// <summary>
/// Gets or sets provisioned plans.
/// The plans that are provisioned for the user. Read-only. Not nullable.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "provisionedPlans", Required = Newtonsoft.Json.Required.Default)]
public IEnumerable<ProvisionedPlan> ProvisionedPlans { get; set; }
/// <summary>
/// Gets or sets proxy addresses.
/// For example: ['SMTP: bob@contoso.com', 'smtp: bob@sales.contoso.com'] The any operator is required for filter expressions on multi-valued properties. Read-only, Not nullable. Supports $filter.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "proxyAddresses", Required = Newtonsoft.Json.Required.Default)]
public IEnumerable<string> ProxyAddresses { get; set; }
/// <summary>
/// Gets or sets show in address list.
/// true if the Outlook global address list should contain this user, otherwise false. If not set, this will be treated as true. For users invited through the invitation manager, this property will be set to false.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "showInAddressList", Required = Newtonsoft.Json.Required.Default)]
public bool? ShowInAddressList { get; set; }
/// <summary>
/// Gets or sets sign in sessions valid from date time.
/// Any refresh tokens or sessions tokens (session cookies) issued before this time are invalid, and applications will get an error when using an invalid refresh or sessions token to acquire a delegated access token (to access APIs such as Microsoft Graph). If this happens, the application will need to acquire a new refresh token by making a request to the authorize endpoint. Read-only. Use revokeSignInSessions to reset.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "signInSessionsValidFromDateTime", Required = Newtonsoft.Json.Required.Default)]
public DateTimeOffset? SignInSessionsValidFromDateTime { get; set; }
/// <summary>
/// Gets or sets state.
/// The state or province in the user's address. Supports $filter.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "state", Required = Newtonsoft.Json.Required.Default)]
public string State { get; set; }
/// <summary>
/// Gets or sets street address.
/// The street address of the user's place of business.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "streetAddress", Required = Newtonsoft.Json.Required.Default)]
public string StreetAddress { get; set; }
/// <summary>
/// Gets or sets surname.
/// The user's surname (family name or last name). Supports $filter.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "surname", Required = Newtonsoft.Json.Required.Default)]
public string Surname { get; set; }
/// <summary>
/// Gets or sets usage location.
/// A two letter country code (ISO standard 3166). Required for users that will be assigned licenses due to legal requirement to check for availability of services in countries. Examples include: 'US', 'JP', and 'GB'. Not nullable. Supports $filter.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "usageLocation", Required = Newtonsoft.Json.Required.Default)]
public string UsageLocation { get; set; }
/// <summary>
/// Gets or sets user principal name.
/// The user principal name (UPN) of the user. The UPN is an Internet-style login name for the user based on the Internet standard RFC 822. By convention, this should map to the user's email name. The general format is alias@domain, where domain must be present in the tenant’s collection of verified domains. This property is required when a user is created. The verified domains for the tenant can be accessed from the verifiedDomains property of organization. Supports $filter and $orderby.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "userPrincipalName", Required = Newtonsoft.Json.Required.Default)]
public string UserPrincipalName { get; set; }
/// <summary>
/// Gets or sets user type.
/// A string value that can be used to classify user types in your directory, such as 'Member' and 'Guest'. Supports $filter.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "userType", Required = Newtonsoft.Json.Required.Default)]
public string UserType { get; set; }
/// <summary>
/// Gets or sets mailbox settings.
/// Settings for the primary mailbox of the signed-in user. You can get or update settings for sending automatic replies to incoming messages, locale and time zone.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "mailboxSettings", Required = Newtonsoft.Json.Required.Default)]
public MailboxSettings MailboxSettings { get; set; }
/// <summary>
/// Gets or sets about me.
/// A freeform text entry field for the user to describe themselves.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "aboutMe", Required = Newtonsoft.Json.Required.Default)]
public string AboutMe { get; set; }
/// <summary>
/// Gets or sets birthday.
/// The birthday of the user. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "birthday", Required = Newtonsoft.Json.Required.Default)]
public DateTimeOffset? Birthday { get; set; }
/// <summary>
/// Gets or sets hire date.
/// The hire date of the user. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "hireDate", Required = Newtonsoft.Json.Required.Default)]
public DateTimeOffset? HireDate { get; set; }
/// <summary>
/// Gets or sets interests.
/// A list for the user to describe their interests.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "interests", Required = Newtonsoft.Json.Required.Default)]
public IEnumerable<string> Interests { get; set; }
/// <summary>
/// Gets or sets my site.
/// The URL for the user's personal site.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "mySite", Required = Newtonsoft.Json.Required.Default)]
public string MySite { get; set; }
/// <summary>
/// Gets or sets past projects.
/// A list for the user to enumerate their past projects.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "pastProjects", Required = Newtonsoft.Json.Required.Default)]
public IEnumerable<string> PastProjects { get; set; }
/// <summary>
/// Gets or sets preferred name.
/// The preferred name for the user.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "preferredName", Required = Newtonsoft.Json.Required.Default)]
public string PreferredName { get; set; }
/// <summary>
/// Gets or sets responsibilities.
/// A list for the user to enumerate their responsibilities.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "responsibilities", Required = Newtonsoft.Json.Required.Default)]
public IEnumerable<string> Responsibilities { get; set; }
/// <summary>
/// Gets or sets schools.
/// A list for the user to enumerate the schools they have attended.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "schools", Required = Newtonsoft.Json.Required.Default)]
public IEnumerable<string> Schools { get; set; }
/// <summary>
/// Gets or sets skills.
/// A list for the user to enumerate their skills.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "skills", Required = Newtonsoft.Json.Required.Default)]
public IEnumerable<string> Skills { get; set; }
/// <summary>
/// Gets or sets device enrollment limit.
/// The limit on the maximum number of devices that the user is permitted to enroll. Allowed values are 5 or 1000.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "deviceEnrollmentLimit", Required = Newtonsoft.Json.Required.Default)]
public Int32? DeviceEnrollmentLimit { get; set; }
/// <summary>
/// Gets or sets owned devices.
/// Devices that are owned by the user. Read-only. Nullable.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "ownedDevices", Required = Newtonsoft.Json.Required.Default)]
public IUserOwnedDevicesCollectionWithReferencesPage OwnedDevices { get; set; }
/// <summary>
/// Gets or sets registered devices.
/// Devices that are registered for the user. Read-only. Nullable.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "registeredDevices", Required = Newtonsoft.Json.Required.Default)]
public IUserRegisteredDevicesCollectionWithReferencesPage RegisteredDevices { get; set; }
/// <summary>
/// Gets or sets manager.
/// The user or contact that is this user’s manager. Read-only. (HTTP Methods: GET, PUT, DELETE.)
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "manager", Required = Newtonsoft.Json.Required.Default)]
public DirectoryObject Manager { get; set; }
/// <summary>
/// Gets or sets direct reports.
/// The users and contacts that report to the user. (The users and contacts that have their manager property set to this user.) Read-only. Nullable.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "directReports", Required = Newtonsoft.Json.Required.Default)]
public IUserDirectReportsCollectionWithReferencesPage DirectReports { get; set; }
/// <summary>
/// Gets or sets member of.
/// The groups and directory roles that the user is a member of. Read-only. Nullable.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "memberOf", Required = Newtonsoft.Json.Required.Default)]
public IUserMemberOfCollectionWithReferencesPage MemberOf { get; set; }
/// <summary>
/// Gets or sets created objects.
/// Directory objects that were created by the user. Read-only. Nullable.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "createdObjects", Required = Newtonsoft.Json.Required.Default)]
public IUserCreatedObjectsCollectionWithReferencesPage CreatedObjects { get; set; }
/// <summary>
/// Gets or sets owned objects.
/// Directory objects that are owned by the user. Read-only. Nullable.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "ownedObjects", Required = Newtonsoft.Json.Required.Default)]
public IUserOwnedObjectsCollectionWithReferencesPage OwnedObjects { get; set; }
/// <summary>
/// Gets or sets license details.
/// A collection of this user's license details. Read-only.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "licenseDetails", Required = Newtonsoft.Json.Required.Default)]
public IUserLicenseDetailsCollectionPage LicenseDetails { get; set; }
/// <summary>
/// Gets or sets transitive member of.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "transitiveMemberOf", Required = Newtonsoft.Json.Required.Default)]
public IUserTransitiveMemberOfCollectionWithReferencesPage TransitiveMemberOf { get; set; }
/// <summary>
/// Gets or sets extensions.
/// The collection of open extensions defined for the user. Read-only. Nullable.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "extensions", Required = Newtonsoft.Json.Required.Default)]
public IUserExtensionsCollectionPage Extensions { get; set; }
/// <summary>
/// Gets or sets outlook.
/// Read-only.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "outlook", Required = Newtonsoft.Json.Required.Default)]
public OutlookUser Outlook { get; set; }
/// <summary>
/// Gets or sets messages.
/// The messages in a mailbox or folder. Read-only. Nullable.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "messages", Required = Newtonsoft.Json.Required.Default)]
public IUserMessagesCollectionPage Messages { get; set; }
/// <summary>
/// Gets or sets mail folders.
/// The user's mail folders. Read-only. Nullable.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "mailFolders", Required = Newtonsoft.Json.Required.Default)]
public IUserMailFoldersCollectionPage MailFolders { get; set; }
/// <summary>
/// Gets or sets calendar.
/// The user's primary calendar. Read-only.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "calendar", Required = Newtonsoft.Json.Required.Default)]
public Calendar Calendar { get; set; }
/// <summary>
/// Gets or sets calendars.
/// The user's calendars. Read-only. Nullable.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "calendars", Required = Newtonsoft.Json.Required.Default)]
public IUserCalendarsCollectionPage Calendars { get; set; }
/// <summary>
/// Gets or sets calendar groups.
/// The user's calendar groups. Read-only. Nullable.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "calendarGroups", Required = Newtonsoft.Json.Required.Default)]
public IUserCalendarGroupsCollectionPage CalendarGroups { get; set; }
/// <summary>
/// Gets or sets calendar view.
/// The calendar view for the calendar. Read-only. Nullable.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "calendarView", Required = Newtonsoft.Json.Required.Default)]
public IUserCalendarViewCollectionPage CalendarView { get; set; }
/// <summary>
/// Gets or sets events.
/// The user's events. Default is to show Events under the Default Calendar. Read-only. Nullable.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "events", Required = Newtonsoft.Json.Required.Default)]
public IUserEventsCollectionPage Events { get; set; }
/// <summary>
/// Gets or sets people.
/// People that are relevant to the user. Read-only. Nullable.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "people", Required = Newtonsoft.Json.Required.Default)]
public IUserPeopleCollectionPage People { get; set; }
/// <summary>
/// Gets or sets contacts.
/// The user's contacts. Read-only. Nullable.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "contacts", Required = Newtonsoft.Json.Required.Default)]
public IUserContactsCollectionPage Contacts { get; set; }
/// <summary>
/// Gets or sets contact folders.
/// The user's contacts folders. Read-only. Nullable.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "contactFolders", Required = Newtonsoft.Json.Required.Default)]
public IUserContactFoldersCollectionPage ContactFolders { get; set; }
/// <summary>
/// Gets or sets inference classification.
/// Relevance classification of the user's messages based on explicit designations which override inferred relevance or importance.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "inferenceClassification", Required = Newtonsoft.Json.Required.Default)]
public InferenceClassification InferenceClassification { get; set; }
/// <summary>
/// Gets or sets photo.
/// The user's profile photo. Read-only.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "photo", Required = Newtonsoft.Json.Required.Default)]
public ProfilePhoto Photo { get; set; }
/// <summary>
/// Gets or sets photos.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "photos", Required = Newtonsoft.Json.Required.Default)]
public IUserPhotosCollectionPage Photos { get; set; }
/// <summary>
/// Gets or sets drive.
/// The user's OneDrive. Read-only.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "drive", Required = Newtonsoft.Json.Required.Default)]
public Drive Drive { get; set; }
/// <summary>
/// Gets or sets drives.
/// A collection of drives available for this user. Read-only.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "drives", Required = Newtonsoft.Json.Required.Default)]
public IUserDrivesCollectionPage Drives { get; set; }
/// <summary>
/// Gets or sets planner.
/// Entry-point to the Planner resource that might exist for a user. Read-only.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "planner", Required = Newtonsoft.Json.Required.Default)]
public PlannerUser Planner { get; set; }
/// <summary>
/// Gets or sets onenote.
/// Read-only.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "onenote", Required = Newtonsoft.Json.Required.Default)]
public Onenote Onenote { get; set; }
/// <summary>
/// Gets or sets managed devices.
/// The managed devices associated with the user.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "managedDevices", Required = Newtonsoft.Json.Required.Default)]
public IUserManagedDevicesCollectionPage ManagedDevices { get; set; }
/// <summary>
/// Gets or sets managed app registrations.
/// Zero or more managed app registrations that belong to the user.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "managedAppRegistrations", Required = Newtonsoft.Json.Required.Default)]
public IUserManagedAppRegistrationsCollectionWithReferencesPage ManagedAppRegistrations { get; set; }
/// <summary>
/// Gets or sets device management troubleshooting events.
/// The list of troubleshooting events for this user.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "deviceManagementTroubleshootingEvents", Required = Newtonsoft.Json.Required.Default)]
public IUserDeviceManagementTroubleshootingEventsCollectionPage DeviceManagementTroubleshootingEvents { get; set; }
/// <summary>
/// Gets or sets activities.
/// The user's activities across devices. Read-only. Nullable.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "activities", Required = Newtonsoft.Json.Required.Default)]
public IUserActivitiesCollectionPage Activities { get; set; }
/// <summary>
/// Gets or sets insights.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "insights", Required = Newtonsoft.Json.Required.Default)]
public OfficeGraphInsights Insights { get; set; }
/// <summary>
/// Gets or sets settings.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "settings", Required = Newtonsoft.Json.Required.Default)]
public UserSettings Settings { get; set; }
/// <summary>
/// Gets or sets joined teams.
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "joinedTeams", Required = Newtonsoft.Json.Required.Default)]
public IUserJoinedTeamsCollectionPage JoinedTeams { get; set; }
}
}