Classes_v1.PS1


Enum GraphAutomaticRepliesStatus_v1 {
        Disabled = 0
        AlwaysEnabled = 1
        Scheduled = 2
}
Enum GraphExternalAudienceScope_v1 {
        None = 0
        ContactsOnly = 1
        All = 2
}
Enum GraphBodyType_v1 {
        Text = 0
        Html = 1
}
Enum GraphImportance_v1 {
        Low = 0
        Normal = 1
        High = 2
}
Enum GraphInferenceClassificationType_v1 {
        Focused = 0
        Other = 1
}
Enum GraphCalendarColor_v1 {
        LightBlue = 0
        LightGreen = 1
        LightOrange = 2
        LightGray = 3
        LightYellow = 4
        LightTeal = 5
        LightPink = 6
        LightBrown = 7
        LightRed = 8
        MaxColor = 9
        Auto = -1
}
Enum GraphResponseType_v1 {
        None = 0
        Organizer = 1
        TentativelyAccepted = 2
        Accepted = 3
        Declined = 4
        NotResponded = 5
}
Enum GraphSensitivity_v1 {
        Normal = 0
        Personal = 1
        Private = 2
        Confidential = 3
}
Enum GraphRecurrencePatternType_v1 {
        Daily = 0
        Weekly = 1
        AbsoluteMonthly = 2
        RelativeMonthly = 3
        AbsoluteYearly = 4
        RelativeYearly = 5
}
Enum GraphDayOfWeek_v1 {
        Sunday = 0
        Monday = 1
        Tuesday = 2
        Wednesday = 3
        Thursday = 4
        Friday = 5
        Saturday = 6
}
Enum GraphWeekIndex_v1 {
        First = 0
        Second = 1
        Third = 2
        Fourth = 3
        Last = 4
}
Enum GraphRecurrenceRangeType_v1 {
        EndDate = 0
        NoEnd = 1
        Numbered = 2
}
Enum GraphFreeBusyStatus_v1 {
        Free = 0
        Tentative = 1
        Busy = 2
        Oof = 3
        WorkingElsewhere = 4
        Unknown = -1
}
Enum GraphEventType_v1 {
        SingleInstance = 0
        Occurrence = 1
        Exception = 2
        SeriesMaster = 3
}
Enum GraphAttendeeType_v1 {
        Required = 0
        Optional = 1
        Resource = 2
}
Enum GraphMeetingMessageType_v1 {
        None = 0
        MeetingRequest = 1
        MeetingCancelled = 2
        MeetingAccepted = 3
        MeetingTenativelyAccepted = 4
        MeetingDeclined = 5
}
Class GraphAlternativeSecurityId_v1 {
    [System.Nullable[int]]$Type
    [string]$IdentityProvider
    [object]$key #Edm.Binary
}
Class GraphLicenseUnitsDetail_v1 {
    [System.Nullable[int]]$Enabled
    [System.Nullable[int]]$Suspended
    [System.Nullable[int]]$Warning
}
Class GraphServicePlanInfo_v1 {
    [System.Nullable[guid]]$ServicePlanId
    [string]$ServicePlanName
    [string]$ProvisioningStatus
    [string]$AppliesTo
}
Class GraphAssignedPlan_v1 {
    [System.Nullable[datetime]]$AssignedDateTime
    [string]$CapabilityStatus
    [string]$Service
    [System.Nullable[guid]]$ServicePlanId
}
Class GraphProvisionedPlan_v1 {
    [string]$CapabilityStatus
    [string]$ProvisioningStatus
    [string]$Service
}
Class GraphVerifiedDomain_v1 {
    [string]$Capabilities
    [System.Nullable[bool]]$IsDefault
    [System.Nullable[bool]]$IsInitial
    [string]$Name
    [string]$Type
}
Class GraphAssignedLicense_v1 {
    [System.Nullable[guid][]]$DisabledPlans
    [System.Nullable[guid]]$SkuId
}
Class GraphPasswordProfile_v1 {
    [string]$Password
    [System.Nullable[bool]]$ForceChangePasswordNextSignIn
}
Class GraphMailboxSettings_v1 {
    [GraphautomaticRepliesSetting_v1]$AutomaticRepliesSetting
    [string]$TimeZone
    [GraphlocaleInfo_v1]$Language
    MailboxSettings_v1() {
        $this.AutomaticRepliesSetting = New-Object GraphautomaticRepliesSetting_v1
        $this.Language = New-Object GraphlocaleInfo_v1
    }
}
Class GraphAutomaticRepliesSetting_v1 {
    [GraphautomaticRepliesStatus_v1]$Status
    [GraphexternalAudienceScope_v1]$ExternalAudience
    [GraphdateTimeTimeZone_v1]$ScheduledStartDateTime
    [GraphdateTimeTimeZone_v1]$ScheduledEndDateTime
    [string]$InternalReplyMessage
    [string]$ExternalReplyMessage
    AutomaticRepliesSetting_v1() {
        $this.Status = New-Object GraphautomaticRepliesStatus_v1
        $this.ExternalAudience = New-Object GraphexternalAudienceScope_v1
        $this.ScheduledStartDateTime = New-Object GraphdateTimeTimeZone_v1
        $this.ScheduledEndDateTime = New-Object GraphdateTimeTimeZone_v1
    }
}
Class GraphDateTimeTimeZone_v1 {
    [string]$DateTime
    [string]$TimeZone
}
Class GraphLocaleInfo_v1 {
    [string]$Locale
    [string]$DisplayName
}
Class GraphReminder_v1 {
    [string]$EventId
    [GraphdateTimeTimeZone_v1]$EventStartTime
    [GraphdateTimeTimeZone_v1]$EventEndTime
    [string]$ChangeKey
    [string]$EventSubject
    [Graphlocation_v1]$EventLocation
    [string]$EventWebLink
    [GraphdateTimeTimeZone_v1]$ReminderFireTime
    Reminder_v1() {
        $this.EventStartTime = New-Object GraphdateTimeTimeZone_v1
        $this.EventEndTime = New-Object GraphdateTimeTimeZone_v1
        $this.EventLocation = New-Object Graphlocation_v1
        $this.ReminderFireTime = New-Object GraphdateTimeTimeZone_v1
    }
}
Class GraphLocation_v1 {
    [string]$DisplayName
    [GraphphysicalAddress_v1]$Address
    Location_v1() {
        $this.Address = New-Object GraphphysicalAddress_v1
    }
}
Class GraphPhysicalAddress_v1 {
    [string]$Street
    [string]$City
    [string]$State
    [string]$CountryOrRegion
    [string]$PostalCode
}
Class GraphItemBody_v1 {
    [GraphbodyType_v1]$ContentType
    [string]$Content
    ItemBody_v1() {
        $this.ContentType = New-Object GraphbodyType_v1
    }
}
Class GraphRecipient_v1 {
    [GraphemailAddress_v1]$EmailAddress
    Recipient_v1() {
        $this.EmailAddress = New-Object GraphemailAddress_v1
    }
}
Class GraphEmailAddress_v1 {
    [string]$Name
    [string]$Address
}
Class GraphResponseStatus_v1 {
    [GraphresponseType_v1]$Response
    [System.Nullable[datetime]]$Time
    ResponseStatus_v1() {
        $this.Response = New-Object GraphresponseType_v1
    }
}
Class GraphPatternedRecurrence_v1 {
    [GraphrecurrencePattern_v1]$Pattern
    [GraphrecurrenceRange_v1]$Range
    PatternedRecurrence_v1() {
        $this.Pattern = New-Object GraphrecurrencePattern_v1
        $this.Range = New-Object GraphrecurrenceRange_v1
    }
}
Class GraphRecurrencePattern_v1 {
    [GraphrecurrencePatternType_v1]$Type
    [System.Nullable[int]]$Interval
    [System.Nullable[int]]$Month
    [System.Nullable[int]]$DayOfMonth
    [GraphDayOfWeek_v1[]]$DaysOfWeek
    [GraphdayOfWeek_v1]$FirstDayOfWeek
    [GraphweekIndex_v1]$Index
    RecurrencePattern_v1() {
        $this.Type = New-Object GraphrecurrencePatternType_v1
        $this.FirstDayOfWeek = New-Object GraphdayOfWeek_v1
        $this.Index = New-Object GraphweekIndex_v1
    }
}
Class GraphRecurrenceRange_v1 {
    [GraphrecurrenceRangeType_v1]$Type
    [System.Nullable[datetime]]$StartDate
    [System.Nullable[datetime]]$EndDate
    [string]$RecurrenceTimeZone
    [System.Nullable[int]]$NumberOfOccurrences
    RecurrenceRange_v1() {
        $this.Type = New-Object GraphrecurrenceRangeType_v1
    }
}
Class GraphAttendee_v1 {
    [GraphresponseStatus_v1]$Status
    [GraphattendeeType_v1]$Type
    Attendee_v1() {
        $this.Status = New-Object GraphresponseStatus_v1
        $this.Type = New-Object GraphattendeeType_v1
    }
}
Class GraphIdentitySet_v1 {
    [Graphidentity_v1]$Application
    [Graphidentity_v1]$Device
    [Graphidentity_v1]$User
    IdentitySet_v1() {
        $this.Application = New-Object Graphidentity_v1
        $this.Device = New-Object Graphidentity_v1
        $this.User = New-Object Graphidentity_v1
    }
}
Class GraphIdentity_v1 {
    [string]$DisplayName
    [string]$Id
}
Class GraphQuota_v1 {
    [System.Nullable[int64]]$Deleted
    [System.Nullable[int64]]$Remaining
    [string]$State
    [System.Nullable[int64]]$Total
    [System.Nullable[int64]]$Used
}
Class GraphAudio_v1 {
    [string]$Album
    [string]$AlbumArtist
    [string]$Artist
    [System.Nullable[int64]]$Bitrate
    [string]$Composers
    [string]$Copyright
    [System.Nullable[int16]]$Disc
    [System.Nullable[int16]]$DiscCount
    [System.Nullable[int64]]$Duration
    [string]$Genre
    [System.Nullable[bool]]$HasDrm
    [System.Nullable[bool]]$IsVariableBitrate
    [string]$Title
    [System.Nullable[int]]$Track
    [System.Nullable[int]]$TrackCount
    [System.Nullable[int]]$Year
}
Class GraphDeleted_v1 {
    [string]$State
}
Class GraphFile_v1 {
    [Graphhashes_v1]$Hashes
    [string]$MimeType
    [System.Nullable[bool]]$ProcessingMetadata
    File_v1() {
        $this.Hashes = New-Object Graphhashes_v1
    }
}
Class GraphHashes_v1 {
    [string]$Crc32Hash
    [string]$Sha1Hash
    [string]$QuickXorHash
}
Class GraphFileSystemInfo_v1 {
    [System.Nullable[datetime]]$CreatedDateTime
    [System.Nullable[datetime]]$LastModifiedDateTime
}
Class GraphFolder_v1 {
    [System.Nullable[int]]$ChildCount
}
Class GraphImage_v1 {
    [System.Nullable[int]]$Height
    [System.Nullable[int]]$Width
}
Class GraphGeoCoordinates_v1 {
    [System.Nullable[double]]$Altitude
    [System.Nullable[double]]$Latitude
    [System.Nullable[double]]$Longitude
}
Class GraphPackage_v1 {
    [string]$Type
}
Class GraphItemReference_v1 {
    [string]$DriveId
    [string]$Id
    [string]$Name
    [string]$Path
    [string]$ShareId
}
Class GraphPhoto_v1 {
    [string]$CameraMake
    [string]$CameraModel
    [System.Nullable[double]]$ExposureDenominator
    [System.Nullable[double]]$ExposureNumerator
    [System.Nullable[double]]$FocalLength
    [System.Nullable[double]]$FNumber
    [System.Nullable[datetime]]$TakenDateTime
    [System.Nullable[int]]$Iso
}
Class GraphRemoteItem_v1 {
    [GraphidentitySet_v1]$CreatedBy
    [System.Nullable[datetime]]$CreatedDateTime
    [Graphfile_v1]$File
    [GraphfileSystemInfo_v1]$FileSystemInfo
    [Graphfolder_v1]$Folder
    [string]$Id
    [GraphidentitySet_v1]$LastModifiedBy
    [System.Nullable[datetime]]$LastModifiedDateTime
    [string]$Name
    [Graphpackage_v1]$Package
    [GraphitemReference_v1]$ParentReference
    [GraphsharepointIds_v1]$SharepointIds
    [System.Nullable[int64]]$Size
    [GraphspecialFolder_v1]$SpecialFolder
    [string]$WebDavUrl
    [string]$WebUrl
    RemoteItem_v1() {
        $this.CreatedBy = New-Object GraphidentitySet_v1
        $this.File = New-Object Graphfile_v1
        $this.FileSystemInfo = New-Object GraphfileSystemInfo_v1
        $this.Folder = New-Object Graphfolder_v1
        $this.LastModifiedBy = New-Object GraphidentitySet_v1
        $this.Package = New-Object Graphpackage_v1
        $this.ParentReference = New-Object GraphitemReference_v1
        $this.SharepointIds = New-Object GraphsharepointIds_v1
        $this.SpecialFolder = New-Object GraphspecialFolder_v1
    }
}
Class GraphSharepointIds_v1 {
    [string]$ListId
    [string]$ListItemId
    [string]$ListItemUniqueId
    [string]$SiteId
    [string]$WebId
}
Class GraphSpecialFolder_v1 {
    [string]$Name
}
Class GraphRoot_v1 {
}
Class GraphSearchResult_v1 {
    [string]$OnClickTelemetryUrl
}
Class GraphShared_v1 {
    [GraphidentitySet_v1]$Owner
    [string]$Scope
    Shared_v1() {
        $this.Owner = New-Object GraphidentitySet_v1
    }
}
Class GraphVideo_v1 {
    [System.Nullable[int]]$Bitrate
    [System.Nullable[int64]]$Duration
    [System.Nullable[int]]$Height
    [System.Nullable[int]]$Width
}
Class GraphSharingInvitation_v1 {
    [string]$Email
    [GraphidentitySet_v1]$InvitedBy
    [string]$RedeemedBy
    [System.Nullable[bool]]$SignInRequired
    SharingInvitation_v1() {
        $this.InvitedBy = New-Object GraphidentitySet_v1
    }
}
Class GraphSharingLink_v1 {
    [Graphidentity_v1]$Application
    [string]$Type
    [string]$Scope
    [string]$WebUrl
    SharingLink_v1() {
        $this.Application = New-Object Graphidentity_v1
    }
}
Class GraphThumbnail_v1 {
    [object]$content #Edm.Stream
    [System.Nullable[int]]$Height
    [string]$Url
    [System.Nullable[int]]$Width
}
Class GraphDriveRecipient_v1 {
    [string]$Email
    [string]$Alias
    [string]$ObjectId
}
Class GraphDriveItemUploadableProperties_v1 {
    [string]$Name
    [string]$Description
    [GraphfileSystemInfo_v1]$FileSystemInfo
    DriveItemUploadableProperties_v1() {
        $this.FileSystemInfo = New-Object GraphfileSystemInfo_v1
    }
}
Class GraphUploadSession_v1 {
    [string]$UploadUrl
    [System.Nullable[datetime]]$ExpirationDateTime
    [string[]]$NextExpectedRanges
}
Class GraphWorkbookSessionInfo_v1 {
    [string]$Id
    [System.Nullable[bool]]$PersistChanges
}
Class GraphJson_v1 {
}
Class GraphWorkbookFilterCriteria_v1 {
    [string]$Color
    [string]$Criterion1
    [string]$Criterion2
    [string]$DynamicCriteria
    [string]$FilterOn
    [GraphworkbookIcon_v1]$Icon
    [string]$Operator
    [GraphJson_v1]$Values
    WorkbookFilterCriteria_v1() {
        $this.Icon = New-Object GraphworkbookIcon_v1
        $this.Values = New-Object GraphJson_v1
    }
}
Class GraphWorkbookIcon_v1 {
    [System.Nullable[int]]$Index
    [string]$Set
}
Class GraphWorkbookSortField_v1 {
    [System.Nullable[bool]]$Ascending
    [string]$Color
    [string]$DataOption
    [GraphworkbookIcon_v1]$Icon
    [System.Nullable[int]]$Key
    [string]$SortOn
    WorkbookSortField_v1() {
        $this.Icon = New-Object GraphworkbookIcon_v1
    }
}
Class GraphWorkbookWorksheetProtectionOptions_v1 {
    [System.Nullable[bool]]$AllowAutoFilter
    [System.Nullable[bool]]$AllowDeleteColumns
    [System.Nullable[bool]]$AllowDeleteRows
    [System.Nullable[bool]]$AllowFormatCells
    [System.Nullable[bool]]$AllowFormatColumns
    [System.Nullable[bool]]$AllowFormatRows
    [System.Nullable[bool]]$AllowInsertColumns
    [System.Nullable[bool]]$AllowInsertHyperlinks
    [System.Nullable[bool]]$AllowInsertRows
    [System.Nullable[bool]]$AllowPivotTables
    [System.Nullable[bool]]$AllowSort
}
Class GraphWorkbookFilterDatetime_v1 {
    [string]$Date
    [string]$Specificity
}
Class GraphWorkbookRangeReference_v1 {
    [string]$Address
}

Class GraphDirectoryObject_v1 {
    [string]$id
}
Class GraphDevice_v1 {
    [string]$id
    [System.Nullable[bool]]$AccountEnabled
    [GraphAlternativeSecurityId_v1[]]$AlternativeSecurityIds
    [System.Nullable[datetime]]$ApproximateLastSignInDateTime
    [string]$DeviceId
    [string]$DeviceMetadata
    [System.Nullable[int]]$DeviceVersion
    [string]$DisplayName
    [System.Nullable[bool]]$IsCompliant
    [System.Nullable[bool]]$IsManaged
    [System.Nullable[datetime]]$OnPremisesLastSyncDateTime
    [System.Nullable[bool]]$OnPremisesSyncEnabled
    [string]$OperatingSystem
    [string]$OperatingSystemVersion
    [string[]]$PhysicalIds
    [string]$TrustType
    [object]Get_registeredOwners() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Devices/$($this.Id)/RegisteredOwners")
    }
    [object]Get_registeredUsers() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Devices/$($this.Id)/RegisteredUsers")
    }
}
Class GraphDirectoryRole_v1 {
    [string]$id
    [string]$Description
    [string]$DisplayName
    [string]$RoleTemplateId
    [object]Get_members() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "DirectoryRoles/$($this.Id)/Members")
    }
}
Class GraphDirectoryRoleTemplate_v1 {
    [string]$id
    [string]$Description
    [string]$DisplayName
}
Class GraphGroup_v1 {
    [string]$id
    [string]$Description
    [string]$DisplayName
    [string[]]$GroupTypes
    [string]$Mail
    [System.Nullable[bool]]$MailEnabled
    [string]$MailNickname
    [System.Nullable[datetime]]$OnPremisesLastSyncDateTime
    [string]$OnPremisesSecurityIdentifier
    [System.Nullable[bool]]$OnPremisesSyncEnabled
    [string[]]$ProxyAddresses
    [System.Nullable[bool]]$SecurityEnabled
    [string]$Visibility
    [System.Nullable[bool]]$AllowExternalSenders
    [System.Nullable[bool]]$AutoSubscribeNewMembers
    [System.Nullable[bool]]$IsSubscribedByMail
    [System.Nullable[int]]$UnseenCount
    [object]Get_members() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Groups/$($this.Id)/Members")
    }
    [object]Get_memberOf() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Groups/$($this.Id)/MemberOf")
    }
    [object]Get_createdOnBehalfOf() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Groups/$($this.Id)/CreatedOnBehalfOf")
    }
    [object]Get_owners() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Groups/$($this.Id)/Owners")
    }
    [object]Get_threads() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Groups/$($this.Id)/Threads")
    }
    [object]Get_calendar() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Groups/$($this.Id)/Calendar")
    }
    [object]Get_calendarView() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Groups/$($this.Id)/CalendarView")
    }
    [object]Get_events() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Groups/$($this.Id)/Events")
    }
    [object]Get_conversations() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Groups/$($this.Id)/Conversations")
    }
    [object]Get_photo() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Groups/$($this.Id)/Photo")
    }
    [object]Get_acceptedSenders() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Groups/$($this.Id)/AcceptedSenders")
    }
    [object]Get_rejectedSenders() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Groups/$($this.Id)/RejectedSenders")
    }
    [object]Get_drive() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Groups/$($this.Id)/Drive")
    }
}
Class GraphConversationThread_v1 {
    [string]$id
    [GraphRecipient_v1[]]$ToRecipients
    [string]$Topic
    [System.Nullable[bool]]$HasAttachments
    [System.Nullable[datetime]]$LastDeliveredDateTime
    [string[]]$UniqueSenders
    [GraphRecipient_v1[]]$CcRecipients
    [string]$Preview
    [System.Nullable[bool]]$IsLocked
    [object]Get_posts() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "ConversationThreads/$($this.Id)/Posts")
    }
}
Class GraphCalendar_v1 {
    [string]$id
    [string]$Name
    [GraphcalendarColor_v1]$Color
    [string]$ChangeKey
    Calendar_v1() {
        $this.Color = New-Object GraphcalendarColor_v1
    }
    [object]Get_events() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Calendars/$($this.Id)/Events")
    }
    [object]Get_calendarView() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Calendars/$($this.Id)/CalendarView")
    }
    [object]Get_singleValueExtendedProperties() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Calendars/$($this.Id)/SingleValueExtendedProperties")
    }
    [object]Get_multiValueExtendedProperties() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Calendars/$($this.Id)/MultiValueExtendedProperties")
    }
}
Class GraphOutlookItem_v1 {
    [string]$id
    [System.Nullable[datetime]]$CreatedDateTime
    [System.Nullable[datetime]]$LastModifiedDateTime
    [string]$ChangeKey
    [string[]]$Categories
}
Class GraphEvent_v1 {
    [string]$id
    [string]$OriginalStartTimeZone
    [string]$OriginalEndTimeZone
    [GraphresponseStatus_v1]$ResponseStatus
    [string]$ICalUId
    [System.Nullable[int]]$ReminderMinutesBeforeStart
    [System.Nullable[bool]]$IsReminderOn
    [System.Nullable[bool]]$HasAttachments
    [string]$Subject
    [GraphitemBody_v1]$Body
    [string]$BodyPreview
    [Graphimportance_v1]$Importance
    [Graphsensitivity_v1]$Sensitivity
    [GraphdateTimeTimeZone_v1]$Start
    [System.Nullable[datetime]]$OriginalStart
    [GraphdateTimeTimeZone_v1]$End
    [Graphlocation_v1]$Location
    [System.Nullable[bool]]$IsAllDay
    [System.Nullable[bool]]$IsCancelled
    [System.Nullable[bool]]$IsOrganizer
    [GraphpatternedRecurrence_v1]$Recurrence
    [System.Nullable[bool]]$ResponseRequested
    [string]$SeriesMasterId
    [GraphfreeBusyStatus_v1]$ShowAs
    [GrapheventType_v1]$Type
    [GraphAttendee_v1[]]$Attendees
    [Graphrecipient_v1]$Organizer
    [string]$WebLink
    [string]$OnlineMeetingUrl
    Event_v1() {
        $this.ResponseStatus = New-Object GraphresponseStatus_v1
        $this.Body = New-Object GraphitemBody_v1
        $this.Importance = New-Object Graphimportance_v1
        $this.Sensitivity = New-Object Graphsensitivity_v1
        $this.Start = New-Object GraphdateTimeTimeZone_v1
        $this.End = New-Object GraphdateTimeTimeZone_v1
        $this.Location = New-Object Graphlocation_v1
        $this.Recurrence = New-Object GraphpatternedRecurrence_v1
        $this.ShowAs = New-Object GraphfreeBusyStatus_v1
        $this.Type = New-Object GrapheventType_v1
        $this.Organizer = New-Object Graphrecipient_v1
    }
    [object]Get_calendar() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Events/$($this.Id)/Calendar")
    }
    [object]Get_instances() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Events/$($this.Id)/Instances")
    }
    [object]Get_extensions() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Events/$($this.Id)/Extensions")
    }
    [object]Get_attachments() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Events/$($this.Id)/Attachments")
    }
    [object]Get_singleValueExtendedProperties() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Events/$($this.Id)/SingleValueExtendedProperties")
    }
    [object]Get_multiValueExtendedProperties() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Events/$($this.Id)/MultiValueExtendedProperties")
    }
}
Class GraphConversation_v1 {
    [string]$id
    [string]$Topic
    [System.Nullable[bool]]$HasAttachments
    [System.Nullable[datetime]]$LastDeliveredDateTime
    [string[]]$UniqueSenders
    [string]$Preview
    [object]Get_threads() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Conversations/$($this.Id)/Threads")
    }
}
Class GraphProfilePhoto_v1 {
    [string]$id
    [System.Nullable[int]]$Height
    [System.Nullable[int]]$Width
}
Class GraphDrive_v1 {
    [string]$id
    [string]$DriveType
    [GraphidentitySet_v1]$Owner
    [Graphquota_v1]$Quota
    Drive_v1() {
        $this.Owner = New-Object GraphidentitySet_v1
        $this.Quota = New-Object Graphquota_v1
    }
    [object]Get_items() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Drives/$($this.Id)/Items")
    }
    [object]Get_special() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Drives/$($this.Id)/Special")
    }
    [object]Get_root() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Drives/$($this.Id)/Root")
    }
}
Class GraphSubscribedSku_v1 {
    [string]$id
    [string]$CapabilityStatus
    [System.Nullable[int]]$ConsumedUnits
    [GraphlicenseUnitsDetail_v1]$PrepaidUnits
    [GraphServicePlanInfo_v1[]]$ServicePlans
    [System.Nullable[guid]]$SkuId
    [string]$SkuPartNumber
    [string]$AppliesTo
    SubscribedSku_v1() {
        $this.PrepaidUnits = New-Object GraphlicenseUnitsDetail_v1
    }
}
Class GraphOrganization_v1 {
    [string]$id
    [GraphAssignedPlan_v1[]]$AssignedPlans
    [string[]]$BusinessPhones
    [string]$City
    [string]$Country
    [string]$CountryLetterCode
    [string]$DisplayName
    [string[]]$MarketingNotificationEmails
    [System.Nullable[datetime]]$OnPremisesLastSyncDateTime
    [System.Nullable[bool]]$OnPremisesSyncEnabled
    [string]$PostalCode
    [string]$PreferredLanguage
    [GraphProvisionedPlan_v1[]]$ProvisionedPlans
    [string[]]$SecurityComplianceNotificationMails
    [string[]]$SecurityComplianceNotificationPhones
    [string]$State
    [string]$Street
    [string[]]$TechnicalNotificationMails
    [GraphVerifiedDomain_v1[]]$VerifiedDomains
}
Class GraphUser_v1 {
    [string]$id
    [System.Nullable[bool]]$AccountEnabled
    [GraphAssignedLicense_v1[]]$AssignedLicenses
    [GraphAssignedPlan_v1[]]$AssignedPlans
    [string[]]$BusinessPhones
    [string]$City
    [string]$CompanyName
    [string]$Country
    [string]$Department
    [string]$DisplayName
    [string]$GivenName
    [string]$JobTitle
    [string]$Mail
    [string]$MailNickname
    [string]$MobilePhone
    [string]$OnPremisesImmutableId
    [System.Nullable[datetime]]$OnPremisesLastSyncDateTime
    [string]$OnPremisesSecurityIdentifier
    [System.Nullable[bool]]$OnPremisesSyncEnabled
    [string]$PasswordPolicies
    [GraphpasswordProfile_v1]$PasswordProfile
    [string]$OfficeLocation
    [string]$PostalCode
    [string]$PreferredLanguage
    [GraphProvisionedPlan_v1[]]$ProvisionedPlans
    [string[]]$ProxyAddresses
    [string]$State
    [string]$StreetAddress
    [string]$Surname
    [string]$UsageLocation
    [string]$UserPrincipalName
    [string]$UserType
    [GraphmailboxSettings_v1]$MailboxSettings
    [string]$AboutMe
    [System.Nullable[datetime]]$Birthday
    [System.Nullable[datetime]]$HireDate
    [string[]]$Interests
    [string]$MySite
    [string[]]$PastProjects
    [string]$PreferredName
    [string[]]$Responsibilities
    [string[]]$Schools
    [string[]]$Skills
    User_v1() {
        $this.PasswordProfile = New-Object GraphpasswordProfile_v1
        $this.MailboxSettings = New-Object GraphmailboxSettings_v1
    }
    [object]Get_ownedDevices() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Users/$($this.Id)/OwnedDevices")
    }
    [object]Get_registeredDevices() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Users/$($this.Id)/RegisteredDevices")
    }
    [object]Get_manager() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Users/$($this.Id)/Manager")
    }
    [object]Get_directReports() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Users/$($this.Id)/DirectReports")
    }
    [object]Get_memberOf() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Users/$($this.Id)/MemberOf")
    }
    [object]Get_createdObjects() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Users/$($this.Id)/CreatedObjects")
    }
    [object]Get_ownedObjects() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Users/$($this.Id)/OwnedObjects")
    }
    [object]Get_messages() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Users/$($this.Id)/Messages")
    }
    [object]Get_mailFolders() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Users/$($this.Id)/MailFolders")
    }
    [object]Get_calendar() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Users/$($this.Id)/Calendar")
    }
    [object]Get_calendars() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Users/$($this.Id)/Calendars")
    }
    [object]Get_calendarGroups() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Users/$($this.Id)/CalendarGroups")
    }
    [object]Get_calendarView() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Users/$($this.Id)/CalendarView")
    }
    [object]Get_events() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Users/$($this.Id)/Events")
    }
    [object]Get_contacts() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Users/$($this.Id)/Contacts")
    }
    [object]Get_contactFolders() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Users/$($this.Id)/ContactFolders")
    }
    [object]Get_inferenceClassification() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Users/$($this.Id)/InferenceClassification")
    }
    [object]Get_photo() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Users/$($this.Id)/Photo")
    }
    [object]Get_drive() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Users/$($this.Id)/Drive")
    }
    [object]Get_drives() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Users/$($this.Id)/Drives")
    }
}
Class GraphMessage_v1 {
    [string]$id
    [System.Nullable[datetime]]$ReceivedDateTime
    [System.Nullable[datetime]]$SentDateTime
    [System.Nullable[bool]]$HasAttachments
    [string]$InternetMessageId
    [string]$Subject
    [GraphitemBody_v1]$Body
    [string]$BodyPreview
    [Graphimportance_v1]$Importance
    [string]$ParentFolderId
    [Graphrecipient_v1]$Sender
    [Graphrecipient_v1]$From
    [GraphRecipient_v1[]]$ToRecipients
    [GraphRecipient_v1[]]$CcRecipients
    [GraphRecipient_v1[]]$BccRecipients
    [GraphRecipient_v1[]]$ReplyTo
    [string]$ConversationId
    [GraphitemBody_v1]$UniqueBody
    [System.Nullable[bool]]$IsDeliveryReceiptRequested
    [System.Nullable[bool]]$IsReadReceiptRequested
    [System.Nullable[bool]]$IsRead
    [System.Nullable[bool]]$IsDraft
    [string]$WebLink
    [GraphinferenceClassificationType_v1]$InferenceClassification
    Message_v1() {
        $this.Body = New-Object GraphitemBody_v1
        $this.Importance = New-Object Graphimportance_v1
        $this.Sender = New-Object Graphrecipient_v1
        $this.From = New-Object Graphrecipient_v1
        $this.UniqueBody = New-Object GraphitemBody_v1
        $this.InferenceClassification = New-Object GraphinferenceClassificationType_v1
    }
    [object]Get_attachments() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Messages/$($this.Id)/Attachments")
    }
    [object]Get_extensions() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Messages/$($this.Id)/Extensions")
    }
    [object]Get_singleValueExtendedProperties() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Messages/$($this.Id)/SingleValueExtendedProperties")
    }
    [object]Get_multiValueExtendedProperties() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Messages/$($this.Id)/MultiValueExtendedProperties")
    }
}
Class GraphMailFolder_v1 {
    [string]$id
    [string]$DisplayName
    [string]$ParentFolderId
    [System.Nullable[int]]$ChildFolderCount
    [System.Nullable[int]]$UnreadItemCount
    [System.Nullable[int]]$TotalItemCount
    [object]Get_messages() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "MailFolders/$($this.Id)/Messages")
    }
    [object]Get_childFolders() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "MailFolders/$($this.Id)/ChildFolders")
    }
    [object]Get_singleValueExtendedProperties() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "MailFolders/$($this.Id)/SingleValueExtendedProperties")
    }
    [object]Get_multiValueExtendedProperties() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "MailFolders/$($this.Id)/MultiValueExtendedProperties")
    }
}
Class GraphCalendarGroup_v1 {
    [string]$id
    [string]$Name
    [System.Nullable[guid]]$ClassId
    [string]$ChangeKey
    [object]Get_calendars() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "CalendarGroups/$($this.Id)/Calendars")
    }
}
Class GraphContact_v1 {
    [string]$id
    [string]$ParentFolderId
    [System.Nullable[datetime]]$Birthday
    [string]$FileAs
    [string]$DisplayName
    [string]$GivenName
    [string]$Initials
    [string]$MiddleName
    [string]$NickName
    [string]$Surname
    [string]$Title
    [string]$YomiGivenName
    [string]$YomiSurname
    [string]$YomiCompanyName
    [string]$Generation
    [GraphEmailAddress_v1[]]$EmailAddresses
    [string[]]$ImAddresses
    [string]$JobTitle
    [string]$CompanyName
    [string]$Department
    [string]$OfficeLocation
    [string]$Profession
    [string]$BusinessHomePage
    [string]$AssistantName
    [string]$Manager
    [string[]]$HomePhones
    [string]$MobilePhone
    [string[]]$BusinessPhones
    [GraphphysicalAddress_v1]$HomeAddress
    [GraphphysicalAddress_v1]$BusinessAddress
    [GraphphysicalAddress_v1]$OtherAddress
    [string]$SpouseName
    [string]$PersonalNotes
    [string[]]$Children
    Contact_v1() {
        $this.HomeAddress = New-Object GraphphysicalAddress_v1
        $this.BusinessAddress = New-Object GraphphysicalAddress_v1
        $this.OtherAddress = New-Object GraphphysicalAddress_v1
    }
    [object]Get_extensions() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Contacts/$($this.Id)/Extensions")
    }
    [object]Get_singleValueExtendedProperties() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Contacts/$($this.Id)/SingleValueExtendedProperties")
    }
    [object]Get_multiValueExtendedProperties() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Contacts/$($this.Id)/MultiValueExtendedProperties")
    }
    [object]Get_photo() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Contacts/$($this.Id)/Photo")
    }
}
Class GraphContactFolder_v1 {
    [string]$id
    [string]$ParentFolderId
    [string]$DisplayName
    [object]Get_contacts() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "ContactFolders/$($this.Id)/Contacts")
    }
    [object]Get_childFolders() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "ContactFolders/$($this.Id)/ChildFolders")
    }
    [object]Get_singleValueExtendedProperties() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "ContactFolders/$($this.Id)/SingleValueExtendedProperties")
    }
    [object]Get_multiValueExtendedProperties() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "ContactFolders/$($this.Id)/MultiValueExtendedProperties")
    }
}
Class GraphInferenceClassification_v1 {
    [string]$id
    [object]Get_overrides() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "InferenceClassifications/$($this.Id)/Overrides")
    }
}
Class GraphAttachment_v1 {
    [string]$id
    [System.Nullable[datetime]]$LastModifiedDateTime
    [string]$Name
    [string]$ContentType
    [System.Nullable[int]]$Size
    [System.Nullable[bool]]$IsInline
}
Class GraphSingleValueLegacyExtendedProperty_v1 {
    [string]$id
    [string]$Value
}
Class GraphMultiValueLegacyExtendedProperty_v1 {
    [string]$id
    [string[]]$Value
}
Class GraphExtension_v1 {
    [string]$id
}
Class GraphFileAttachment_v1 {
    [string]$id
    [string]$ContentId
    [string]$ContentLocation
    [object]$contentBytes #Edm.Binary
}
Class GraphItemAttachment_v1 {
    [string]$id
    [object]Get_item() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "ItemAttachments/$($this.Id)/Item")
    }
}
Class GraphEventMessage_v1 {
    [string]$id
    [GraphmeetingMessageType_v1]$MeetingMessageType
    EventMessage_v1() {
        $this.MeetingMessageType = New-Object GraphmeetingMessageType_v1
    }
    [object]Get_event() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "EventMessages/$($this.Id)/Event")
    }
}
Class GraphReferenceAttachment_v1 {
    [string]$id
}
Class GraphOpenTypeExtension_v1 {
    [string]$id
    [string]$ExtensionName
}
Class GraphPost_v1 {
    [string]$id
    [GraphitemBody_v1]$Body
    [System.Nullable[datetime]]$ReceivedDateTime
    [System.Nullable[bool]]$HasAttachments
    [Graphrecipient_v1]$From
    [Graphrecipient_v1]$Sender
    [string]$ConversationThreadId
    [GraphRecipient_v1[]]$NewParticipants
    [string]$ConversationId
    Post_v1() {
        $this.Body = New-Object GraphitemBody_v1
        $this.From = New-Object Graphrecipient_v1
        $this.Sender = New-Object Graphrecipient_v1
    }
    [object]Get_extensions() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Posts/$($this.Id)/Extensions")
    }
    [object]Get_inReplyTo() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Posts/$($this.Id)/InReplyTo")
    }
    [object]Get_attachments() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Posts/$($this.Id)/Attachments")
    }
    [object]Get_singleValueExtendedProperties() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Posts/$($this.Id)/SingleValueExtendedProperties")
    }
    [object]Get_multiValueExtendedProperties() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Posts/$($this.Id)/MultiValueExtendedProperties")
    }
}
Class GraphInferenceClassificationOverride_v1 {
    [string]$id
    [GraphinferenceClassificationType_v1]$ClassifyAs
    [GraphemailAddress_v1]$SenderEmailAddress
    InferenceClassificationOverride_v1() {
        $this.ClassifyAs = New-Object GraphinferenceClassificationType_v1
        $this.SenderEmailAddress = New-Object GraphemailAddress_v1
    }
}
Class GraphDriveItem_v1 {
    [string]$id
    [GraphidentitySet_v1]$CreatedBy
    [System.Nullable[datetime]]$CreatedDateTime
    [string]$Description
    [string]$ETag
    [GraphidentitySet_v1]$LastModifiedBy
    [System.Nullable[datetime]]$LastModifiedDateTime
    [string]$Name
    [string]$WebUrl
    [Graphaudio_v1]$Audio
    [object]$content #Edm.Stream
    [string]$CTag
    [Graphdeleted_v1]$Deleted
    [Graphfile_v1]$File
    [GraphfileSystemInfo_v1]$FileSystemInfo
    [Graphfolder_v1]$Folder
    [Graphimage_v1]$Image
    [GraphgeoCoordinates_v1]$Location
    [Graphpackage_v1]$Package
    [GraphitemReference_v1]$ParentReference
    [Graphphoto_v1]$Photo
    [GraphremoteItem_v1]$RemoteItem
    [Graphroot_v1]$Root
    [GraphsearchResult_v1]$SearchResult
    [Graphshared_v1]$Shared
    [GraphsharepointIds_v1]$SharepointIds
    [System.Nullable[int64]]$Size
    [GraphspecialFolder_v1]$SpecialFolder
    [Graphvideo_v1]$Video
    [string]$WebDavUrl
    DriveItem_v1() {
        $this.CreatedBy = New-Object GraphidentitySet_v1
        $this.LastModifiedBy = New-Object GraphidentitySet_v1
        $this.Audio = New-Object Graphaudio_v1
        $this.Deleted = New-Object Graphdeleted_v1
        $this.File = New-Object Graphfile_v1
        $this.FileSystemInfo = New-Object GraphfileSystemInfo_v1
        $this.Folder = New-Object Graphfolder_v1
        $this.Image = New-Object Graphimage_v1
        $this.Location = New-Object GraphgeoCoordinates_v1
        $this.Package = New-Object Graphpackage_v1
        $this.ParentReference = New-Object GraphitemReference_v1
        $this.Photo = New-Object Graphphoto_v1
        $this.RemoteItem = New-Object GraphremoteItem_v1
        $this.Root = New-Object Graphroot_v1
        $this.SearchResult = New-Object GraphsearchResult_v1
        $this.Shared = New-Object Graphshared_v1
        $this.SharepointIds = New-Object GraphsharepointIds_v1
        $this.SpecialFolder = New-Object GraphspecialFolder_v1
        $this.Video = New-Object Graphvideo_v1
    }
    [object]Get_createdByUser() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "DriveItems/$($this.Id)/CreatedByUser")
    }
    [object]Get_workbook() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "DriveItems/$($this.Id)/Workbook")
    }
    [object]Get_lastModifiedByUser() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "DriveItems/$($this.Id)/LastModifiedByUser")
    }
    [object]Get_children() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "DriveItems/$($this.Id)/Children")
    }
    [object]Get_permissions() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "DriveItems/$($this.Id)/Permissions")
    }
    [object]Get_thumbnails() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "DriveItems/$($this.Id)/Thumbnails")
    }
}
Class GraphWorkbook_v1 {
    [string]$id
    [object]Get_application() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Workbooks/$($this.Id)/Application")
    }
    [object]Get_names() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Workbooks/$($this.Id)/Names")
    }
    [object]Get_tables() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Workbooks/$($this.Id)/Tables")
    }
    [object]Get_worksheets() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Workbooks/$($this.Id)/Worksheets")
    }
    [object]Get_functions() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "Workbooks/$($this.Id)/Functions")
    }
}
Class GraphPermission_v1 {
    [string]$id
    [GraphidentitySet_v1]$GrantedTo
    [GraphsharingInvitation_v1]$Invitation
    [GraphitemReference_v1]$InheritedFrom
    [GraphsharingLink_v1]$Link
    [string[]]$Roles
    [string]$ShareId
    Permission_v1() {
        $this.GrantedTo = New-Object GraphidentitySet_v1
        $this.Invitation = New-Object GraphsharingInvitation_v1
        $this.InheritedFrom = New-Object GraphitemReference_v1
        $this.Link = New-Object GraphsharingLink_v1
    }
}
Class GraphThumbnailSet_v1 {
    [string]$id
    [Graphthumbnail_v1]$Large
    [Graphthumbnail_v1]$Medium
    [Graphthumbnail_v1]$Small
    [Graphthumbnail_v1]$Source
    ThumbnailSet_v1() {
        $this.Large = New-Object Graphthumbnail_v1
        $this.Medium = New-Object Graphthumbnail_v1
        $this.Small = New-Object Graphthumbnail_v1
        $this.Source = New-Object Graphthumbnail_v1
    }
}
Class GraphSharedDriveItem_v1 {
    [string]$id
    [string]$Name
    [GraphidentitySet_v1]$Owner
    SharedDriveItem_v1() {
        $this.Owner = New-Object GraphidentitySet_v1
    }
    [object]Get_root() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "SharedDriveItems/$($this.Id)/Root")
    }
    [object]Get_items() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "SharedDriveItems/$($this.Id)/Items")
    }
}
Class GraphWorkbookApplication_v1 {
    [string]$id
    [string]$CalculationMode
}
Class GraphWorkbookNamedItem_v1 {
    [string]$id
    [string]$Name
    [string]$Type
    [GraphJson_v1]$Value
    [System.Nullable[bool]]$Visible
    WorkbookNamedItem_v1() {
        $this.Value = New-Object GraphJson_v1
    }
}
Class GraphWorkbookTable_v1 {
    [string]$id
    [System.Nullable[bool]]$HighlightFirstColumn
    [System.Nullable[bool]]$HighlightLastColumn
    [string]$Name
    [System.Nullable[bool]]$ShowBandedColumns
    [System.Nullable[bool]]$ShowBandedRows
    [System.Nullable[bool]]$ShowFilterButton
    [System.Nullable[bool]]$ShowHeaders
    [System.Nullable[bool]]$ShowTotals
    [string]$Style
    [object]Get_columns() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookTables/$($this.Id)/Columns")
    }
    [object]Get_rows() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookTables/$($this.Id)/Rows")
    }
    [object]Get_sort() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookTables/$($this.Id)/Sort")
    }
    [object]Get_worksheet() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookTables/$($this.Id)/Worksheet")
    }
}
Class GraphWorkbookWorksheet_v1 {
    [string]$id
    [string]$Name
    [System.Nullable[int]]$Position
    [string]$Visibility
    [object]Get_charts() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookWorksheets/$($this.Id)/Charts")
    }
    [object]Get_pivotTables() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookWorksheets/$($this.Id)/PivotTables")
    }
    [object]Get_protection() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookWorksheets/$($this.Id)/Protection")
    }
    [object]Get_tables() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookWorksheets/$($this.Id)/Tables")
    }
}
Class GraphWorkbookFunctions_v1 {
    [string]$id
}
Class GraphWorkbookChart_v1 {
    [string]$id
    [System.Nullable[double]]$Height
    [System.Nullable[double]]$Left
    [string]$Name
    [System.Nullable[double]]$Top
    [System.Nullable[double]]$Width
    [object]Get_axes() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookCharts/$($this.Id)/Axes")
    }
    [object]Get_dataLabels() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookCharts/$($this.Id)/DataLabels")
    }
    [object]Get_format() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookCharts/$($this.Id)/Format")
    }
    [object]Get_legend() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookCharts/$($this.Id)/Legend")
    }
    [object]Get_series() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookCharts/$($this.Id)/Series")
    }
    [object]Get_title() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookCharts/$($this.Id)/Title")
    }
    [object]Get_worksheet() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookCharts/$($this.Id)/Worksheet")
    }
}
Class GraphWorkbookChartAxes_v1 {
    [string]$id
    [object]Get_categoryAxis() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartAxess/$($this.Id)/CategoryAxis")
    }
    [object]Get_seriesAxis() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartAxess/$($this.Id)/SeriesAxis")
    }
    [object]Get_valueAxis() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartAxess/$($this.Id)/ValueAxis")
    }
}
Class GraphWorkbookChartDataLabels_v1 {
    [string]$id
    [string]$Position
    [string]$Separator
    [System.Nullable[bool]]$ShowBubbleSize
    [System.Nullable[bool]]$ShowCategoryName
    [System.Nullable[bool]]$ShowLegendKey
    [System.Nullable[bool]]$ShowPercentage
    [System.Nullable[bool]]$ShowSeriesName
    [System.Nullable[bool]]$ShowValue
    [object]Get_format() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartDataLabelss/$($this.Id)/Format")
    }
}
Class GraphWorkbookChartAreaFormat_v1 {
    [string]$id
    [object]Get_fill() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartAreaFormats/$($this.Id)/Fill")
    }
    [object]Get_font() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartAreaFormats/$($this.Id)/Font")
    }
}
Class GraphWorkbookChartLegend_v1 {
    [string]$id
    [System.Nullable[bool]]$Overlay
    [string]$Position
    [System.Nullable[bool]]$Visible
    [object]Get_format() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartLegends/$($this.Id)/Format")
    }
}
Class GraphWorkbookChartSeries_v1 {
    [string]$id
    [string]$Name
    [object]Get_format() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartSeriess/$($this.Id)/Format")
    }
    [object]Get_points() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartSeriess/$($this.Id)/Points")
    }
}
Class GraphWorkbookChartTitle_v1 {
    [string]$id
    [System.Nullable[bool]]$Overlay
    [string]$Text
    [System.Nullable[bool]]$Visible
    [object]Get_format() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartTitles/$($this.Id)/Format")
    }
}
Class GraphWorkbookChartFill_v1 {
    [string]$id
}
Class GraphWorkbookChartFont_v1 {
    [string]$id
    [System.Nullable[bool]]$Bold
    [string]$Color
    [System.Nullable[bool]]$Italic
    [string]$Name
    [System.Nullable[double]]$Size
    [string]$Underline
}
Class GraphWorkbookChartAxis_v1 {
    [string]$id
    [GraphJson_v1]$MajorUnit
    [GraphJson_v1]$Maximum
    [GraphJson_v1]$Minimum
    [GraphJson_v1]$MinorUnit
    WorkbookChartAxis_v1() {
        $this.MajorUnit = New-Object GraphJson_v1
        $this.Maximum = New-Object GraphJson_v1
        $this.Minimum = New-Object GraphJson_v1
        $this.MinorUnit = New-Object GraphJson_v1
    }
    [object]Get_format() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartAxiss/$($this.Id)/Format")
    }
    [object]Get_majorGridlines() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartAxiss/$($this.Id)/MajorGridlines")
    }
    [object]Get_minorGridlines() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartAxiss/$($this.Id)/MinorGridlines")
    }
    [object]Get_title() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartAxiss/$($this.Id)/Title")
    }
}
Class GraphWorkbookChartAxisFormat_v1 {
    [string]$id
    [object]Get_font() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartAxisFormats/$($this.Id)/Font")
    }
    [object]Get_line() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartAxisFormats/$($this.Id)/Line")
    }
}
Class GraphWorkbookChartGridlines_v1 {
    [string]$id
    [System.Nullable[bool]]$Visible
    [object]Get_format() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartGridliness/$($this.Id)/Format")
    }
}
Class GraphWorkbookChartAxisTitle_v1 {
    [string]$id
    [string]$Text
    [System.Nullable[bool]]$Visible
    [object]Get_format() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartAxisTitles/$($this.Id)/Format")
    }
}
Class GraphWorkbookChartLineFormat_v1 {
    [string]$id
    [string]$Color
}
Class GraphWorkbookChartAxisTitleFormat_v1 {
    [string]$id
    [object]Get_font() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartAxisTitleFormats/$($this.Id)/Font")
    }
}
Class GraphWorkbookChartDataLabelFormat_v1 {
    [string]$id
    [object]Get_fill() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartDataLabelFormats/$($this.Id)/Fill")
    }
    [object]Get_font() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartDataLabelFormats/$($this.Id)/Font")
    }
}
Class GraphWorkbookChartGridlinesFormat_v1 {
    [string]$id
    [object]Get_line() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartGridlinesFormats/$($this.Id)/Line")
    }
}
Class GraphWorkbookChartLegendFormat_v1 {
    [string]$id
    [object]Get_fill() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartLegendFormats/$($this.Id)/Fill")
    }
    [object]Get_font() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartLegendFormats/$($this.Id)/Font")
    }
}
Class GraphWorkbookChartPoint_v1 {
    [string]$id
    [GraphJson_v1]$Value
    WorkbookChartPoint_v1() {
        $this.Value = New-Object GraphJson_v1
    }
    [object]Get_format() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartPoints/$($this.Id)/Format")
    }
}
Class GraphWorkbookChartPointFormat_v1 {
    [string]$id
    [object]Get_fill() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartPointFormats/$($this.Id)/Fill")
    }
}
Class GraphWorkbookChartSeriesFormat_v1 {
    [string]$id
    [object]Get_fill() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartSeriesFormats/$($this.Id)/Fill")
    }
    [object]Get_line() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartSeriesFormats/$($this.Id)/Line")
    }
}
Class GraphWorkbookChartTitleFormat_v1 {
    [string]$id
    [object]Get_fill() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartTitleFormats/$($this.Id)/Fill")
    }
    [object]Get_font() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookChartTitleFormats/$($this.Id)/Font")
    }
}
Class GraphWorkbookFilter_v1 {
    [string]$id
    [GraphworkbookFilterCriteria_v1]$Criteria
    WorkbookFilter_v1() {
        $this.Criteria = New-Object GraphworkbookFilterCriteria_v1
    }
}
Class GraphWorkbookFormatProtection_v1 {
    [string]$id
    [System.Nullable[bool]]$FormulaHidden
    [System.Nullable[bool]]$Locked
}
Class GraphWorkbookFunctionResult_v1 {
    [string]$id
    [string]$Error
    [GraphJson_v1]$Value
    WorkbookFunctionResult_v1() {
        $this.Value = New-Object GraphJson_v1
    }
}
Class GraphWorkbookPivotTable_v1 {
    [string]$id
    [string]$Name
    [object]Get_worksheet() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookPivotTables/$($this.Id)/Worksheet")
    }
}
Class GraphWorkbookRange_v1 {
    [string]$id
    [string]$Address
    [string]$AddressLocal
    [System.Nullable[int]]$CellCount
    [System.Nullable[int]]$ColumnCount
    [System.Nullable[bool]]$ColumnHidden
    [System.Nullable[int]]$ColumnIndex
    [GraphJson_v1]$Formulas
    [GraphJson_v1]$FormulasLocal
    [GraphJson_v1]$FormulasR1C1
    [System.Nullable[bool]]$Hidden
    [GraphJson_v1]$NumberFormat
    [System.Nullable[int]]$RowCount
    [System.Nullable[bool]]$RowHidden
    [System.Nullable[int]]$RowIndex
    [GraphJson_v1]$Text
    [GraphJson_v1]$ValueTypes
    [GraphJson_v1]$Values
    WorkbookRange_v1() {
        $this.Formulas = New-Object GraphJson_v1
        $this.FormulasLocal = New-Object GraphJson_v1
        $this.FormulasR1C1 = New-Object GraphJson_v1
        $this.NumberFormat = New-Object GraphJson_v1
        $this.Text = New-Object GraphJson_v1
        $this.ValueTypes = New-Object GraphJson_v1
        $this.Values = New-Object GraphJson_v1
    }
    [object]Get_format() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookRanges/$($this.Id)/Format")
    }
    [object]Get_sort() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookRanges/$($this.Id)/Sort")
    }
    [object]Get_worksheet() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookRanges/$($this.Id)/Worksheet")
    }
}
Class GraphWorkbookRangeFormat_v1 {
    [string]$id
    [System.Nullable[double]]$ColumnWidth
    [string]$HorizontalAlignment
    [System.Nullable[double]]$RowHeight
    [string]$VerticalAlignment
    [System.Nullable[bool]]$WrapText
    [object]Get_borders() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookRangeFormats/$($this.Id)/Borders")
    }
    [object]Get_fill() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookRangeFormats/$($this.Id)/Fill")
    }
    [object]Get_font() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookRangeFormats/$($this.Id)/Font")
    }
    [object]Get_protection() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookRangeFormats/$($this.Id)/Protection")
    }
}
Class GraphWorkbookRangeSort_v1 {
    [string]$id
}
Class GraphWorkbookRangeBorder_v1 {
    [string]$id
    [string]$Color
    [string]$SideIndex
    [string]$Style
    [string]$Weight
}
Class GraphWorkbookRangeFill_v1 {
    [string]$id
    [string]$Color
}
Class GraphWorkbookRangeFont_v1 {
    [string]$id
    [System.Nullable[bool]]$Bold
    [string]$Color
    [System.Nullable[bool]]$Italic
    [string]$Name
    [System.Nullable[double]]$Size
    [string]$Underline
}
Class GraphWorkbookRangeView_v1 {
    [string]$id
    [GraphJson_v1]$CellAddresses
    [System.Nullable[int]]$ColumnCount
    [GraphJson_v1]$Formulas
    [GraphJson_v1]$FormulasLocal
    [GraphJson_v1]$FormulasR1C1
    [System.Nullable[int]]$Index
    [GraphJson_v1]$NumberFormat
    [System.Nullable[int]]$RowCount
    [GraphJson_v1]$Text
    [GraphJson_v1]$ValueTypes
    [GraphJson_v1]$Values
    WorkbookRangeView_v1() {
        $this.CellAddresses = New-Object GraphJson_v1
        $this.Formulas = New-Object GraphJson_v1
        $this.FormulasLocal = New-Object GraphJson_v1
        $this.FormulasR1C1 = New-Object GraphJson_v1
        $this.NumberFormat = New-Object GraphJson_v1
        $this.Text = New-Object GraphJson_v1
        $this.ValueTypes = New-Object GraphJson_v1
        $this.Values = New-Object GraphJson_v1
    }
    [object]Get_rows() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookRangeViews/$($this.Id)/Rows")
    }
}
Class GraphWorkbookTableColumn_v1 {
    [string]$id
    [System.Nullable[int]]$Index
    [string]$Name
    [GraphJson_v1]$Values
    WorkbookTableColumn_v1() {
        $this.Values = New-Object GraphJson_v1
    }
    [object]Get_filter() {
        return (Invoke-GraphMethod -Version 'v1.0' -query "WorkbookTableColumns/$($this.Id)/Filter")
    }
}
Class GraphWorkbookTableRow_v1 {
    [string]$id
    [System.Nullable[int]]$Index
    [GraphJson_v1]$Values
    WorkbookTableRow_v1() {
        $this.Values = New-Object GraphJson_v1
    }
}
Class GraphWorkbookTableSort_v1 {
    [string]$id
    [GraphWorkbookSortField_v1[]]$Fields
    [System.Nullable[bool]]$MatchCase
    [string]$Method
}
Class GraphWorkbookWorksheetProtection_v1 {
    [string]$id
    [GraphworkbookWorksheetProtectionOptions_v1]$Options
    [System.Nullable[bool]]$Protected
    WorkbookWorksheetProtection_v1() {
        $this.Options = New-Object GraphworkbookWorksheetProtectionOptions_v1
    }
}
Class GraphSubscription_v1 {
    [string]$id
    [string]$Resource
    [string]$ChangeType
    [string]$ClientState
    [string]$NotificationUrl
    [System.Nullable[datetime]]$ExpirationDateTime
}