Skip to content

Instantly share code, notes, and snippets.

@DominicFinn
Created April 22, 2020 16:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DominicFinn/529cd4527b15b780b71426668a2590c2 to your computer and use it in GitHub Desktop.
Save DominicFinn/529cd4527b15b780b71426668a2590c2 to your computer and use it in GitHub Desktop.
The various User classes taken from the Google APIs helper lib. Kind of a picking list as the majority is just noise
/// <summary>JSON template for User object in Directory API.</summary>
public class User : Google.Apis.Requests.IDirectResponseSchema
{
[Newtonsoft.Json.JsonPropertyAttribute("addresses")]
public virtual System.Collections.Generic.IList<UserAddress> Addresses { get; set; }
/// <summary>Indicates if user has agreed to terms (Read-only)</summary>
[Newtonsoft.Json.JsonPropertyAttribute("agreedToTerms")]
public virtual System.Nullable<bool> AgreedToTerms { get; set; }
/// <summary>List of aliases (Read-only)</summary>
[Newtonsoft.Json.JsonPropertyAttribute("aliases")]
public virtual System.Collections.Generic.IList<string> Aliases { get; set; }
/// <summary>Indicates if user is archived.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("archived")]
public virtual System.Nullable<bool> Archived { get; set; }
/// <summary>Boolean indicating if the user should change password in next login</summary>
[Newtonsoft.Json.JsonPropertyAttribute("changePasswordAtNextLogin")]
public virtual System.Nullable<bool> ChangePasswordAtNextLogin { get; set; }
/// <summary>User's G Suite account creation time. (Read-only)</summary>
[Newtonsoft.Json.JsonPropertyAttribute("creationTime")]
public virtual string CreationTimeRaw { get; set; }
/// <summary><seealso cref="System.DateTime"/> representation of <see cref="CreationTimeRaw"/>.</summary>
[Newtonsoft.Json.JsonIgnore]
public virtual System.Nullable<System.DateTime> CreationTime
{
get
{
return Google.Apis.Util.Utilities.GetDateTimeFromString(CreationTimeRaw);
}
set
{
CreationTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTime(value);
}
}
/// <summary>Custom fields of the user.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("customSchemas")]
public virtual System.Collections.Generic.IDictionary<string,System.Collections.Generic.IDictionary<string,object>> CustomSchemas { get; set; }
/// <summary>CustomerId of User (Read-only)</summary>
[Newtonsoft.Json.JsonPropertyAttribute("customerId")]
public virtual string CustomerId { get; set; }
[Newtonsoft.Json.JsonPropertyAttribute("deletionTime")]
public virtual string DeletionTimeRaw { get; set; }
/// <summary><seealso cref="System.DateTime"/> representation of <see cref="DeletionTimeRaw"/>.</summary>
[Newtonsoft.Json.JsonIgnore]
public virtual System.Nullable<System.DateTime> DeletionTime
{
get
{
return Google.Apis.Util.Utilities.GetDateTimeFromString(DeletionTimeRaw);
}
set
{
DeletionTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTime(value);
}
}
[Newtonsoft.Json.JsonPropertyAttribute("emails")]
public virtual System.Collections.Generic.IList<UserEmail> Emails { get; set; }
/// <summary>ETag of the resource.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("etag")]
public virtual string ETag { get; set; }
[Newtonsoft.Json.JsonPropertyAttribute("externalIds")]
public virtual System.Collections.Generic.IList<UserExternalId> ExternalIds { get; set; }
[Newtonsoft.Json.JsonPropertyAttribute("gender")]
public virtual object Gender { get; set; }
/// <summary>Hash function name for password. Supported are MD5, SHA-1 and crypt</summary>
[Newtonsoft.Json.JsonPropertyAttribute("hashFunction")]
public virtual string HashFunction { get; set; }
/// <summary>Unique identifier of User (Read-only)</summary>
[Newtonsoft.Json.JsonPropertyAttribute("id")]
public virtual string Id { get; set; }
[Newtonsoft.Json.JsonPropertyAttribute("ims")]
public virtual System.Collections.Generic.IList<UserIm> Ims { get; set; }
/// <summary>Boolean indicating if user is included in Global Address List</summary>
[Newtonsoft.Json.JsonPropertyAttribute("includeInGlobalAddressList")]
public virtual System.Nullable<bool> IncludeInGlobalAddressList { get; set; }
/// <summary>Boolean indicating if ip is whitelisted</summary>
[Newtonsoft.Json.JsonPropertyAttribute("ipWhitelisted")]
public virtual System.Nullable<bool> IpWhitelisted { get; set; }
/// <summary>Boolean indicating if the user is admin (Read-only)</summary>
[Newtonsoft.Json.JsonPropertyAttribute("isAdmin")]
public virtual System.Nullable<bool> IsAdmin { get; set; }
/// <summary>Boolean indicating if the user is delegated admin (Read-only)</summary>
[Newtonsoft.Json.JsonPropertyAttribute("isDelegatedAdmin")]
public virtual System.Nullable<bool> IsDelegatedAdmin { get; set; }
/// <summary>Is 2-step verification enforced (Read-only)</summary>
[Newtonsoft.Json.JsonPropertyAttribute("isEnforcedIn2Sv")]
public virtual System.Nullable<bool> IsEnforcedIn2Sv { get; set; }
/// <summary>Is enrolled in 2-step verification (Read-only)</summary>
[Newtonsoft.Json.JsonPropertyAttribute("isEnrolledIn2Sv")]
public virtual System.Nullable<bool> IsEnrolledIn2Sv { get; set; }
/// <summary>Is mailbox setup (Read-only)</summary>
[Newtonsoft.Json.JsonPropertyAttribute("isMailboxSetup")]
public virtual System.Nullable<bool> IsMailboxSetup { get; set; }
[Newtonsoft.Json.JsonPropertyAttribute("keywords")]
public virtual object Keywords { get; set; }
/// <summary>Kind of resource this is.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("kind")]
public virtual string Kind { get; set; }
[Newtonsoft.Json.JsonPropertyAttribute("languages")]
public virtual object Languages { get; set; }
/// <summary>User's last login time. (Read-only)</summary>
[Newtonsoft.Json.JsonPropertyAttribute("lastLoginTime")]
public virtual string LastLoginTimeRaw { get; set; }
/// <summary><seealso cref="System.DateTime"/> representation of <see cref="LastLoginTimeRaw"/>.</summary>
[Newtonsoft.Json.JsonIgnore]
public virtual System.Nullable<System.DateTime> LastLoginTime
{
get
{
return Google.Apis.Util.Utilities.GetDateTimeFromString(LastLoginTimeRaw);
}
set
{
LastLoginTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTime(value);
}
}
[Newtonsoft.Json.JsonPropertyAttribute("locations")]
public virtual object Locations { get; set; }
/// <summary>User's name</summary>
[Newtonsoft.Json.JsonPropertyAttribute("name")]
public virtual UserName Name { get; set; }
/// <summary>List of non editable aliases (Read-only)</summary>
[Newtonsoft.Json.JsonPropertyAttribute("nonEditableAliases")]
public virtual System.Collections.Generic.IList<string> NonEditableAliases { get; set; }
[Newtonsoft.Json.JsonPropertyAttribute("notes")]
public virtual object Notes { get; set; }
/// <summary>OrgUnit of User</summary>
[Newtonsoft.Json.JsonPropertyAttribute("orgUnitPath")]
public virtual string OrgUnitPath { get; set; }
[Newtonsoft.Json.JsonPropertyAttribute("organizations")]
public virtual System.Collections.Generic.IList<UserOrganization> Organizations { get; set; }
/// <summary>User's password</summary>
[Newtonsoft.Json.JsonPropertyAttribute("password")]
public virtual string Password { get; set; }
[Newtonsoft.Json.JsonPropertyAttribute("phones")]
public virtual System.Collections.Generic.IList<UserPhone> Phones { get; set; }
[Newtonsoft.Json.JsonPropertyAttribute("posixAccounts")]
public virtual object PosixAccounts { get; set; }
/// <summary>username of User</summary>
[Newtonsoft.Json.JsonPropertyAttribute("primaryEmail")]
public virtual string PrimaryEmail { get; set; }
/// <summary>Recovery email of the user.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("recoveryEmail")]
public virtual string RecoveryEmail { get; set; }
/// <summary>Recovery phone of the user. The phone number must be in the E.164 format, starting with the plus
/// sign (+). Example: +16506661212.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("recoveryPhone")]
public virtual string RecoveryPhone { get; set; }
[Newtonsoft.Json.JsonPropertyAttribute("relations")]
public virtual System.Collections.Generic.IList<UserRelation> Relations { get; set; }
[Newtonsoft.Json.JsonPropertyAttribute("sshPublicKeys")]
public virtual object SshPublicKeys { get; set; }
/// <summary>Indicates if user is suspended.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("suspended")]
public virtual System.Nullable<bool> Suspended { get; set; }
/// <summary>Suspension reason if user is suspended (Read-only)</summary>
[Newtonsoft.Json.JsonPropertyAttribute("suspensionReason")]
public virtual string SuspensionReason { get; set; }
/// <summary>ETag of the user's photo (Read-only)</summary>
[Newtonsoft.Json.JsonPropertyAttribute("thumbnailPhotoEtag")]
public virtual string ThumbnailPhotoEtag { get; set; }
/// <summary>Photo Url of the user (Read-only)</summary>
[Newtonsoft.Json.JsonPropertyAttribute("thumbnailPhotoUrl")]
public virtual string ThumbnailPhotoUrl { get; set; }
[Newtonsoft.Json.JsonPropertyAttribute("websites")]
public virtual System.Collections.Generic.IList<UserWebsite> Websites { get; set; }
}
/// <summary>JSON template for About (notes) of a user in Directory API.</summary>
public class UserAbout : Google.Apis.Requests.IDirectResponseSchema
{
/// <summary>About entry can have a type which indicates the content type. It can either be plain or html. By
/// default, notes contents are assumed to contain plain text.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("contentType")]
public virtual string ContentType { get; set; }
/// <summary>Actual value of notes.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("value")]
public virtual string Value { get; set; }
/// <summary>The ETag of the item.</summary>
public virtual string ETag { get; set; }
}
/// <summary>JSON template for address.</summary>
public class UserAddress : Google.Apis.Requests.IDirectResponseSchema
{
/// <summary>Country.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("country")]
public virtual string Country { get; set; }
/// <summary>Country code.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("countryCode")]
public virtual string CountryCode { get; set; }
/// <summary>Custom type.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("customType")]
public virtual string CustomType { get; set; }
/// <summary>Extended Address.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("extendedAddress")]
public virtual string ExtendedAddress { get; set; }
/// <summary>Formatted address.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("formatted")]
public virtual string Formatted { get; set; }
/// <summary>Locality.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("locality")]
public virtual string Locality { get; set; }
/// <summary>Other parts of address.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("poBox")]
public virtual string PoBox { get; set; }
/// <summary>Postal code.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("postalCode")]
public virtual string PostalCode { get; set; }
/// <summary>If this is user's primary address. Only one entry could be marked as primary.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("primary")]
public virtual System.Nullable<bool> Primary { get; set; }
/// <summary>Region.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("region")]
public virtual string Region { get; set; }
/// <summary>User supplied address was structured. Structured addresses are NOT supported at this time. You
/// might be able to write structured addresses, but any values will eventually be clobbered.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("sourceIsStructured")]
public virtual System.Nullable<bool> SourceIsStructured { get; set; }
/// <summary>Street.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("streetAddress")]
public virtual string StreetAddress { get; set; }
/// <summary>Each entry can have a type which indicates standard values of that entry. For example address could
/// be of home, work etc. In addition to the standard type, an entry can have a custom type and can take any
/// value. Such type should have the CUSTOM value as type and also have a customType value.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("type")]
public virtual string Type { get; set; }
/// <summary>The ETag of the item.</summary>
public virtual string ETag { get; set; }
}
/// <summary>JSON template for an email.</summary>
public class UserEmail : Google.Apis.Requests.IDirectResponseSchema
{
/// <summary>Email id of the user.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("address")]
public virtual string Address { get; set; }
/// <summary>Custom Type.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("customType")]
public virtual string CustomType { get; set; }
/// <summary>If this is user's primary email. Only one entry could be marked as primary.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("primary")]
public virtual System.Nullable<bool> Primary { get; set; }
/// <summary>Each entry can have a type which indicates standard types of that entry. For example email could be
/// of home, work etc. In addition to the standard type, an entry can have a custom type and can take any value
/// Such types should have the CUSTOM value as type and also have a customType value.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("type")]
public virtual string Type { get; set; }
/// <summary>The ETag of the item.</summary>
public virtual string ETag { get; set; }
}
/// <summary>JSON template for an externalId entry.</summary>
public class UserExternalId : Google.Apis.Requests.IDirectResponseSchema
{
/// <summary>Custom type.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("customType")]
public virtual string CustomType { get; set; }
/// <summary>The type of the Id.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("type")]
public virtual string Type { get; set; }
/// <summary>The value of the id.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("value")]
public virtual string Value { get; set; }
/// <summary>The ETag of the item.</summary>
public virtual string ETag { get; set; }
}
public class UserGender : Google.Apis.Requests.IDirectResponseSchema
{
/// <summary>AddressMeAs. A human-readable string containing the proper way to refer to the profile owner by
/// humans, for example "he/him/his" or "they/them/their".</summary>
[Newtonsoft.Json.JsonPropertyAttribute("addressMeAs")]
public virtual string AddressMeAs { get; set; }
/// <summary>Custom gender.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("customGender")]
public virtual string CustomGender { get; set; }
/// <summary>Gender.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("type")]
public virtual string Type { get; set; }
/// <summary>The ETag of the item.</summary>
public virtual string ETag { get; set; }
}
/// <summary>JSON template for instant messenger of an user.</summary>
public class UserIm : Google.Apis.Requests.IDirectResponseSchema
{
/// <summary>Custom protocol.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("customProtocol")]
public virtual string CustomProtocol { get; set; }
/// <summary>Custom type.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("customType")]
public virtual string CustomType { get; set; }
/// <summary>Instant messenger id.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("im")]
public virtual string Im { get; set; }
/// <summary>If this is user's primary im. Only one entry could be marked as primary.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("primary")]
public virtual System.Nullable<bool> Primary { get; set; }
/// <summary>Protocol used in the instant messenger. It should be one of the values from ImProtocolTypes map.
/// Similar to type, it can take a CUSTOM value and specify the custom name in customProtocol field.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("protocol")]
public virtual string Protocol { get; set; }
/// <summary>Each entry can have a type which indicates standard types of that entry. For example instant
/// messengers could be of home, work etc. In addition to the standard type, an entry can have a custom type and
/// can take any value. Such types should have the CUSTOM value as type and also have a customType
/// value.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("type")]
public virtual string Type { get; set; }
/// <summary>The ETag of the item.</summary>
public virtual string ETag { get; set; }
}
/// <summary>JSON template for a keyword entry.</summary>
public class UserKeyword : Google.Apis.Requests.IDirectResponseSchema
{
/// <summary>Custom Type.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("customType")]
public virtual string CustomType { get; set; }
/// <summary>Each entry can have a type which indicates standard type of that entry. For example, keyword could
/// be of type occupation or outlook. In addition to the standard type, an entry can have a custom type and can
/// give it any name. Such types should have the CUSTOM value as type and also have a customType
/// value.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("type")]
public virtual string Type { get; set; }
/// <summary>Keyword.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("value")]
public virtual string Value { get; set; }
/// <summary>The ETag of the item.</summary>
public virtual string ETag { get; set; }
}
/// <summary>JSON template for a language entry.</summary>
public class UserLanguage : Google.Apis.Requests.IDirectResponseSchema
{
/// <summary>Other language. User can provide own language name if there is no corresponding Google III language
/// code. If this is set LanguageCode can't be set</summary>
[Newtonsoft.Json.JsonPropertyAttribute("customLanguage")]
public virtual string CustomLanguage { get; set; }
/// <summary>Language Code. Should be used for storing Google III LanguageCode string representation for
/// language. Illegal values cause SchemaException.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("languageCode")]
public virtual string LanguageCode { get; set; }
/// <summary>The ETag of the item.</summary>
public virtual string ETag { get; set; }
}
/// <summary>JSON template for a location entry.</summary>
public class UserLocation : Google.Apis.Requests.IDirectResponseSchema
{
/// <summary>Textual location. This is most useful for display purposes to concisely describe the location. For
/// example, "Mountain View, CA", "Near Seattle", "US-NYC-9TH 9A209A".</summary>
[Newtonsoft.Json.JsonPropertyAttribute("area")]
public virtual string Area { get; set; }
/// <summary>Building Identifier.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("buildingId")]
public virtual string BuildingId { get; set; }
/// <summary>Custom Type.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("customType")]
public virtual string CustomType { get; set; }
/// <summary>Most specific textual code of individual desk location.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("deskCode")]
public virtual string DeskCode { get; set; }
/// <summary>Floor name/number.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("floorName")]
public virtual string FloorName { get; set; }
/// <summary>Floor section. More specific location within the floor. For example, if a floor is divided into
/// sections "A", "B", and "C", this field would identify one of those values.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("floorSection")]
public virtual string FloorSection { get; set; }
/// <summary>Each entry can have a type which indicates standard types of that entry. For example location could
/// be of types default and desk. In addition to standard type, an entry can have a custom type and can give it
/// any name. Such types should have "custom" as type and also have a customType value.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("type")]
public virtual string Type { get; set; }
/// <summary>The ETag of the item.</summary>
public virtual string ETag { get; set; }
}
/// <summary>JSON request template for setting/revoking admin status of a user in Directory API.</summary>
public class UserMakeAdmin : Google.Apis.Requests.IDirectResponseSchema
{
/// <summary>Boolean indicating new admin status of the user</summary>
[Newtonsoft.Json.JsonPropertyAttribute("status")]
public virtual System.Nullable<bool> Status { get; set; }
/// <summary>The ETag of the item.</summary>
public virtual string ETag { get; set; }
}
/// <summary>JSON template for name of a user in Directory API.</summary>
public class UserName : Google.Apis.Requests.IDirectResponseSchema
{
/// <summary>Last Name</summary>
[Newtonsoft.Json.JsonPropertyAttribute("familyName")]
public virtual string FamilyName { get; set; }
/// <summary>Full Name</summary>
[Newtonsoft.Json.JsonPropertyAttribute("fullName")]
public virtual string FullName { get; set; }
/// <summary>First Name</summary>
[Newtonsoft.Json.JsonPropertyAttribute("givenName")]
public virtual string GivenName { get; set; }
/// <summary>The ETag of the item.</summary>
public virtual string ETag { get; set; }
}
/// <summary>JSON template for an organization entry.</summary>
public class UserOrganization : Google.Apis.Requests.IDirectResponseSchema
{
/// <summary>The cost center of the users department.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("costCenter")]
public virtual string CostCenter { get; set; }
/// <summary>Custom type.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("customType")]
public virtual string CustomType { get; set; }
/// <summary>Department within the organization.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("department")]
public virtual string Department { get; set; }
/// <summary>Description of the organization.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("description")]
public virtual string Description { get; set; }
/// <summary>The domain to which the organization belongs to.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("domain")]
public virtual string Domain { get; set; }
/// <summary>The full-time equivalent millipercent within the organization (100000 = 100%).</summary>
[Newtonsoft.Json.JsonPropertyAttribute("fullTimeEquivalent")]
public virtual System.Nullable<int> FullTimeEquivalent { get; set; }
/// <summary>Location of the organization. This need not be fully qualified address.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("location")]
public virtual string Location { get; set; }
/// <summary>Name of the organization</summary>
[Newtonsoft.Json.JsonPropertyAttribute("name")]
public virtual string Name { get; set; }
/// <summary>If it user's primary organization.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("primary")]
public virtual System.Nullable<bool> Primary { get; set; }
/// <summary>Symbol of the organization.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("symbol")]
public virtual string Symbol { get; set; }
/// <summary>Title (designation) of the user in the organization.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("title")]
public virtual string Title { get; set; }
/// <summary>Each entry can have a type which indicates standard types of that entry. For example organization
/// could be of school, work etc. In addition to the standard type, an entry can have a custom type and can give
/// it any name. Such types should have the CUSTOM value as type and also have a CustomType value.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("type")]
public virtual string Type { get; set; }
/// <summary>The ETag of the item.</summary>
public virtual string ETag { get; set; }
}
/// <summary>JSON template for a phone entry.</summary>
public class UserPhone : Google.Apis.Requests.IDirectResponseSchema
{
/// <summary>Custom Type.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("customType")]
public virtual string CustomType { get; set; }
/// <summary>If this is user's primary phone or not.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("primary")]
public virtual System.Nullable<bool> Primary { get; set; }
/// <summary>Each entry can have a type which indicates standard types of that entry. For example phone could be
/// of home_fax, work, mobile etc. In addition to the standard type, an entry can have a custom type and can
/// give it any name. Such types should have the CUSTOM value as type and also have a customType
/// value.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("type")]
public virtual string Type { get; set; }
/// <summary>Phone number.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("value")]
public virtual string Value { get; set; }
/// <summary>The ETag of the item.</summary>
public virtual string ETag { get; set; }
}
/// <summary>JSON template for Photo object in Directory API.</summary>
public class UserPhoto : Google.Apis.Requests.IDirectResponseSchema
{
/// <summary>ETag of the resource.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("etag")]
public virtual string ETag { get; set; }
/// <summary>Height in pixels of the photo</summary>
[Newtonsoft.Json.JsonPropertyAttribute("height")]
public virtual System.Nullable<int> Height { get; set; }
/// <summary>Unique identifier of User (Read-only)</summary>
[Newtonsoft.Json.JsonPropertyAttribute("id")]
public virtual string Id { get; set; }
/// <summary>Kind of resource this is.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("kind")]
public virtual string Kind { get; set; }
/// <summary>Mime Type of the photo</summary>
[Newtonsoft.Json.JsonPropertyAttribute("mimeType")]
public virtual string MimeType { get; set; }
/// <summary>Base64 encoded photo data</summary>
[Newtonsoft.Json.JsonPropertyAttribute("photoData")]
public virtual string PhotoData { get; set; }
/// <summary>Primary email of User (Read-only)</summary>
[Newtonsoft.Json.JsonPropertyAttribute("primaryEmail")]
public virtual string PrimaryEmail { get; set; }
/// <summary>Width in pixels of the photo</summary>
[Newtonsoft.Json.JsonPropertyAttribute("width")]
public virtual System.Nullable<int> Width { get; set; }
}
/// <summary>JSON template for a POSIX account entry. Description of the field family: go/fbs-posix.</summary>
public class UserPosixAccount : Google.Apis.Requests.IDirectResponseSchema
{
/// <summary>A POSIX account field identifier.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("accountId")]
public virtual string AccountId { get; set; }
/// <summary>The GECOS (user information) for this account.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("gecos")]
public virtual string Gecos { get; set; }
/// <summary>The default group ID.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("gid")]
public virtual System.Nullable<ulong> Gid { get; set; }
/// <summary>The path to the home directory for this account.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("homeDirectory")]
public virtual string HomeDirectory { get; set; }
/// <summary>The operating system type for this account.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("operatingSystemType")]
public virtual string OperatingSystemType { get; set; }
/// <summary>If this is user's primary account within the SystemId.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("primary")]
public virtual System.Nullable<bool> Primary { get; set; }
/// <summary>The path to the login shell for this account.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("shell")]
public virtual string Shell { get; set; }
/// <summary>System identifier for which account Username or Uid apply to.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("systemId")]
public virtual string SystemId { get; set; }
/// <summary>The POSIX compliant user ID.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("uid")]
public virtual System.Nullable<ulong> Uid { get; set; }
/// <summary>The username of the account.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("username")]
public virtual string Username { get; set; }
/// <summary>The ETag of the item.</summary>
public virtual string ETag { get; set; }
}
/// <summary>JSON template for a relation entry.</summary>
public class UserRelation : Google.Apis.Requests.IDirectResponseSchema
{
/// <summary>Custom Type.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("customType")]
public virtual string CustomType { get; set; }
/// <summary>The relation of the user. Some of the possible values are mother, father, sister, brother, manager,
/// assistant, partner.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("type")]
public virtual string Type { get; set; }
/// <summary>The name of the relation.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("value")]
public virtual string Value { get; set; }
/// <summary>The ETag of the item.</summary>
public virtual string ETag { get; set; }
}
/// <summary>JSON template for a POSIX account entry.</summary>
public class UserSshPublicKey : Google.Apis.Requests.IDirectResponseSchema
{
/// <summary>An expiration time in microseconds since epoch.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("expirationTimeUsec")]
public virtual System.Nullable<long> ExpirationTimeUsec { get; set; }
/// <summary>A SHA-256 fingerprint of the SSH public key. (Read-only)</summary>
[Newtonsoft.Json.JsonPropertyAttribute("fingerprint")]
public virtual string Fingerprint { get; set; }
/// <summary>An SSH public key.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("key")]
public virtual string Key { get; set; }
/// <summary>The ETag of the item.</summary>
public virtual string ETag { get; set; }
}
/// <summary>JSON request template to undelete a user in Directory API.</summary>
public class UserUndelete : Google.Apis.Requests.IDirectResponseSchema
{
/// <summary>OrgUnit of User</summary>
[Newtonsoft.Json.JsonPropertyAttribute("orgUnitPath")]
public virtual string OrgUnitPath { get; set; }
/// <summary>The ETag of the item.</summary>
public virtual string ETag { get; set; }
}
/// <summary>JSON template for a website entry.</summary>
public class UserWebsite : Google.Apis.Requests.IDirectResponseSchema
{
/// <summary>Custom Type.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("customType")]
public virtual string CustomType { get; set; }
/// <summary>If this is user's primary website or not.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("primary")]
public virtual System.Nullable<bool> Primary { get; set; }
/// <summary>Each entry can have a type which indicates standard types of that entry. For example website could
/// be of home, work, blog etc. In addition to the standard type, an entry can have a custom type and can give
/// it any name. Such types should have the CUSTOM value as type and also have a customType value.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("type")]
public virtual string Type { get; set; }
/// <summary>Website.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("value")]
public virtual string Value { get; set; }
/// <summary>The ETag of the item.</summary>
public virtual string ETag { get; set; }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment