Files
2023-06-28 11:57:59 -07:00

27240 lines
1.3 MiB
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Type definitions for non-npm package microsoft-graph 2.34
// Project: https://github.com/microsoftgraph/msgraph-typescript-typings
// Definitions by: Microsoft Graph Team <https://github.com/microsoftgraph>
// Michael Mainer <https://github.com/MIchaelMainer>
// Geoffrey Koros <https://github.com/koros>
// Mustafa Zengin <https://github.com/zengin>
// DeVere Dyett <https://github.com/ddyett>
// Gavin Barron <https://github.com/gavinbarron>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.1
export as namespace microsoftgraph;
export type NullableOption<T> = T | null;
export type AppliedConditionalAccessPolicyResult =
| "success"
| "failure"
| "notApplied"
| "notEnabled"
| "unknown"
| "unknownFutureValue";
export type ConditionalAccessStatus = "success" | "failure" | "notApplied" | "unknownFutureValue";
export type GroupType = "unifiedGroups" | "azureAD" | "unknownFutureValue";
export type InitiatorType = "user" | "application" | "system" | "unknownFutureValue";
export type OperationResult = "success" | "failure" | "timeout" | "unknownFutureValue";
export type ProvisioningAction =
| "other"
| "create"
| "delete"
| "disable"
| "update"
| "stagedDelete"
| "unknownFutureValue";
export type ProvisioningResult = "success" | "failure" | "skipped" | "warning" | "unknownFutureValue";
export type ProvisioningStatusErrorCategory = "failure" | "nonServiceFailure" | "success" | "unknownFutureValue";
export type ProvisioningStepType =
| "import"
| "scoping"
| "matching"
| "processing"
| "referenceResolution"
| "export"
| "unknownFutureValue";
export type RiskDetail =
| "none"
| "adminGeneratedTemporaryPassword"
| "userPerformedSecuredPasswordChange"
| "userPerformedSecuredPasswordReset"
| "adminConfirmedSigninSafe"
| "aiConfirmedSigninSafe"
| "userPassedMFADrivenByRiskBasedPolicy"
| "adminDismissedAllRiskForUser"
| "adminConfirmedSigninCompromised"
| "hidden"
| "adminConfirmedUserCompromised"
| "unknownFutureValue"
| "adminConfirmedServicePrincipalCompromised"
| "adminDismissedAllRiskForServicePrincipal"
| "m365DAdminDismissedDetection";
export type RiskEventType =
| "unlikelyTravel"
| "anonymizedIPAddress"
| "maliciousIPAddress"
| "unfamiliarFeatures"
| "malwareInfectedIPAddress"
| "suspiciousIPAddress"
| "leakedCredentials"
| "investigationsThreatIntelligence"
| "generic"
| "adminConfirmedUserCompromised"
| "mcasImpossibleTravel"
| "mcasSuspiciousInboxManipulationRules"
| "investigationsThreatIntelligenceSigninLinked"
| "maliciousIPAddressValidCredentialsBlockedIP"
| "unknownFutureValue";
export type RiskLevel = "low" | "medium" | "high" | "hidden" | "none" | "unknownFutureValue";
export type RiskState =
| "none"
| "confirmedSafe"
| "remediated"
| "dismissed"
| "atRisk"
| "confirmedCompromised"
| "unknownFutureValue";
export type AdvancedConfigState = "default" | "enabled" | "disabled" | "unknownFutureValue";
export type AuthenticationMethodModes =
| "password"
| "voice"
| "hardwareOath"
| "softwareOath"
| "sms"
| "fido2"
| "windowsHelloForBusiness"
| "microsoftAuthenticatorPush"
| "deviceBasedPush"
| "temporaryAccessPassOneTime"
| "temporaryAccessPassMultiUse"
| "email"
| "x509CertificateSingleFactor"
| "x509CertificateMultiFactor"
| "federatedSingleFactor"
| "federatedMultiFactor"
| "unknownFutureValue";
export type AuthenticationMethodsPolicyMigrationState =
| "preMigration"
| "migrationInProgress"
| "migrationComplete"
| "unknownFutureValue";
export type AuthenticationMethodState = "enabled" | "disabled";
export type AuthenticationMethodTargetType = "user" | "group" | "unknownFutureValue";
export type AuthenticationStrengthPolicyType = "builtIn" | "custom" | "unknownFutureValue";
export type AuthenticationStrengthRequirements = "none" | "mfa" | "unknownFutureValue";
export type BaseAuthenticationMethod =
| "password"
| "voice"
| "hardwareOath"
| "softwareOath"
| "sms"
| "fido2"
| "windowsHelloForBusiness"
| "microsoftAuthenticator"
| "temporaryAccessPass"
| "email"
| "x509Certificate"
| "federation"
| "unknownFutureValue";
export type ExternalEmailOtpState = "default" | "enabled" | "disabled" | "unknownFutureValue";
export type FeatureTargetType = "group" | "administrativeUnit" | "role" | "unknownFutureValue";
export type Fido2RestrictionEnforcementType = "allow" | "block" | "unknownFutureValue";
export type MicrosoftAuthenticatorAuthenticationMode = "deviceBasedPush" | "push" | "any";
export type X509CertificateAuthenticationMode =
| "x509CertificateSingleFactor"
| "x509CertificateMultiFactor"
| "unknownFutureValue";
export type X509CertificateRuleType = "issuerSubject" | "policyOID" | "unknownFutureValue";
export type VolumeType = "operatingSystemVolume" | "fixedDataVolume" | "removableDataVolume" | "unknownFutureValue";
export type AnswerInputType = "text" | "radioButton" | "unknownFutureValue";
export type BookingPriceType =
| "undefined"
| "fixedPrice"
| "startingAt"
| "hourly"
| "free"
| "priceVaries"
| "callUs"
| "notSet"
| "unknownFutureValue";
export type BookingReminderRecipients = "allAttendees" | "staff" | "customer" | "unknownFutureValue";
export type BookingsAvailabilityStatus = "available" | "busy" | "slotsAvailable" | "outOfOffice" | "unknownFutureValue";
export type BookingStaffRole =
| "guest"
| "administrator"
| "viewer"
| "externalGuest"
| "unknownFutureValue"
| "scheduler"
| "teamMember";
export type DayOfWeek = "sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday";
export type LocationType =
| "default"
| "conferenceRoom"
| "homeAddress"
| "businessAddress"
| "geoCoordinates"
| "streetAddress"
| "hotel"
| "restaurant"
| "localBusiness"
| "postalAddress";
export type LocationUniqueIdType = "unknown" | "locationStore" | "directory" | "private" | "bing";
export type PhoneType =
| "home"
| "business"
| "mobile"
| "other"
| "assistant"
| "homeFax"
| "businessFax"
| "otherFax"
| "pager"
| "radio";
export type PhysicalAddressType = "unknown" | "home" | "business" | "other";
export type BodyType = "text" | "html";
export type DataSubjectType =
| "customer"
| "currentEmployee"
| "formerEmployee"
| "prospectiveEmployee"
| "student"
| "teacher"
| "faculty"
| "other"
| "unknownFutureValue";
export type SubjectRightsRequestStage =
| "contentRetrieval"
| "contentReview"
| "generateReport"
| "contentDeletion"
| "caseResolved"
| "contentEstimate"
| "unknownFutureValue";
export type SubjectRightsRequestStageStatus = "notStarted" | "current" | "completed" | "failed" | "unknownFutureValue";
export type SubjectRightsRequestStatus = "active" | "closed" | "unknownFutureValue";
export type SubjectRightsRequestType = "export" | "delete" | "access" | "tagForAction" | "unknownFutureValue";
export type IdentityUserFlowAttributeDataType =
| "string"
| "boolean"
| "int64"
| "stringCollection"
| "dateTime"
| "unknownFutureValue";
export type IdentityUserFlowAttributeInputType =
| "textBox"
| "dateTimeDropdown"
| "radioSingleSelect"
| "dropdownSingleSelect"
| "emailBox"
| "checkboxMultiSelect";
export type IdentityUserFlowAttributeType = "builtIn" | "custom" | "required" | "unknownFutureValue";
export type UserFlowType =
| "signUp"
| "signIn"
| "signUpOrSignIn"
| "passwordReset"
| "profileUpdate"
| "resourceOwner"
| "unknownFutureValue";
export type LobbyBypassScope =
| "organizer"
| "organization"
| "organizationAndFederated"
| "everyone"
| "unknownFutureValue"
| "invited"
| "organizationExcludingGuests";
export type MeetingChatMode = "enabled" | "disabled" | "limited" | "unknownFutureValue";
export type OnlineMeetingPresenters =
| "everyone"
| "organization"
| "roleIsPresenter"
| "organizer"
| "unknownFutureValue";
export type AllowInvitesFrom =
| "none"
| "adminsAndGuestInviters"
| "adminsGuestInvitersAndAllMembers"
| "everyone"
| "unknownFutureValue";
export type AppCredentialRestrictionType =
| "passwordAddition"
| "passwordLifetime"
| "symmetricKeyAddition"
| "symmetricKeyLifetime"
| "customPasswordAddition"
| "unknownFutureValue";
export type AppKeyCredentialRestrictionType = "asymmetricKeyLifetime" | "unknownFutureValue";
export type AuthenticationProtocol = "wsFed" | "saml" | "unknownFutureValue";
export type CrossTenantAccessPolicyTargetConfigurationAccessType = "allowed" | "blocked" | "unknownFutureValue";
export type CrossTenantAccessPolicyTargetType = "user" | "group" | "application" | "unknownFutureValue";
export type FederatedIdpMfaBehavior =
| "acceptIfMfaDoneByFederatedIdp"
| "enforceMfaByFederatedIdp"
| "rejectMfaByFederatedIdp"
| "unknownFutureValue";
export type LayoutTemplateType = "default" | "verticalSplit" | "unknownFutureValue";
export type OnPremisesDirectorySynchronizationDeletionPreventionType =
| "disabled"
| "enabledForCount"
| "enabledForPercentage"
| "unknownFutureValue";
export type PartnerTenantType =
| "microsoftSupport"
| "syndicatePartner"
| "breadthPartner"
| "breadthPartnerDelegatedAdmin"
| "resellerPartnerDelegatedAdmin"
| "valueAddedResellerPartnerDelegatedAdmin"
| "unknownFutureValue";
export type PermissionClassificationType = "low" | "medium" | "high" | "unknownFutureValue";
export type PermissionType = "application" | "delegated" | "delegatedUserConsentable";
export type PromptLoginBehavior =
| "translateToFreshPasswordAuthentication"
| "nativeSupport"
| "disabled"
| "unknownFutureValue";
export type WeakAlgorithms = "rsaSha1" | "unknownFutureValue";
export type BrowserSharedCookieSourceEnvironment =
| "microsoftEdge"
| "internetExplorer11"
| "both"
| "unknownFutureValue";
export type BrowserSharedCookieStatus =
| "published"
| "pendingAdd"
| "pendingEdit"
| "pendingDelete"
| "unknownFutureValue";
export type BrowserSiteCompatibilityMode =
| "default"
| "internetExplorer8Enterprise"
| "internetExplorer7Enterprise"
| "internetExplorer11"
| "internetExplorer10"
| "internetExplorer9"
| "internetExplorer8"
| "internetExplorer7"
| "internetExplorer5"
| "unknownFutureValue";
export type BrowserSiteListStatus = "draft" | "published" | "pending" | "unknownFutureValue";
export type BrowserSiteMergeType = "noMerge" | "default" | "unknownFutureValue";
export type BrowserSiteStatus = "published" | "pendingAdd" | "pendingEdit" | "pendingDelete" | "unknownFutureValue";
export type BrowserSiteTargetEnvironment =
| "internetExplorerMode"
| "internetExplorer11"
| "microsoftEdge"
| "configurable"
| "none"
| "unknownFutureValue";
export type EducationAddedStudentAction = "none" | "assignIfOpen" | "unknownFutureValue";
export type EducationAddToCalendarOptions =
| "none"
| "studentsAndPublisher"
| "studentsAndTeamOwners"
| "unknownFutureValue"
| "studentsOnly";
export type EducationAssignmentStatus = "draft" | "published" | "assigned" | "unknownFutureValue";
export type EducationFeedbackResourceOutcomeStatus =
| "notPublished"
| "pendingPublish"
| "published"
| "failedPublish"
| "unknownFutureValue";
export type EducationSubmissionStatus =
| "working"
| "submitted"
| "released"
| "returned"
| "unknownFutureValue"
| "reassigned";
export type ContactRelationship =
| "parent"
| "relative"
| "aide"
| "doctor"
| "guardian"
| "child"
| "other"
| "unknownFutureValue";
export type EducationExternalSource = "sis" | "manual" | "unknownFutureValue";
export type EducationGender = "female" | "male" | "other" | "unknownFutureValue";
export type EducationUserRole = "student" | "teacher" | "none" | "unknownFutureValue";
export type WorkbookOperationStatus = "notStarted" | "running" | "succeeded" | "failed";
export type ActivityDomain = "unknown" | "work" | "personal" | "unrestricted";
export type AttendeeType = "required" | "optional" | "resource";
export type FreeBusyStatus = "unknown" | "free" | "tentative" | "busy" | "oof" | "workingElsewhere";
export type BookingType = "unknown" | "standard" | "reserved";
export type AttachmentType = "file" | "item" | "reference";
export type AutomaticRepliesStatus = "disabled" | "alwaysEnabled" | "scheduled";
export type CalendarColor =
| "auto"
| "lightBlue"
| "lightGreen"
| "lightOrange"
| "lightGray"
| "lightYellow"
| "lightTeal"
| "lightPink"
| "lightBrown"
| "lightRed"
| "maxColor";
export type CalendarRoleType =
| "none"
| "freeBusyRead"
| "limitedRead"
| "read"
| "write"
| "delegateWithoutPrivateEventAccess"
| "delegateWithPrivateEventAccess"
| "custom";
export type CalendarSharingAction = "accept" | "acceptAndViewCalendar" | "viewCalendar" | "addThisCalendar";
export type CalendarSharingActionImportance = "primary" | "secondary";
export type CalendarSharingActionType = "accept";
export type CategoryColor =
| "none"
| "preset0"
| "preset1"
| "preset2"
| "preset3"
| "preset4"
| "preset5"
| "preset6"
| "preset7"
| "preset8"
| "preset9"
| "preset10"
| "preset11"
| "preset12"
| "preset13"
| "preset14"
| "preset15"
| "preset16"
| "preset17"
| "preset18"
| "preset19"
| "preset20"
| "preset21"
| "preset22"
| "preset23"
| "preset24";
export type DelegateMeetingMessageDeliveryOptions =
| "sendToDelegateAndInformationToPrincipal"
| "sendToDelegateAndPrincipal"
| "sendToDelegateOnly";
export type EventType = "singleInstance" | "occurrence" | "exception" | "seriesMaster";
export type ExchangeIdFormat = "entryId" | "ewsId" | "immutableEntryId" | "restId" | "restImmutableEntryId";
export type ExternalAudienceScope = "none" | "contactsOnly" | "all";
export type FollowupFlagStatus = "notFlagged" | "complete" | "flagged";
export type Importance = "low" | "normal" | "high";
export type InferenceClassificationType = "focused" | "other";
export type MailTipsType =
| "automaticReplies"
| "mailboxFullStatus"
| "customMailTip"
| "externalMemberCount"
| "totalMemberCount"
| "maxMessageSize"
| "deliveryRestriction"
| "moderationStatus"
| "recipientScope"
| "recipientSuggestions";
export type MeetingMessageType =
| "none"
| "meetingRequest"
| "meetingCancelled"
| "meetingAccepted"
| "meetingTenativelyAccepted"
| "meetingDeclined";
export type MeetingRequestType =
| "none"
| "newMeetingRequest"
| "fullUpdate"
| "informationalUpdate"
| "silentUpdate"
| "outdated"
| "principalWantsCopy";
export type MessageActionFlag =
| "any"
| "call"
| "doNotForward"
| "followUp"
| "fyi"
| "forward"
| "noResponseNecessary"
| "read"
| "reply"
| "replyToAll"
| "review";
export type OnlineMeetingProviderType = "unknown" | "skypeForBusiness" | "skypeForConsumer" | "teamsForBusiness";
export type RecipientScopeType = "none" | "internal" | "external" | "externalPartner" | "externalNonPartner";
export type RecurrencePatternType =
| "daily"
| "weekly"
| "absoluteMonthly"
| "relativeMonthly"
| "absoluteYearly"
| "relativeYearly";
export type RecurrenceRangeType = "endDate" | "noEnd" | "numbered";
export type ResponseType = "none" | "organizer" | "tentativelyAccepted" | "accepted" | "declined" | "notResponded";
export type SelectionLikelihoodInfo = "notSpecified" | "high";
export type Sensitivity = "normal" | "personal" | "private" | "confidential";
export type TimeZoneStandard = "windows" | "iana";
export type UserPurpose = "user" | "linked" | "shared" | "room" | "equipment" | "others" | "unknownFutureValue";
export type WebsiteType = "other" | "home" | "work" | "blog" | "profile";
export type WeekIndex = "first" | "second" | "third" | "fourth" | "last";
export type ImageTaggingChoice = "disabled" | "basic" | "enhanced" | "unknownFutureValue";
export type SharingCapabilities =
| "disabled"
| "externalUserSharingOnly"
| "externalUserAndGuestSharing"
| "existingExternalUserSharingOnly"
| "unknownFutureValue";
export type SharingDomainRestrictionMode = "none" | "allowList" | "blockList" | "unknownFutureValue";
export type ColumnTypes =
| "note"
| "text"
| "choice"
| "multichoice"
| "number"
| "currency"
| "dateTime"
| "lookup"
| "boolean"
| "user"
| "url"
| "calculated"
| "location"
| "geolocation"
| "term"
| "multiterm"
| "thumbnail"
| "approvalStatus"
| "unknownFutureValue";
export type LongRunningOperationStatus = "notStarted" | "running" | "succeeded" | "failed" | "unknownFutureValue";
export type StagedFeatureName =
| "passthroughAuthentication"
| "seamlessSso"
| "passwordHashSync"
| "emailAsAlternateId"
| "unknownFutureValue"
| "certificateBasedAuthentication"
| "multiFactorAuthentication";
export type AttributeDefinitionMetadata =
| "BaseAttributeName"
| "ComplexObjectDefinition"
| "IsContainer"
| "IsCustomerDefined"
| "IsDomainQualified"
| "LinkPropertyNames"
| "LinkTypeName"
| "MaximumLength"
| "ReferencedProperty";
export type AttributeFlowBehavior = "FlowWhenChanged" | "FlowAlways";
export type AttributeFlowType = "Always" | "ObjectAddOnly" | "MultiValueAddOnly" | "ValueAddOnly" | "AttributeAddOnly";
export type AttributeMappingSourceType = "Attribute" | "Constant" | "Function";
export type AttributeType = "String" | "Integer" | "Reference" | "Binary" | "Boolean" | "DateTime";
export type DirectoryDefinitionDiscoverabilities =
| "None"
| "AttributeNames"
| "AttributeDataTypes"
| "AttributeReadOnly"
| "ReferenceAttributes"
| "UnknownFutureValue";
export type EntryExportStatus = "Noop" | "Success" | "RetryableError" | "PermanentError" | "Error";
export type EntrySyncOperation = "None" | "Add" | "Delete" | "Update";
export type EscrowBehavior = "Default" | "IgnoreLookupReferenceResolutionFailure";
export type Mutability = "ReadWrite" | "ReadOnly" | "Immutable" | "WriteOnly";
export type ObjectDefinitionMetadata =
| "PropertyNameAccountEnabled"
| "PropertyNameSoftDeleted"
| "IsSoftDeletionSupported"
| "IsSynchronizeAllSupported"
| "ConnectorDataStorageRequired"
| "Extensions"
| "BaseObjectName";
export type ObjectFlowTypes = "None" | "Add" | "Update" | "Delete";
export type ObjectMappingMetadata =
| "EscrowBehavior"
| "DisableMonitoringForChanges"
| "OriginalJoiningProperty"
| "Disposition"
| "IsCustomerDefined"
| "ExcludeFromReporting"
| "Unsynchronized";
export type QuarantineReason =
| "EncounteredBaseEscrowThreshold"
| "EncounteredTotalEscrowThreshold"
| "EncounteredEscrowProportionThreshold"
| "EncounteredQuarantineException"
| "Unknown"
| "QuarantinedOnDemand"
| "TooManyDeletes"
| "IngestionInterrupted";
export type ScopeOperatorMultiValuedComparisonType = "All" | "Any";
export type ScopeOperatorType = "Binary" | "Unary";
export type SynchronizationDisposition = "Normal" | "Discard" | "Escrow";
export type SynchronizationJobRestartScope =
| "None"
| "ConnectorDataStore"
| "Escrows"
| "Watermark"
| "QuarantineState"
| "Full"
| "ForceDeletes";
export type SynchronizationMetadata =
| "GalleryApplicationIdentifier"
| "GalleryApplicationKey"
| "IsOAuthEnabled"
| "IsSynchronizationAgentAssignmentRequired"
| "IsSynchronizationAgentRequired"
| "IsSynchronizationInPreview"
| "OAuthSettings"
| "SynchronizationLearnMoreIbizaFwLink"
| "ConfigurationFields";
export type SynchronizationScheduleState = "Active" | "Disabled" | "Paused";
export type SynchronizationSecret =
| "None"
| "UserName"
| "Password"
| "SecretToken"
| "AppKey"
| "BaseAddress"
| "ClientIdentifier"
| "ClientSecret"
| "SingleSignOnType"
| "Sandbox"
| "Url"
| "Domain"
| "ConsumerKey"
| "ConsumerSecret"
| "TokenKey"
| "TokenExpiration"
| "Oauth2AccessToken"
| "Oauth2AccessTokenCreationTime"
| "Oauth2RefreshToken"
| "SyncAll"
| "InstanceName"
| "Oauth2ClientId"
| "Oauth2ClientSecret"
| "CompanyId"
| "UpdateKeyOnSoftDelete"
| "SynchronizationSchedule"
| "SystemOfRecord"
| "SandboxName"
| "EnforceDomain"
| "SyncNotificationSettings"
| "SkipOutOfScopeDeletions"
| "Oauth2AuthorizationCode"
| "Oauth2RedirectUri"
| "ApplicationTemplateIdentifier"
| "Oauth2TokenExchangeUri"
| "Oauth2AuthorizationUri"
| "AuthenticationType"
| "Server"
| "PerformInboundEntitlementGrants"
| "HardDeletesEnabled"
| "SyncAgentCompatibilityKey"
| "SyncAgentADContainer"
| "ValidateDomain"
| "TestReferences"
| "ConnectionString";
export type SynchronizationStatusCode = "NotConfigured" | "NotRun" | "Active" | "Paused" | "Quarantine";
export type SynchronizationTaskExecutionResult = "Succeeded" | "Failed" | "EntryLevelErrors";
export type AccessReviewHistoryDecisionFilter =
| "approve"
| "deny"
| "notReviewed"
| "dontKnow"
| "notNotified"
| "unknownFutureValue";
export type AccessReviewHistoryStatus = "done" | "inprogress" | "error" | "requested" | "unknownFutureValue";
export type AccessReviewInstanceDecisionItemFilterByCurrentUserOptions = "reviewer" | "unknownFutureValue";
export type AccessReviewInstanceFilterByCurrentUserOptions = "reviewer" | "unknownFutureValue";
export type AccessReviewScheduleDefinitionFilterByCurrentUserOptions = "reviewer" | "unknownFutureValue";
export type AccessReviewStageFilterByCurrentUserOptions = "reviewer" | "unknownFutureValue";
export type ApprovalFilterByCurrentUserOptions = "target" | "createdBy" | "approver" | "unknownFutureValue";
export type ConsentRequestFilterByCurrentUserOptions = "reviewer" | "unknownFutureValue";
export type AgreementAcceptanceState = "accepted" | "declined" | "unknownFutureValue";
export type ActivityType = "signin" | "user" | "unknownFutureValue" | "servicePrincipal";
export type CloudAppSecuritySessionControlType =
| "mcasConfigured"
| "monitorOnly"
| "blockDownloads"
| "unknownFutureValue";
export type ConditionalAccessClientApp =
| "all"
| "browser"
| "mobileAppsAndDesktopClients"
| "exchangeActiveSync"
| "easSupported"
| "other"
| "unknownFutureValue";
export type ConditionalAccessDevicePlatform =
| "android"
| "iOS"
| "windows"
| "windowsPhone"
| "macOS"
| "all"
| "unknownFutureValue"
| "linux";
export type ConditionalAccessExternalTenantsMembershipKind = "all" | "enumerated" | "unknownFutureValue";
export type ConditionalAccessGrantControl =
| "block"
| "mfa"
| "compliantDevice"
| "domainJoinedDevice"
| "approvedApplication"
| "compliantApplication"
| "passwordChange"
| "unknownFutureValue";
export type ConditionalAccessGuestOrExternalUserTypes =
| "none"
| "internalGuest"
| "b2bCollaborationGuest"
| "b2bCollaborationMember"
| "b2bDirectConnectUser"
| "otherExternalUser"
| "serviceProvider"
| "unknownFutureValue";
export type ConditionalAccessPolicyState = "enabled" | "disabled" | "enabledForReportingButNotEnforced";
export type CountryLookupMethodType = "clientIpAddress" | "authenticatorAppGps" | "unknownFutureValue";
export type FilterMode = "include" | "exclude";
export type PersistentBrowserSessionMode = "always" | "never";
export type RiskDetectionTimingType = "notDefined" | "realtime" | "nearRealtime" | "offline" | "unknownFutureValue";
export type SignInFrequencyAuthenticationType =
| "primaryAndSecondaryAuthentication"
| "secondaryAuthentication"
| "unknownFutureValue";
export type SignInFrequencyInterval = "timeBased" | "everyTime" | "unknownFutureValue";
export type SigninFrequencyType = "days" | "hours";
export type TemplateScenarios =
| "new"
| "secureFoundation"
| "zeroTrust"
| "remoteWork"
| "protectAdmins"
| "emergingThreats"
| "unknownFutureValue";
export type TokenIssuerType =
| "AzureAD"
| "ADFederationServices"
| "UnknownFutureValue"
| "AzureADBackupAuth"
| "ADFederationServicesMFAAdapter"
| "NPSExtension";
export type AccessPackageAssignmentFilterByCurrentUserOptions = "target" | "createdBy" | "unknownFutureValue";
export type AccessPackageAssignmentRequestFilterByCurrentUserOptions =
| "target"
| "createdBy"
| "approver"
| "unknownFutureValue";
export type AccessPackageAssignmentState =
| "delivering"
| "partiallyDelivered"
| "delivered"
| "expired"
| "deliveryFailed"
| "unknownFutureValue";
export type AccessPackageCatalogState = "unpublished" | "published" | "unknownFutureValue";
export type AccessPackageCatalogType = "userManaged" | "serviceDefault" | "serviceManaged" | "unknownFutureValue";
export type AccessPackageExternalUserLifecycleAction =
| "none"
| "blockSignIn"
| "blockSignInAndDelete"
| "unknownFutureValue";
export type AccessPackageFilterByCurrentUserOptions = "allowedRequestor" | "unknownFutureValue";
export type AccessPackageRequestState =
| "submitted"
| "pendingApproval"
| "delivering"
| "delivered"
| "deliveryFailed"
| "denied"
| "scheduled"
| "canceled"
| "partiallyDelivered"
| "unknownFutureValue";
export type AccessPackageRequestType =
| "notSpecified"
| "userAdd"
| "userUpdate"
| "userRemove"
| "adminAdd"
| "adminUpdate"
| "adminRemove"
| "systemAdd"
| "systemUpdate"
| "systemRemove"
| "onBehalfAdd"
| "unknownFutureValue";
export type AccessPackageSubjectType = "notSpecified" | "user" | "servicePrincipal" | "unknownFutureValue";
export type AccessReviewExpirationBehavior =
| "keepAccess"
| "removeAccess"
| "acceptAccessRecommendation"
| "unknownFutureValue";
export type AllowedTargetScope =
| "notSpecified"
| "specificDirectoryUsers"
| "specificConnectedOrganizationUsers"
| "specificDirectoryServicePrincipals"
| "allMemberUsers"
| "allDirectoryUsers"
| "allDirectoryServicePrincipals"
| "allConfiguredConnectedOrganizationUsers"
| "allExternalUsers"
| "unknownFutureValue";
export type ExpirationPatternType = "notSpecified" | "noExpiration" | "afterDateTime" | "afterDuration";
export type ConnectedOrganizationState = "configured" | "proposed" | "unknownFutureValue";
export type CertificateStatus = "notProvisioned" | "provisioned";
export type ComplianceStatus =
| "unknown"
| "notApplicable"
| "compliant"
| "remediated"
| "nonCompliant"
| "error"
| "conflict"
| "notAssigned";
export type InstallIntent = "available" | "required" | "uninstall" | "availableWithoutEnrollment";
export type ManagedAppAvailability = "global" | "lineOfBusiness";
export type MdmAppConfigKeyType = "stringType" | "integerType" | "realType" | "booleanType" | "tokenType";
export type MicrosoftEdgeChannel = "dev" | "beta" | "stable" | "unknownFutureValue";
export type MicrosoftStoreForBusinessLicenseType = "offline" | "online";
export type MobileAppContentFileUploadState =
| "success"
| "transientError"
| "error"
| "unknown"
| "azureStorageUriRequestSuccess"
| "azureStorageUriRequestPending"
| "azureStorageUriRequestFailed"
| "azureStorageUriRequestTimedOut"
| "azureStorageUriRenewalSuccess"
| "azureStorageUriRenewalPending"
| "azureStorageUriRenewalFailed"
| "azureStorageUriRenewalTimedOut"
| "commitFileSuccess"
| "commitFilePending"
| "commitFileFailed"
| "commitFileTimedOut";
export type MobileAppPublishingState = "notPublished" | "processing" | "published";
export type RunAsAccountType = "system" | "user";
export type VppTokenAccountType = "business" | "education";
export type Win32LobAppDeliveryOptimizationPriority = "notConfigured" | "foreground";
export type Win32LobAppFileSystemOperationType =
| "notConfigured"
| "exists"
| "modifiedDate"
| "createdDate"
| "version"
| "sizeInMB";
export type Win32LobAppMsiPackageType = "perMachine" | "perUser" | "dualPurpose";
export type Win32LobAppNotification = "showAll" | "showReboot" | "hideAll";
export type Win32LobAppPowerShellScriptRuleOperationType =
| "notConfigured"
| "string"
| "dateTime"
| "integer"
| "float"
| "version"
| "boolean";
export type Win32LobAppRegistryRuleOperationType =
| "notConfigured"
| "exists"
| "doesNotExist"
| "string"
| "integer"
| "version";
export type Win32LobAppRestartBehavior = "basedOnReturnCode" | "allow" | "suppress" | "force";
export type Win32LobAppReturnCodeType = "failed" | "success" | "softReboot" | "hardReboot" | "retry";
export type Win32LobAppRuleOperator =
| "notConfigured"
| "equal"
| "notEqual"
| "greaterThan"
| "greaterThanOrEqual"
| "lessThan"
| "lessThanOrEqual";
export type Win32LobAppRuleType = "detection" | "requirement";
export type WindowsArchitecture = "none" | "x86" | "x64" | "arm" | "neutral";
export type WindowsDeviceType = "none" | "desktop" | "mobile" | "holographic" | "team";
export type InstallState = "notApplicable" | "installed" | "failed" | "notInstalled" | "uninstallFailed" | "unknown";
export type AndroidRequiredPasswordType =
| "deviceDefault"
| "alphabetic"
| "alphanumeric"
| "alphanumericWithSymbols"
| "lowSecurityBiometric"
| "numeric"
| "numericComplex"
| "any";
export type AndroidWorkProfileCrossProfileDataSharingType =
| "deviceDefault"
| "preventAny"
| "allowPersonalToWork"
| "noRestrictions";
export type AndroidWorkProfileDefaultAppPermissionPolicyType = "deviceDefault" | "prompt" | "autoGrant" | "autoDeny";
export type AndroidWorkProfileRequiredPasswordType =
| "deviceDefault"
| "lowSecurityBiometric"
| "required"
| "atLeastNumeric"
| "numericComplex"
| "atLeastAlphabetic"
| "atLeastAlphanumeric"
| "alphanumericWithSymbols";
export type ApplicationGuardBlockClipboardSharingType =
| "notConfigured"
| "blockBoth"
| "blockHostToContainer"
| "blockContainerToHost"
| "blockNone";
export type ApplicationGuardBlockFileTransferType =
| "notConfigured"
| "blockImageAndTextFile"
| "blockImageFile"
| "blockNone"
| "blockTextFile";
export type AppListType = "none" | "appsInListCompliant" | "appsNotInListCompliant";
export type AppLockerApplicationControlType =
| "notConfigured"
| "enforceComponentsAndStoreApps"
| "auditComponentsAndStoreApps"
| "enforceComponentsStoreAppsAndSmartlocker"
| "auditComponentsStoreAppsAndSmartlocker";
export type AutomaticUpdateMode =
| "userDefined"
| "notifyDownload"
| "autoInstallAtMaintenanceTime"
| "autoInstallAndRebootAtMaintenanceTime"
| "autoInstallAndRebootAtScheduledTime"
| "autoInstallAndRebootWithoutEndUserControl";
export type AutoRestartNotificationDismissalMethod = "notConfigured" | "automatic" | "user" | "unknownFutureValue";
export type BitLockerEncryptionMethod = "aesCbc128" | "aesCbc256" | "xtsAes128" | "xtsAes256";
export type DefenderCloudBlockLevelType = "notConfigured" | "high" | "highPlus" | "zeroTolerance";
export type DefenderMonitorFileActivity =
| "userDefined"
| "disable"
| "monitorAllFiles"
| "monitorIncomingFilesOnly"
| "monitorOutgoingFilesOnly";
export type DefenderPromptForSampleSubmission =
| "userDefined"
| "alwaysPrompt"
| "promptBeforeSendingPersonalData"
| "neverSendData"
| "sendAllDataWithoutPrompting";
export type DefenderScanType = "userDefined" | "disabled" | "quick" | "full";
export type DefenderThreatAction =
| "deviceDefault"
| "clean"
| "quarantine"
| "remove"
| "allow"
| "userDefined"
| "block";
export type DeviceComplianceActionType =
| "noAction"
| "notification"
| "block"
| "retire"
| "wipe"
| "removeResourceAccessProfiles"
| "pushNotification";
export type DeviceThreatProtectionLevel = "unavailable" | "secured" | "low" | "medium" | "high" | "notSet";
export type DiagnosticDataSubmissionMode = "userDefined" | "none" | "basic" | "enhanced" | "full";
export type EdgeCookiePolicy = "userDefined" | "allow" | "blockThirdParty" | "blockAll";
export type EdgeSearchEngineType = "default" | "bing";
export type EditionUpgradeLicenseType = "productKey" | "licenseFile";
export type Enablement = "notConfigured" | "enabled" | "disabled";
export type FirewallCertificateRevocationListCheckMethodType = "deviceDefault" | "none" | "attempt" | "require";
export type FirewallPacketQueueingMethodType =
| "deviceDefault"
| "disabled"
| "queueInbound"
| "queueOutbound"
| "queueBoth";
export type FirewallPreSharedKeyEncodingMethodType = "deviceDefault" | "none" | "utF8";
export type InternetSiteSecurityLevel = "userDefined" | "medium" | "mediumHigh" | "high";
export type IosNotificationAlertType = "deviceDefault" | "banner" | "modal" | "none";
export type IosUpdatesInstallStatus =
| "deviceOsHigherThanDesiredOsVersion"
| "sharedDeviceUserLoggedInError"
| "notSupportedOperation"
| "installFailed"
| "installPhoneCallInProgress"
| "installInsufficientPower"
| "installInsufficientSpace"
| "installing"
| "downloadInsufficientNetwork"
| "downloadInsufficientPower"
| "downloadInsufficientSpace"
| "downloadRequiresComputer"
| "downloadFailed"
| "downloading"
| "success"
| "available"
| "idle"
| "unknown";
export type MiracastChannel =
| "userDefined"
| "one"
| "two"
| "three"
| "four"
| "five"
| "six"
| "seven"
| "eight"
| "nine"
| "ten"
| "eleven"
| "thirtySix"
| "forty"
| "fortyFour"
| "fortyEight"
| "oneHundredFortyNine"
| "oneHundredFiftyThree"
| "oneHundredFiftySeven"
| "oneHundredSixtyOne"
| "oneHundredSixtyFive";
export type PolicyPlatformType =
| "android"
| "androidForWork"
| "iOS"
| "macOS"
| "windowsPhone81"
| "windows81AndLater"
| "windows10AndLater"
| "all";
export type PrereleaseFeatures = "userDefined" | "settingsOnly" | "settingsAndExperimentations" | "notAllowed";
export type RatingAppsType = "allAllowed" | "allBlocked" | "agesAbove4" | "agesAbove9" | "agesAbove12" | "agesAbove17";
export type RatingAustraliaMoviesType =
| "allAllowed"
| "allBlocked"
| "general"
| "parentalGuidance"
| "mature"
| "agesAbove15"
| "agesAbove18";
export type RatingAustraliaTelevisionType =
| "allAllowed"
| "allBlocked"
| "preschoolers"
| "children"
| "general"
| "parentalGuidance"
| "mature"
| "agesAbove15"
| "agesAbove15AdultViolence";
export type RatingCanadaMoviesType =
| "allAllowed"
| "allBlocked"
| "general"
| "parentalGuidance"
| "agesAbove14"
| "agesAbove18"
| "restricted";
export type RatingCanadaTelevisionType =
| "allAllowed"
| "allBlocked"
| "children"
| "childrenAbove8"
| "general"
| "parentalGuidance"
| "agesAbove14"
| "agesAbove18";
export type RatingFranceMoviesType =
| "allAllowed"
| "allBlocked"
| "agesAbove10"
| "agesAbove12"
| "agesAbove16"
| "agesAbove18";
export type RatingFranceTelevisionType =
| "allAllowed"
| "allBlocked"
| "agesAbove10"
| "agesAbove12"
| "agesAbove16"
| "agesAbove18";
export type RatingGermanyMoviesType =
| "allAllowed"
| "allBlocked"
| "general"
| "agesAbove6"
| "agesAbove12"
| "agesAbove16"
| "adults";
export type RatingGermanyTelevisionType =
| "allAllowed"
| "allBlocked"
| "general"
| "agesAbove6"
| "agesAbove12"
| "agesAbove16"
| "adults";
export type RatingIrelandMoviesType =
| "allAllowed"
| "allBlocked"
| "general"
| "parentalGuidance"
| "agesAbove12"
| "agesAbove15"
| "agesAbove16"
| "adults";
export type RatingIrelandTelevisionType =
| "allAllowed"
| "allBlocked"
| "general"
| "children"
| "youngAdults"
| "parentalSupervision"
| "mature";
export type RatingJapanMoviesType =
| "allAllowed"
| "allBlocked"
| "general"
| "parentalGuidance"
| "agesAbove15"
| "agesAbove18";
export type RatingJapanTelevisionType = "allAllowed" | "allBlocked" | "explicitAllowed";
export type RatingNewZealandMoviesType =
| "allAllowed"
| "allBlocked"
| "general"
| "parentalGuidance"
| "mature"
| "agesAbove13"
| "agesAbove15"
| "agesAbove16"
| "agesAbove18"
| "restricted"
| "agesAbove16Restricted";
export type RatingNewZealandTelevisionType = "allAllowed" | "allBlocked" | "general" | "parentalGuidance" | "adults";
export type RatingUnitedKingdomMoviesType =
| "allAllowed"
| "allBlocked"
| "general"
| "universalChildren"
| "parentalGuidance"
| "agesAbove12Video"
| "agesAbove12Cinema"
| "agesAbove15"
| "adults";
export type RatingUnitedKingdomTelevisionType = "allAllowed" | "allBlocked" | "caution";
export type RatingUnitedStatesMoviesType =
| "allAllowed"
| "allBlocked"
| "general"
| "parentalGuidance"
| "parentalGuidance13"
| "restricted"
| "adults";
export type RatingUnitedStatesTelevisionType =
| "allAllowed"
| "allBlocked"
| "childrenAll"
| "childrenAbove7"
| "general"
| "parentalGuidance"
| "childrenAbove14"
| "adults";
export type RequiredPasswordType = "deviceDefault" | "alphanumeric" | "numeric";
export type SafeSearchFilterType = "userDefined" | "strict" | "moderate";
export type SettingSourceType = "deviceConfiguration" | "deviceIntent";
export type SharedPCAccountDeletionPolicyType =
| "immediate"
| "diskSpaceThreshold"
| "diskSpaceThresholdOrInactiveThreshold";
export type SharedPCAllowedAccountType = "guest" | "domain";
export type SiteSecurityLevel = "userDefined" | "low" | "mediumLow" | "medium" | "mediumHigh" | "high";
export type StateManagementSetting = "notConfigured" | "blocked" | "allowed";
export type VisibilitySetting = "notConfigured" | "hide" | "show";
export type WebBrowserCookieSettings =
| "browserDefault"
| "blockAlways"
| "allowCurrentWebSite"
| "allowFromWebsitesVisited"
| "allowAlways";
export type WeeklySchedule =
| "userDefined"
| "everyday"
| "sunday"
| "monday"
| "tuesday"
| "wednesday"
| "thursday"
| "friday"
| "saturday";
export type WelcomeScreenMeetingInformation =
| "userDefined"
| "showOrganizerAndTimeOnly"
| "showOrganizerAndTimeAndSubject";
export type Windows10EditionType =
| "windows10Enterprise"
| "windows10EnterpriseN"
| "windows10Education"
| "windows10EducationN"
| "windows10MobileEnterprise"
| "windows10HolographicEnterprise"
| "windows10Professional"
| "windows10ProfessionalN"
| "windows10ProfessionalEducation"
| "windows10ProfessionalEducationN"
| "windows10ProfessionalWorkstation"
| "windows10ProfessionalWorkstationN";
export type WindowsDeliveryOptimizationMode =
| "userDefined"
| "httpOnly"
| "httpWithPeeringNat"
| "httpWithPeeringPrivateGroup"
| "httpWithInternetPeering"
| "simpleDownload"
| "bypassMode";
export type WindowsSpotlightEnablementSettings = "notConfigured" | "disabled" | "enabled";
export type WindowsStartMenuAppListVisibilityType = "userDefined" | "collapse" | "remove" | "disableSettingsApp";
export type WindowsStartMenuModeType = "userDefined" | "fullScreen" | "nonFullScreen";
export type WindowsUpdateForBusinessUpdateWeeks =
| "userDefined"
| "firstWeek"
| "secondWeek"
| "thirdWeek"
| "fourthWeek"
| "everyWeek"
| "unknownFutureValue";
export type WindowsUpdateNotificationDisplayOption =
| "notConfigured"
| "defaultNotifications"
| "restartWarningsOnly"
| "disableAllNotifications"
| "unknownFutureValue";
export type WindowsUpdateType =
| "userDefined"
| "all"
| "businessReadyOnly"
| "windowsInsiderBuildFast"
| "windowsInsiderBuildSlow"
| "windowsInsiderBuildRelease";
export type WindowsUserAccountControlSettings =
| "userDefined"
| "alwaysNotify"
| "notifyOnAppChanges"
| "notifyOnAppChangesWithoutDimming"
| "neverNotify";
export type DeviceManagementExchangeConnectorStatus =
| "none"
| "connectionPending"
| "connected"
| "disconnected"
| "unknownFutureValue";
export type DeviceManagementExchangeConnectorSyncType = "fullSync" | "deltaSync";
export type DeviceManagementExchangeConnectorType =
| "onPremises"
| "hosted"
| "serviceToService"
| "dedicated"
| "unknownFutureValue";
export type DeviceManagementPartnerAppType = "unknown" | "singleTenantApp" | "multiTenantApp";
export type DeviceManagementPartnerTenantState =
| "unknown"
| "unavailable"
| "enabled"
| "terminated"
| "rejected"
| "unresponsive";
export type MdmAuthority = "unknown" | "intune" | "sccm" | "office365";
export type MobileThreatPartnerTenantState = "unavailable" | "available" | "enabled" | "unresponsive";
export type VppTokenState = "unknown" | "valid" | "expired" | "invalid" | "assignedToExternalMDM";
export type VppTokenSyncStatus = "none" | "inProgress" | "completed" | "failed";
export type WindowsHelloForBusinessPinUsage = "allowed" | "required" | "disallowed";
export type ActionState = "none" | "pending" | "canceled" | "active" | "done" | "failed" | "notSupported";
export type ComplianceState =
| "unknown"
| "compliant"
| "noncompliant"
| "conflict"
| "error"
| "inGracePeriod"
| "configManager";
export type DetectedAppPlatformType =
| "unknown"
| "windows"
| "windowsMobile"
| "windowsHolographic"
| "ios"
| "macOS"
| "chromeOS"
| "androidOSP"
| "androidDeviceAdministrator"
| "androidWorkProfile"
| "androidDedicatedAndFullyManaged";
export type DeviceEnrollmentType =
| "unknown"
| "userEnrollment"
| "deviceEnrollmentManager"
| "appleBulkWithUser"
| "appleBulkWithoutUser"
| "windowsAzureADJoin"
| "windowsBulkUserless"
| "windowsAutoEnrollment"
| "windowsBulkAzureDomainJoin"
| "windowsCoManagement"
| "windowsAzureADJoinUsingDeviceAuth"
| "appleUserEnrollment"
| "appleUserEnrollmentWithServiceAccount";
export type DeviceManagementExchangeAccessState = "none" | "unknown" | "allowed" | "blocked" | "quarantined";
export type DeviceManagementExchangeAccessStateReason =
| "none"
| "unknown"
| "exchangeGlobalRule"
| "exchangeIndividualRule"
| "exchangeDeviceRule"
| "exchangeUpgrade"
| "exchangeMailboxPolicy"
| "other"
| "compliant"
| "notCompliant"
| "notEnrolled"
| "unknownLocation"
| "mfaRequired"
| "azureADBlockDueToAccessPolicy"
| "compromisedPassword"
| "deviceNotKnownWithManagedApp";
export type DeviceManagementSubscriptionState =
| "pending"
| "active"
| "warning"
| "disabled"
| "deleted"
| "blocked"
| "lockedOut";
export type DeviceRegistrationState =
| "notRegistered"
| "registered"
| "revoked"
| "keyConflict"
| "approvalPending"
| "certificateReset"
| "notRegisteredPendingEnrollment"
| "unknown";
export type DiskType = "unknown" | "hdd" | "ssd" | "unknownFutureValue";
export type ManagedDeviceOwnerType = "unknown" | "company" | "personal";
export type ManagedDevicePartnerReportedHealthState =
| "unknown"
| "activated"
| "deactivated"
| "secured"
| "lowSeverity"
| "mediumSeverity"
| "highSeverity"
| "unresponsive"
| "compromised"
| "misconfigured";
export type ManagementAgentType =
| "eas"
| "mdm"
| "easMdm"
| "intuneClient"
| "easIntuneClient"
| "configurationManagerClient"
| "configurationManagerClientMdm"
| "configurationManagerClientMdmEas"
| "unknown"
| "jamf"
| "googleCloudDevicePolicyController"
| "microsoft365ManagedMdm"
| "msSense";
export type UserExperienceAnalyticsHealthState =
| "unknown"
| "insufficientData"
| "needsAttention"
| "meetingGoals"
| "unknownFutureValue";
export type EnrollmentState = "unknown" | "enrolled" | "pendingReset" | "failed" | "notContacted";
export type ImportedWindowsAutopilotDeviceIdentityImportStatus =
| "unknown"
| "pending"
| "partial"
| "complete"
| "error";
export type ImportedWindowsAutopilotDeviceIdentityUploadStatus = "noUpload" | "pending" | "complete" | "error";
export type ManagedAppClipboardSharingLevel = "allApps" | "managedAppsWithPasteIn" | "managedApps" | "blocked";
export type ManagedAppDataEncryptionType =
| "useDeviceSettings"
| "afterDeviceRestart"
| "whenDeviceLockedExceptOpenFiles"
| "whenDeviceLocked";
export type ManagedAppDataStorageLocation = "oneDriveForBusiness" | "sharePoint" | "box" | "localStorage";
export type ManagedAppDataTransferLevel = "allApps" | "managedApps" | "none";
export type ManagedAppFlaggedReason = "none" | "rootedDevice";
export type ManagedAppPinCharacterSet = "numeric" | "alphanumericAndSymbol";
export type ManagedBrowserType = "notConfigured" | "microsoftEdge";
export type TargetedManagedAppGroupType = "selectedPublicApps" | "allCoreMicrosoftApps" | "allMicrosoftApps" | "allApps";
export type WindowsInformationProtectionEnforcementLevel =
| "noProtection"
| "encryptAndAuditOnly"
| "encryptAuditAndPrompt"
| "encryptAuditAndBlock";
export type WindowsInformationProtectionPinCharacterRequirements = "notAllow" | "requireAtLeastOne" | "allow";
export type NotificationTemplateBrandingOptions =
| "none"
| "includeCompanyLogo"
| "includeCompanyName"
| "includeContactInformation"
| "includeCompanyPortalLink"
| "includeDeviceDetails"
| "unknownFutureValue";
export type RemoteAssistanceOnboardingStatus = "notOnboarded" | "onboarding" | "onboarded";
export type DeviceManagementExportJobLocalizationType = "localizedValuesAsAdditionalColumn" | "replaceLocalizableValues";
export type DeviceManagementReportFileFormat = "csv" | "pdf" | "json" | "unknownFutureValue";
export type DeviceManagementReportStatus = "unknown" | "notStarted" | "inProgress" | "completed" | "failed";
export type DeviceEnrollmentFailureReason =
| "unknown"
| "authentication"
| "authorization"
| "accountValidation"
| "userValidation"
| "deviceNotSupported"
| "inMaintenance"
| "badRequest"
| "featureNotSupported"
| "enrollmentRestrictionsEnforced"
| "clientDisconnected"
| "userAbandonment";
export type ApplicationType = "universal" | "desktop";
export type PostType = "regular" | "quick" | "strategic" | "unknownFutureValue";
export type ServiceHealthClassificationType = "advisory" | "incident" | "unknownFutureValue";
export type ServiceHealthOrigin = "microsoft" | "thirdParty" | "customer" | "unknownFutureValue";
export type ServiceHealthStatus =
| "serviceOperational"
| "investigating"
| "restoringService"
| "verifyingService"
| "serviceRestored"
| "postIncidentReviewPublished"
| "serviceDegradation"
| "serviceInterruption"
| "extendedRecovery"
| "falsePositive"
| "investigationSuspended"
| "resolved"
| "mitigatedExternal"
| "mitigated"
| "resolvedExternal"
| "confirmed"
| "reported"
| "unknownFutureValue";
export type ServiceUpdateCategory = "preventOrFixIssue" | "planForChange" | "stayInformed" | "unknownFutureValue";
export type ServiceUpdateSeverity = "normal" | "high" | "critical" | "unknownFutureValue";
export type BucketAggregationSortProperty = "count" | "keyAsString" | "keyAsNumber" | "unknownFutureValue";
export type EntityType =
| "event"
| "message"
| "driveItem"
| "externalItem"
| "site"
| "list"
| "listItem"
| "drive"
| "unknownFutureValue"
| "acronym"
| "bookmark"
| "chatMessage"
| "person";
export type SearchAlterationType = "suggestion" | "modification" | "unknownFutureValue";
export type SearchContent = "sharedContent" | "privateContent" | "unknownFutureValue";
export type PlannerContainerType = "group" | "unknownFutureValue" | "roster";
export type PlannerPreviewType = "automatic" | "noPreview" | "checklist" | "description" | "reference";
export type OnenotePatchActionType = "Replace" | "Append" | "Delete" | "Insert" | "Prepend";
export type OnenotePatchInsertPosition = "After" | "Before";
export type OnenoteSourceService = "Unknown" | "OneDrive" | "OneDriveForBusiness" | "OnPremOneDriveForBusiness";
export type OnenoteUserRole = "None" | "Owner" | "Contributor" | "Reader";
export type OperationStatus = "NotStarted" | "Running" | "Completed" | "Failed";
export type DelegatedAdminAccessAssignmentStatus =
| "pending"
| "active"
| "deleting"
| "deleted"
| "error"
| "unknownFutureValue";
export type DelegatedAdminAccessContainerType = "securityGroup" | "unknownFutureValue";
export type DelegatedAdminRelationshipOperationType = "delegatedAdminAccessAssignmentUpdate" | "unknownFutureValue";
export type DelegatedAdminRelationshipRequestAction = "lockForApproval" | "approve" | "terminate" | "unknownFutureValue";
export type DelegatedAdminRelationshipRequestStatus =
| "created"
| "pending"
| "succeeded"
| "failed"
| "unknownFutureValue";
export type DelegatedAdminRelationshipStatus =
| "activating"
| "active"
| "approvalPending"
| "approved"
| "created"
| "expired"
| "expiring"
| "terminated"
| "terminating"
| "terminationRequested"
| "unknownFutureValue";
export type RoleAssignmentScheduleFilterByCurrentUserOptions = "principal" | "unknownFutureValue";
export type RoleAssignmentScheduleInstanceFilterByCurrentUserOptions = "principal" | "unknownFutureValue";
export type RoleAssignmentScheduleRequestFilterByCurrentUserOptions =
| "principal"
| "createdBy"
| "approver"
| "unknownFutureValue";
export type RoleEligibilityScheduleFilterByCurrentUserOptions = "principal" | "unknownFutureValue";
export type RoleEligibilityScheduleInstanceFilterByCurrentUserOptions = "principal" | "unknownFutureValue";
export type RoleEligibilityScheduleRequestFilterByCurrentUserOptions =
| "principal"
| "createdBy"
| "approver"
| "unknownFutureValue";
export type UnifiedRoleManagementPolicyRuleTargetOperations =
| "all"
| "activate"
| "deactivate"
| "assign"
| "update"
| "remove"
| "extend"
| "renew"
| "unknownFutureValue";
export type UnifiedRoleScheduleRequestActions =
| "adminAssign"
| "adminUpdate"
| "adminRemove"
| "selfActivate"
| "selfDeactivate"
| "adminExtend"
| "adminRenew"
| "selfExtend"
| "selfRenew"
| "unknownFutureValue";
export type PrintColorMode = "blackAndWhite" | "grayscale" | "color" | "auto" | "unknownFutureValue";
export type PrintDuplexMode = "flipOnLongEdge" | "flipOnShortEdge" | "oneSided" | "unknownFutureValue";
export type PrinterFeedOrientation = "longEdgeFirst" | "shortEdgeFirst" | "unknownFutureValue";
export type PrinterProcessingState = "unknown" | "idle" | "processing" | "stopped" | "unknownFutureValue";
export type PrinterProcessingStateDetail =
| "paused"
| "mediaJam"
| "mediaNeeded"
| "mediaLow"
| "mediaEmpty"
| "coverOpen"
| "interlockOpen"
| "outputTrayMissing"
| "outputAreaFull"
| "markerSupplyLow"
| "markerSupplyEmpty"
| "inputTrayMissing"
| "outputAreaAlmostFull"
| "markerWasteAlmostFull"
| "markerWasteFull"
| "fuserOverTemp"
| "fuserUnderTemp"
| "other"
| "none"
| "movingToPaused"
| "shutdown"
| "connectingToDevice"
| "timedOut"
| "stopping"
| "stoppedPartially"
| "tonerLow"
| "tonerEmpty"
| "spoolAreaFull"
| "doorOpen"
| "opticalPhotoConductorNearEndOfLife"
| "opticalPhotoConductorLifeOver"
| "developerLow"
| "developerEmpty"
| "interpreterResourceUnavailable"
| "unknownFutureValue"
| "alertRemovalOfBinaryChangeEntry"
| "banderAdded"
| "banderAlmostEmpty"
| "banderAlmostFull"
| "banderAtLimit"
| "banderClosed"
| "banderConfigurationChange"
| "banderCoverClosed"
| "banderCoverOpen"
| "banderEmpty"
| "banderFull"
| "banderInterlockClosed"
| "banderInterlockOpen"
| "banderJam"
| "banderLifeAlmostOver"
| "banderLifeOver"
| "banderMemoryExhausted"
| "banderMissing"
| "banderMotorFailure"
| "banderNearLimit"
| "banderOffline"
| "banderOpened"
| "banderOverTemperature"
| "banderPowerSaver"
| "banderRecoverableFailure"
| "banderRecoverableStorage"
| "banderRemoved"
| "banderResourceAdded"
| "banderResourceRemoved"
| "banderThermistorFailure"
| "banderTimingFailure"
| "banderTurnedOff"
| "banderTurnedOn"
| "banderUnderTemperature"
| "banderUnrecoverableFailure"
| "banderUnrecoverableStorageError"
| "banderWarmingUp"
| "binderAdded"
| "binderAlmostEmpty"
| "binderAlmostFull"
| "binderAtLimit"
| "binderClosed"
| "binderConfigurationChange"
| "binderCoverClosed"
| "binderCoverOpen"
| "binderEmpty"
| "binderFull"
| "binderInterlockClosed"
| "binderInterlockOpen"
| "binderJam"
| "binderLifeAlmostOver"
| "binderLifeOver"
| "binderMemoryExhausted"
| "binderMissing"
| "binderMotorFailure"
| "binderNearLimit"
| "binderOffline"
| "binderOpened"
| "binderOverTemperature"
| "binderPowerSaver"
| "binderRecoverableFailure"
| "binderRecoverableStorage"
| "binderRemoved"
| "binderResourceAdded"
| "binderResourceRemoved"
| "binderThermistorFailure"
| "binderTimingFailure"
| "binderTurnedOff"
| "binderTurnedOn"
| "binderUnderTemperature"
| "binderUnrecoverableFailure"
| "binderUnrecoverableStorageError"
| "binderWarmingUp"
| "cameraFailure"
| "chamberCooling"
| "chamberFailure"
| "chamberHeating"
| "chamberTemperatureHigh"
| "chamberTemperatureLow"
| "cleanerLifeAlmostOver"
| "cleanerLifeOver"
| "configurationChange"
| "deactivated"
| "deleted"
| "dieCutterAdded"
| "dieCutterAlmostEmpty"
| "dieCutterAlmostFull"
| "dieCutterAtLimit"
| "dieCutterClosed"
| "dieCutterConfigurationChange"
| "dieCutterCoverClosed"
| "dieCutterCoverOpen"
| "dieCutterEmpty"
| "dieCutterFull"
| "dieCutterInterlockClosed"
| "dieCutterInterlockOpen"
| "dieCutterJam"
| "dieCutterLifeAlmostOver"
| "dieCutterLifeOver"
| "dieCutterMemoryExhausted"
| "dieCutterMissing"
| "dieCutterMotorFailure"
| "dieCutterNearLimit"
| "dieCutterOffline"
| "dieCutterOpened"
| "dieCutterOverTemperature"
| "dieCutterPowerSaver"
| "dieCutterRecoverableFailure"
| "dieCutterRecoverableStorage"
| "dieCutterRemoved"
| "dieCutterResourceAdded"
| "dieCutterResourceRemoved"
| "dieCutterThermistorFailure"
| "dieCutterTimingFailure"
| "dieCutterTurnedOff"
| "dieCutterTurnedOn"
| "dieCutterUnderTemperature"
| "dieCutterUnrecoverableFailure"
| "dieCutterUnrecoverableStorageError"
| "dieCutterWarmingUp"
| "extruderCooling"
| "extruderFailure"
| "extruderHeating"
| "extruderJam"
| "extruderTemperatureHigh"
| "extruderTemperatureLow"
| "fanFailure"
| "faxModemLifeAlmostOver"
| "faxModemLifeOver"
| "faxModemMissing"
| "faxModemTurnedOff"
| "faxModemTurnedOn"
| "folderAdded"
| "folderAlmostEmpty"
| "folderAlmostFull"
| "folderAtLimit"
| "folderClosed"
| "folderConfigurationChange"
| "folderCoverClosed"
| "folderCoverOpen"
| "folderEmpty"
| "folderFull"
| "folderInterlockClosed"
| "folderInterlockOpen"
| "folderJam"
| "folderLifeAlmostOver"
| "folderLifeOver"
| "folderMemoryExhausted"
| "folderMissing"
| "folderMotorFailure"
| "folderNearLimit"
| "folderOffline"
| "folderOpened"
| "folderOverTemperature"
| "folderPowerSaver"
| "folderRecoverableFailure"
| "folderRecoverableStorage"
| "folderRemoved"
| "folderResourceAdded"
| "folderResourceRemoved"
| "folderThermistorFailure"
| "folderTimingFailure"
| "folderTurnedOff"
| "folderTurnedOn"
| "folderUnderTemperature"
| "folderUnrecoverableFailure"
| "folderUnrecoverableStorageError"
| "folderWarmingUp"
| "hibernate"
| "holdNewJobs"
| "identifyPrinterRequested"
| "imprinterAdded"
| "imprinterAlmostEmpty"
| "imprinterAlmostFull"
| "imprinterAtLimit"
| "imprinterClosed"
| "imprinterConfigurationChange"
| "imprinterCoverClosed"
| "imprinterCoverOpen"
| "imprinterEmpty"
| "imprinterFull"
| "imprinterInterlockClosed"
| "imprinterInterlockOpen"
| "imprinterJam"
| "imprinterLifeAlmostOver"
| "imprinterLifeOver"
| "imprinterMemoryExhausted"
| "imprinterMissing"
| "imprinterMotorFailure"
| "imprinterNearLimit"
| "imprinterOffline"
| "imprinterOpened"
| "imprinterOverTemperature"
| "imprinterPowerSaver"
| "imprinterRecoverableFailure"
| "imprinterRecoverableStorage"
| "imprinterRemoved"
| "imprinterResourceAdded"
| "imprinterResourceRemoved"
| "imprinterThermistorFailure"
| "imprinterTimingFailure"
| "imprinterTurnedOff"
| "imprinterTurnedOn"
| "imprinterUnderTemperature"
| "imprinterUnrecoverableFailure"
| "imprinterUnrecoverableStorageError"
| "imprinterWarmingUp"
| "inputCannotFeedSizeSelected"
| "inputManualInputRequest"
| "inputMediaColorChange"
| "inputMediaFormPartsChange"
| "inputMediaSizeChange"
| "inputMediaTrayFailure"
| "inputMediaTrayFeedError"
| "inputMediaTrayJam"
| "inputMediaTypeChange"
| "inputMediaWeightChange"
| "inputPickRollerFailure"
| "inputPickRollerLifeOver"
| "inputPickRollerLifeWarn"
| "inputPickRollerMissing"
| "inputTrayElevationFailure"
| "inputTrayPositionFailure"
| "inserterAdded"
| "inserterAlmostEmpty"
| "inserterAlmostFull"
| "inserterAtLimit"
| "inserterClosed"
| "inserterConfigurationChange"
| "inserterCoverClosed"
| "inserterCoverOpen"
| "inserterEmpty"
| "inserterFull"
| "inserterInterlockClosed"
| "inserterInterlockOpen"
| "inserterJam"
| "inserterLifeAlmostOver"
| "inserterLifeOver"
| "inserterMemoryExhausted"
| "inserterMissing"
| "inserterMotorFailure"
| "inserterNearLimit"
| "inserterOffline"
| "inserterOpened"
| "inserterOverTemperature"
| "inserterPowerSaver"
| "inserterRecoverableFailure"
| "inserterRecoverableStorage"
| "inserterRemoved"
| "inserterResourceAdded"
| "inserterResourceRemoved"
| "inserterThermistorFailure"
| "inserterTimingFailure"
| "inserterTurnedOff"
| "inserterTurnedOn"
| "inserterUnderTemperature"
| "inserterUnrecoverableFailure"
| "inserterUnrecoverableStorageError"
| "inserterWarmingUp"
| "interlockClosed"
| "interpreterCartridgeAdded"
| "interpreterCartridgeDeleted"
| "interpreterComplexPageEncountered"
| "interpreterMemoryDecrease"
| "interpreterMemoryIncrease"
| "interpreterResourceAdded"
| "interpreterResourceDeleted"
| "lampAtEol"
| "lampFailure"
| "lampNearEol"
| "laserAtEol"
| "laserFailure"
| "laserNearEol"
| "makeEnvelopeAdded"
| "makeEnvelopeAlmostEmpty"
| "makeEnvelopeAlmostFull"
| "makeEnvelopeAtLimit"
| "makeEnvelopeClosed"
| "makeEnvelopeConfigurationChange"
| "makeEnvelopeCoverClosed"
| "makeEnvelopeCoverOpen"
| "makeEnvelopeEmpty"
| "makeEnvelopeFull"
| "makeEnvelopeInterlockClosed"
| "makeEnvelopeInterlockOpen"
| "makeEnvelopeJam"
| "makeEnvelopeLifeAlmostOver"
| "makeEnvelopeLifeOver"
| "makeEnvelopeMemoryExhausted"
| "makeEnvelopeMissing"
| "makeEnvelopeMotorFailure"
| "makeEnvelopeNearLimit"
| "makeEnvelopeOffline"
| "makeEnvelopeOpened"
| "makeEnvelopeOverTemperature"
| "makeEnvelopePowerSaver"
| "makeEnvelopeRecoverableFailure"
| "makeEnvelopeRecoverableStorage"
| "makeEnvelopeRemoved"
| "makeEnvelopeResourceAdded"
| "makeEnvelopeResourceRemoved"
| "makeEnvelopeThermistorFailure"
| "makeEnvelopeTimingFailure"
| "makeEnvelopeTurnedOff"
| "makeEnvelopeTurnedOn"
| "makeEnvelopeUnderTemperature"
| "makeEnvelopeUnrecoverableFailure"
| "makeEnvelopeUnrecoverableStorageError"
| "makeEnvelopeWarmingUp"
| "markerAdjustingPrintQuality"
| "markerCleanerMissing"
| "markerDeveloperAlmostEmpty"
| "markerDeveloperEmpty"
| "markerDeveloperMissing"
| "markerFuserMissing"
| "markerFuserThermistorFailure"
| "markerFuserTimingFailure"
| "markerInkAlmostEmpty"
| "markerInkEmpty"
| "markerInkMissing"
| "markerOpcMissing"
| "markerPrintRibbonAlmostEmpty"
| "markerPrintRibbonEmpty"
| "markerPrintRibbonMissing"
| "markerSupplyAlmostEmpty"
| "markerSupplyMissing"
| "markerTonerCartridgeMissing"
| "markerTonerMissing"
| "markerWasteInkReceptacleAlmostFull"
| "markerWasteInkReceptacleFull"
| "markerWasteInkReceptacleMissing"
| "markerWasteMissing"
| "markerWasteTonerReceptacleAlmostFull"
| "markerWasteTonerReceptacleFull"
| "markerWasteTonerReceptacleMissing"
| "materialEmpty"
| "materialLow"
| "materialNeeded"
| "mediaDrying"
| "mediaPathCannotDuplexMediaSelected"
| "mediaPathFailure"
| "mediaPathInputEmpty"
| "mediaPathInputFeedError"
| "mediaPathInputJam"
| "mediaPathInputRequest"
| "mediaPathJam"
| "mediaPathMediaTrayAlmostFull"
| "mediaPathMediaTrayFull"
| "mediaPathMediaTrayMissing"
| "mediaPathOutputFeedError"
| "mediaPathOutputFull"
| "mediaPathOutputJam"
| "mediaPathPickRollerFailure"
| "mediaPathPickRollerLifeOver"
| "mediaPathPickRollerLifeWarn"
| "mediaPathPickRollerMissing"
| "motorFailure"
| "outputMailboxSelectFailure"
| "outputMediaTrayFailure"
| "outputMediaTrayFeedError"
| "outputMediaTrayJam"
| "perforaterAdded"
| "perforaterAlmostEmpty"
| "perforaterAlmostFull"
| "perforaterAtLimit"
| "perforaterClosed"
| "perforaterConfigurationChange"
| "perforaterCoverClosed"
| "perforaterCoverOpen"
| "perforaterEmpty"
| "perforaterFull"
| "perforaterInterlockClosed"
| "perforaterInterlockOpen"
| "perforaterJam"
| "perforaterLifeAlmostOver"
| "perforaterLifeOver"
| "perforaterMemoryExhausted"
| "perforaterMissing"
| "perforaterMotorFailure"
| "perforaterNearLimit"
| "perforaterOffline"
| "perforaterOpened"
| "perforaterOverTemperature"
| "perforaterPowerSaver"
| "perforaterRecoverableFailure"
| "perforaterRecoverableStorage"
| "perforaterRemoved"
| "perforaterResourceAdded"
| "perforaterResourceRemoved"
| "perforaterThermistorFailure"
| "perforaterTimingFailure"
| "perforaterTurnedOff"
| "perforaterTurnedOn"
| "perforaterUnderTemperature"
| "perforaterUnrecoverableFailure"
| "perforaterUnrecoverableStorageError"
| "perforaterWarmingUp"
| "platformCooling"
| "platformFailure"
| "platformHeating"
| "platformTemperatureHigh"
| "platformTemperatureLow"
| "powerDown"
| "powerUp"
| "printerManualReset"
| "printerNmsReset"
| "printerReadyToPrint"
| "puncherAdded"
| "puncherAlmostEmpty"
| "puncherAlmostFull"
| "puncherAtLimit"
| "puncherClosed"
| "puncherConfigurationChange"
| "puncherCoverClosed"
| "puncherCoverOpen"
| "puncherEmpty"
| "puncherFull"
| "puncherInterlockClosed"
| "puncherInterlockOpen"
| "puncherJam"
| "puncherLifeAlmostOver"
| "puncherLifeOver"
| "puncherMemoryExhausted"
| "puncherMissing"
| "puncherMotorFailure"
| "puncherNearLimit"
| "puncherOffline"
| "puncherOpened"
| "puncherOverTemperature"
| "puncherPowerSaver"
| "puncherRecoverableFailure"
| "puncherRecoverableStorage"
| "puncherRemoved"
| "puncherResourceAdded"
| "puncherResourceRemoved"
| "puncherThermistorFailure"
| "puncherTimingFailure"
| "puncherTurnedOff"
| "puncherTurnedOn"
| "puncherUnderTemperature"
| "puncherUnrecoverableFailure"
| "puncherUnrecoverableStorageError"
| "puncherWarmingUp"
| "resuming"
| "scanMediaPathFailure"
| "scanMediaPathInputEmpty"
| "scanMediaPathInputFeedError"
| "scanMediaPathInputJam"
| "scanMediaPathInputRequest"
| "scanMediaPathJam"
| "scanMediaPathOutputFeedError"
| "scanMediaPathOutputFull"
| "scanMediaPathOutputJam"
| "scanMediaPathPickRollerFailure"
| "scanMediaPathPickRollerLifeOver"
| "scanMediaPathPickRollerLifeWarn"
| "scanMediaPathPickRollerMissing"
| "scanMediaPathTrayAlmostFull"
| "scanMediaPathTrayFull"
| "scanMediaPathTrayMissing"
| "scannerLightFailure"
| "scannerLightLifeAlmostOver"
| "scannerLightLifeOver"
| "scannerLightMissing"
| "scannerSensorFailure"
| "scannerSensorLifeAlmostOver"
| "scannerSensorLifeOver"
| "scannerSensorMissing"
| "separationCutterAdded"
| "separationCutterAlmostEmpty"
| "separationCutterAlmostFull"
| "separationCutterAtLimit"
| "separationCutterClosed"
| "separationCutterConfigurationChange"
| "separationCutterCoverClosed"
| "separationCutterCoverOpen"
| "separationCutterEmpty"
| "separationCutterFull"
| "separationCutterInterlockClosed"
| "separationCutterInterlockOpen"
| "separationCutterJam"
| "separationCutterLifeAlmostOver"
| "separationCutterLifeOver"
| "separationCutterMemoryExhausted"
| "separationCutterMissing"
| "separationCutterMotorFailure"
| "separationCutterNearLimit"
| "separationCutterOffline"
| "separationCutterOpened"
| "separationCutterOverTemperature"
| "separationCutterPowerSaver"
| "separationCutterRecoverableFailure"
| "separationCutterRecoverableStorage"
| "separationCutterRemoved"
| "separationCutterResourceAdded"
| "separationCutterResourceRemoved"
| "separationCutterThermistorFailure"
| "separationCutterTimingFailure"
| "separationCutterTurnedOff"
| "separationCutterTurnedOn"
| "separationCutterUnderTemperature"
| "separationCutterUnrecoverableFailure"
| "separationCutterUnrecoverableStorageError"
| "separationCutterWarmingUp"
| "sheetRotatorAdded"
| "sheetRotatorAlmostEmpty"
| "sheetRotatorAlmostFull"
| "sheetRotatorAtLimit"
| "sheetRotatorClosed"
| "sheetRotatorConfigurationChange"
| "sheetRotatorCoverClosed"
| "sheetRotatorCoverOpen"
| "sheetRotatorEmpty"
| "sheetRotatorFull"
| "sheetRotatorInterlockClosed"
| "sheetRotatorInterlockOpen"
| "sheetRotatorJam"
| "sheetRotatorLifeAlmostOver"
| "sheetRotatorLifeOver"
| "sheetRotatorMemoryExhausted"
| "sheetRotatorMissing"
| "sheetRotatorMotorFailure"
| "sheetRotatorNearLimit"
| "sheetRotatorOffline"
| "sheetRotatorOpened"
| "sheetRotatorOverTemperature"
| "sheetRotatorPowerSaver"
| "sheetRotatorRecoverableFailure"
| "sheetRotatorRecoverableStorage"
| "sheetRotatorRemoved"
| "sheetRotatorResourceAdded"
| "sheetRotatorResourceRemoved"
| "sheetRotatorThermistorFailure"
| "sheetRotatorTimingFailure"
| "sheetRotatorTurnedOff"
| "sheetRotatorTurnedOn"
| "sheetRotatorUnderTemperature"
| "sheetRotatorUnrecoverableFailure"
| "sheetRotatorUnrecoverableStorageError"
| "sheetRotatorWarmingUp"
| "slitterAdded"
| "slitterAlmostEmpty"
| "slitterAlmostFull"
| "slitterAtLimit"
| "slitterClosed"
| "slitterConfigurationChange"
| "slitterCoverClosed"
| "slitterCoverOpen"
| "slitterEmpty"
| "slitterFull"
| "slitterInterlockClosed"
| "slitterInterlockOpen"
| "slitterJam"
| "slitterLifeAlmostOver"
| "slitterLifeOver"
| "slitterMemoryExhausted"
| "slitterMissing"
| "slitterMotorFailure"
| "slitterNearLimit"
| "slitterOffline"
| "slitterOpened"
| "slitterOverTemperature"
| "slitterPowerSaver"
| "slitterRecoverableFailure"
| "slitterRecoverableStorage"
| "slitterRemoved"
| "slitterResourceAdded"
| "slitterResourceRemoved"
| "slitterThermistorFailure"
| "slitterTimingFailure"
| "slitterTurnedOff"
| "slitterTurnedOn"
| "slitterUnderTemperature"
| "slitterUnrecoverableFailure"
| "slitterUnrecoverableStorageError"
| "slitterWarmingUp"
| "stackerAdded"
| "stackerAlmostEmpty"
| "stackerAlmostFull"
| "stackerAtLimit"
| "stackerClosed"
| "stackerConfigurationChange"
| "stackerCoverClosed"
| "stackerCoverOpen"
| "stackerEmpty"
| "stackerFull"
| "stackerInterlockClosed"
| "stackerInterlockOpen"
| "stackerJam"
| "stackerLifeAlmostOver"
| "stackerLifeOver"
| "stackerMemoryExhausted"
| "stackerMissing"
| "stackerMotorFailure"
| "stackerNearLimit"
| "stackerOffline"
| "stackerOpened"
| "stackerOverTemperature"
| "stackerPowerSaver"
| "stackerRecoverableFailure"
| "stackerRecoverableStorage"
| "stackerRemoved"
| "stackerResourceAdded"
| "stackerResourceRemoved"
| "stackerThermistorFailure"
| "stackerTimingFailure"
| "stackerTurnedOff"
| "stackerTurnedOn"
| "stackerUnderTemperature"
| "stackerUnrecoverableFailure"
| "stackerUnrecoverableStorageError"
| "stackerWarmingUp"
| "standby"
| "staplerAdded"
| "staplerAlmostEmpty"
| "staplerAlmostFull"
| "staplerAtLimit"
| "staplerClosed"
| "staplerConfigurationChange"
| "staplerCoverClosed"
| "staplerCoverOpen"
| "staplerEmpty"
| "staplerFull"
| "staplerInterlockClosed"
| "staplerInterlockOpen"
| "staplerJam"
| "staplerLifeAlmostOver"
| "staplerLifeOver"
| "staplerMemoryExhausted"
| "staplerMissing"
| "staplerMotorFailure"
| "staplerNearLimit"
| "staplerOffline"
| "staplerOpened"
| "staplerOverTemperature"
| "staplerPowerSaver"
| "staplerRecoverableFailure"
| "staplerRecoverableStorage"
| "staplerRemoved"
| "staplerResourceAdded"
| "staplerResourceRemoved"
| "staplerThermistorFailure"
| "staplerTimingFailure"
| "staplerTurnedOff"
| "staplerTurnedOn"
| "staplerUnderTemperature"
| "staplerUnrecoverableFailure"
| "staplerUnrecoverableStorageError"
| "staplerWarmingUp"
| "stitcherAdded"
| "stitcherAlmostEmpty"
| "stitcherAlmostFull"
| "stitcherAtLimit"
| "stitcherClosed"
| "stitcherConfigurationChange"
| "stitcherCoverClosed"
| "stitcherCoverOpen"
| "stitcherEmpty"
| "stitcherFull"
| "stitcherInterlockClosed"
| "stitcherInterlockOpen"
| "stitcherJam"
| "stitcherLifeAlmostOver"
| "stitcherLifeOver"
| "stitcherMemoryExhausted"
| "stitcherMissing"
| "stitcherMotorFailure"
| "stitcherNearLimit"
| "stitcherOffline"
| "stitcherOpened"
| "stitcherOverTemperature"
| "stitcherPowerSaver"
| "stitcherRecoverableFailure"
| "stitcherRecoverableStorage"
| "stitcherRemoved"
| "stitcherResourceAdded"
| "stitcherResourceRemoved"
| "stitcherThermistorFailure"
| "stitcherTimingFailure"
| "stitcherTurnedOff"
| "stitcherTurnedOn"
| "stitcherUnderTemperature"
| "stitcherUnrecoverableFailure"
| "stitcherUnrecoverableStorageError"
| "stitcherWarmingUp"
| "subunitAdded"
| "subunitAlmostEmpty"
| "subunitAlmostFull"
| "subunitAtLimit"
| "subunitClosed"
| "subunitCoolingDown"
| "subunitEmpty"
| "subunitFull"
| "subunitLifeAlmostOver"
| "subunitLifeOver"
| "subunitMemoryExhausted"
| "subunitMissing"
| "subunitMotorFailure"
| "subunitNearLimit"
| "subunitOffline"
| "subunitOpened"
| "subunitOverTemperature"
| "subunitPowerSaver"
| "subunitRecoverableFailure"
| "subunitRecoverableStorage"
| "subunitRemoved"
| "subunitResourceAdded"
| "subunitResourceRemoved"
| "subunitThermistorFailure"
| "subunitTimingFailure"
| "subunitTurnedOff"
| "subunitTurnedOn"
| "subunitUnderTemperature"
| "subunitUnrecoverableFailure"
| "subunitUnrecoverableStorage"
| "subunitWarmingUp"
| "suspend"
| "testing"
| "trimmerAdded"
| "trimmerAlmostEmpty"
| "trimmerAlmostFull"
| "trimmerAtLimit"
| "trimmerClosed"
| "trimmerConfigurationChange"
| "trimmerCoverClosed"
| "trimmerCoverOpen"
| "trimmerEmpty"
| "trimmerFull"
| "trimmerInterlockClosed"
| "trimmerInterlockOpen"
| "trimmerJam"
| "trimmerLifeAlmostOver"
| "trimmerLifeOver"
| "trimmerMemoryExhausted"
| "trimmerMissing"
| "trimmerMotorFailure"
| "trimmerNearLimit"
| "trimmerOffline"
| "trimmerOpened"
| "trimmerOverTemperature"
| "trimmerPowerSaver"
| "trimmerRecoverableFailure"
| "trimmerRecoverableStorage"
| "trimmerRemoved"
| "trimmerResourceAdded"
| "trimmerResourceRemoved"
| "trimmerThermistorFailure"
| "trimmerTimingFailure"
| "trimmerTurnedOff"
| "trimmerTurnedOn"
| "trimmerUnderTemperature"
| "trimmerUnrecoverableFailure"
| "trimmerUnrecoverableStorageError"
| "trimmerWarmingUp"
| "unknown"
| "wrapperAdded"
| "wrapperAlmostEmpty"
| "wrapperAlmostFull"
| "wrapperAtLimit"
| "wrapperClosed"
| "wrapperConfigurationChange"
| "wrapperCoverClosed"
| "wrapperCoverOpen"
| "wrapperEmpty"
| "wrapperFull"
| "wrapperInterlockClosed"
| "wrapperInterlockOpen"
| "wrapperJam"
| "wrapperLifeAlmostOver"
| "wrapperLifeOver"
| "wrapperMemoryExhausted"
| "wrapperMissing"
| "wrapperMotorFailure"
| "wrapperNearLimit"
| "wrapperOffline"
| "wrapperOpened"
| "wrapperOverTemperature"
| "wrapperPowerSaver"
| "wrapperRecoverableFailure"
| "wrapperRecoverableStorage"
| "wrapperRemoved"
| "wrapperResourceAdded"
| "wrapperResourceRemoved"
| "wrapperThermistorFailure"
| "wrapperTimingFailure"
| "wrapperTurnedOff"
| "wrapperTurnedOn"
| "wrapperUnderTemperature"
| "wrapperUnrecoverableFailure"
| "wrapperUnrecoverableStorageError"
| "wrapperWarmingUp";
export type PrintEvent = "jobStarted" | "unknownFutureValue";
export type PrintFinishing =
| "none"
| "staple"
| "punch"
| "cover"
| "bind"
| "saddleStitch"
| "stitchEdge"
| "stapleTopLeft"
| "stapleBottomLeft"
| "stapleTopRight"
| "stapleBottomRight"
| "stitchLeftEdge"
| "stitchTopEdge"
| "stitchRightEdge"
| "stitchBottomEdge"
| "stapleDualLeft"
| "stapleDualTop"
| "stapleDualRight"
| "stapleDualBottom"
| "unknownFutureValue";
export type PrintJobProcessingState =
| "unknown"
| "pending"
| "processing"
| "paused"
| "stopped"
| "completed"
| "canceled"
| "aborted"
| "unknownFutureValue";
export type PrintJobStateDetail =
| "uploadPending"
| "transforming"
| "completedSuccessfully"
| "completedWithWarnings"
| "completedWithErrors"
| "releaseWait"
| "interpreting"
| "unknownFutureValue";
export type PrintMultipageLayout =
| "clockwiseFromTopLeft"
| "counterclockwiseFromTopLeft"
| "counterclockwiseFromTopRight"
| "clockwiseFromTopRight"
| "counterclockwiseFromBottomLeft"
| "clockwiseFromBottomLeft"
| "counterclockwiseFromBottomRight"
| "clockwiseFromBottomRight"
| "unknownFutureValue";
export type PrintOperationProcessingState = "notStarted" | "running" | "succeeded" | "failed" | "unknownFutureValue";
export type PrintOrientation = "portrait" | "landscape" | "reverseLandscape" | "reversePortrait" | "unknownFutureValue";
export type PrintQuality = "low" | "medium" | "high" | "unknownFutureValue";
export type PrintScaling = "auto" | "shrinkToFit" | "fill" | "fit" | "none" | "unknownFutureValue";
export type PrintTaskProcessingState = "pending" | "processing" | "completed" | "aborted" | "unknownFutureValue";
export type Status = "active" | "updated" | "deleted" | "ignored" | "unknownFutureValue";
export type DataPolicyOperationStatus = "notStarted" | "running" | "complete" | "failed" | "unknownFutureValue";
export type PayloadDeliveryPlatform = "unknown" | "sms" | "email" | "teams" | "unknownFutureValue";
export type SimulationAttackTechnique =
| "unknown"
| "credentialHarvesting"
| "attachmentMalware"
| "driveByUrl"
| "linkInAttachment"
| "linkToMalwareFile"
| "unknownFutureValue";
export type SimulationAttackType = "unknown" | "social" | "cloud" | "endpoint" | "unknownFutureValue";
export type SimulationAutomationRunStatus =
| "unknown"
| "running"
| "succeeded"
| "failed"
| "skipped"
| "unknownFutureValue";
export type SimulationAutomationStatus =
| "unknown"
| "draft"
| "notRunning"
| "running"
| "completed"
| "unknownFutureValue";
export type SimulationStatus =
| "unknown"
| "draft"
| "running"
| "scheduled"
| "succeeded"
| "failed"
| "cancelled"
| "excluded"
| "unknownFutureValue";
export type TrainingStatus = "unknown" | "assigned" | "inProgress" | "completed" | "overdue" | "unknownFutureValue";
export type AlertFeedback = "unknown" | "truePositive" | "falsePositive" | "benignPositive" | "unknownFutureValue";
export type AlertSeverity = "unknown" | "informational" | "low" | "medium" | "high" | "unknownFutureValue";
export type AlertStatus = "unknown" | "newAlert" | "inProgress" | "resolved" | "dismissed" | "unknownFutureValue";
export type ConnectionDirection = "unknown" | "inbound" | "outbound" | "unknownFutureValue";
export type ConnectionStatus = "unknown" | "attempted" | "succeeded" | "blocked" | "failed" | "unknownFutureValue";
export type EmailRole = "unknown" | "sender" | "recipient" | "unknownFutureValue";
export type FileHashType =
| "unknown"
| "sha1"
| "sha256"
| "md5"
| "authenticodeHash256"
| "lsHash"
| "ctph"
| "unknownFutureValue";
export type LogonType =
| "unknown"
| "interactive"
| "remoteInteractive"
| "network"
| "batch"
| "service"
| "unknownFutureValue";
export type ProcessIntegrityLevel =
| "unknown"
| "untrusted"
| "low"
| "medium"
| "high"
| "system"
| "unknownFutureValue";
export type RegistryHive =
| "unknown"
| "currentConfig"
| "currentUser"
| "localMachineSam"
| "localMachineSecurity"
| "localMachineSoftware"
| "localMachineSystem"
| "usersDefault"
| "unknownFutureValue";
export type RegistryOperation = "unknown" | "create" | "modify" | "delete" | "unknownFutureValue";
export type RegistryValueType =
| "unknown"
| "binary"
| "dword"
| "dwordLittleEndian"
| "dwordBigEndian"
| "expandSz"
| "link"
| "multiSz"
| "none"
| "qword"
| "qwordlittleEndian"
| "sz"
| "unknownFutureValue";
export type SecurityNetworkProtocol =
| "unknown"
| "ip"
| "icmp"
| "igmp"
| "ggp"
| "ipv4"
| "tcp"
| "pup"
| "udp"
| "idp"
| "ipv6"
| "ipv6RoutingHeader"
| "ipv6FragmentHeader"
| "ipSecEncapsulatingSecurityPayload"
| "ipSecAuthenticationHeader"
| "icmpV6"
| "ipv6NoNextHeader"
| "ipv6DestinationOptions"
| "nd"
| "raw"
| "ipx"
| "spx"
| "spxII"
| "unknownFutureValue";
export type SecurityResourceType = "unknown" | "attacked" | "related" | "unknownFutureValue";
export type UserAccountSecurityType = "unknown" | "standard" | "power" | "administrator" | "unknownFutureValue";
export type BroadcastMeetingAudience = "roleIsAttendee" | "organization" | "everyone" | "unknownFutureValue";
export type CallDirection = "incoming" | "outgoing";
export type CallState =
| "incoming"
| "establishing"
| "established"
| "hold"
| "transferring"
| "transferAccepted"
| "redirecting"
| "terminating"
| "terminated"
| "unknownFutureValue";
export type CallTranscriptionState = "notStarted" | "active" | "inactive" | "unknownFutureValue";
export type ChangeType = "created" | "updated" | "deleted";
export type EndpointType =
| "default"
| "voicemail"
| "skypeForBusiness"
| "skypeForBusinessVoipPhone"
| "unknownFutureValue";
export type MediaDirection = "inactive" | "sendOnly" | "receiveOnly" | "sendReceive";
export type MediaState = "active" | "inactive" | "unknownFutureValue";
export type Modality = "audio" | "video" | "videoBasedScreenSharing" | "data" | "unknownFutureValue";
export type OnlineMeetingContentSharingDisabledReason = "watermarkProtection" | "unknownFutureValue";
export type OnlineMeetingRole = "attendee" | "presenter" | "unknownFutureValue" | "producer" | "coorganizer";
export type OnlineMeetingVideoDisabledReason = "watermarkProtection" | "unknownFutureValue";
export type RecordingStatus = "unknown" | "notRecording" | "recording" | "failed" | "unknownFutureValue";
export type RejectReason = "none" | "busy" | "forbidden" | "unknownFutureValue";
export type RoutingMode = "oneToOne" | "multicast" | "unknownFutureValue";
export type RoutingType = "forwarded" | "lookup" | "selfFork" | "unknownFutureValue";
export type ScreenSharingRole = "viewer" | "sharer";
export type Tone =
| "tone0"
| "tone1"
| "tone2"
| "tone3"
| "tone4"
| "tone5"
| "tone6"
| "tone7"
| "tone8"
| "tone9"
| "star"
| "pound"
| "a"
| "b"
| "c"
| "d"
| "flash";
export type AttestationLevel = "attested" | "notAttested" | "unknownFutureValue";
export type AuthenticationMethodKeyStrength = "normal" | "weak" | "unknown";
export type AuthenticationMethodSignInState =
| "notSupported"
| "notAllowedByPolicy"
| "notEnabled"
| "phoneNumberNotUnique"
| "ready"
| "notConfigured"
| "unknownFutureValue";
export type AuthenticationPhoneType = "mobile" | "alternateMobile" | "office" | "unknownFutureValue";
export type LifecycleEventType = "missed" | "subscriptionRemoved" | "reauthorizationRequired";
export type BinaryOperator = "or" | "and";
export type CallRecordingStatus = "success" | "failure" | "initial" | "chunkFinished" | "unknownFutureValue";
export type ChannelMembershipType = "standard" | "private" | "unknownFutureValue" | "shared";
export type ChatMessageActions = "reactionAdded" | "reactionRemoved" | "actionUndefined" | "unknownFutureValue";
export type ChatMessageImportance = "normal" | "high" | "urgent" | "unknownFutureValue";
export type ChatMessagePolicyViolationDlpActionTypes = "none" | "notifySender" | "blockAccess" | "blockAccessExternal";
export type ChatMessagePolicyViolationUserActionTypes = "none" | "override" | "reportFalsePositive";
export type ChatMessagePolicyViolationVerdictDetailsTypes =
| "none"
| "allowFalsePositiveOverride"
| "allowOverrideWithoutJustification"
| "allowOverrideWithJustification";
export type ChatMessageType = "message" | "chatEvent" | "typing" | "unknownFutureValue" | "systemEventMessage";
export type ChatType = "oneOnOne" | "group" | "meeting" | "unknownFutureValue";
export type ClonableTeamParts = "apps" | "tabs" | "settings" | "channels" | "members";
export type GiphyRatingType = "strict" | "moderate" | "unknownFutureValue";
export type TeamsAppDistributionMethod = "store" | "organization" | "sideloaded" | "unknownFutureValue";
export type TeamsAppPublishingState = "submitted" | "rejected" | "published" | "unknownFutureValue";
export type TeamsAsyncOperationStatus =
| "invalid"
| "notStarted"
| "inProgress"
| "succeeded"
| "failed"
| "unknownFutureValue";
export type TeamsAsyncOperationType =
| "invalid"
| "cloneTeam"
| "archiveTeam"
| "unarchiveTeam"
| "createTeam"
| "unknownFutureValue"
| "teamifyGroup"
| "createChannel";
export type TeamSpecialization =
| "none"
| "educationStandard"
| "educationClass"
| "educationProfessionalLearningCommunity"
| "educationStaff"
| "healthcareStandard"
| "healthcareCareCoordination"
| "unknownFutureValue";
export type TeamVisibilityType = "private" | "public" | "hiddenMembership" | "unknownFutureValue";
export type TeamworkActivityTopicSource = "entityUrl" | "text";
export type TeamworkApplicationIdentityType =
| "aadApplication"
| "bot"
| "tenantBot"
| "office365Connector"
| "outgoingWebhook"
| "unknownFutureValue";
export type TeamworkCallEventType = "call" | "meeting" | "screenShare" | "unknownFutureValue";
export type TeamworkConversationIdentityType = "team" | "channel" | "chat" | "unknownFutureValue";
export type TeamworkTagType = "standard" | "unknownFutureValue";
export type TeamworkUserIdentityType =
| "aadUser"
| "onPremiseAadUser"
| "anonymousGuest"
| "federatedUser"
| "personalMicrosoftAccountUser"
| "skypeUser"
| "phoneUser"
| "unknownFutureValue"
| "emailUser";
export type ScheduleChangeRequestActor = "sender" | "recipient" | "manager" | "system" | "unknownFutureValue";
export type ScheduleChangeState = "pending" | "approved" | "declined" | "unknownFutureValue";
export type ScheduleEntityTheme =
| "white"
| "blue"
| "green"
| "purple"
| "pink"
| "yellow"
| "gray"
| "darkBlue"
| "darkGreen"
| "darkPurple"
| "darkPink"
| "darkYellow"
| "unknownFutureValue";
export type TimeOffReasonIconType =
| "none"
| "car"
| "calendar"
| "running"
| "plane"
| "firstAid"
| "doctor"
| "notWorking"
| "clock"
| "juryDuty"
| "globe"
| "cup"
| "phone"
| "weather"
| "umbrella"
| "piggyBank"
| "dog"
| "cake"
| "trafficCone"
| "pin"
| "sunny"
| "unknownFutureValue";
export type WorkforceIntegrationEncryptionProtocol = "sharedSecret" | "unknownFutureValue";
export type WorkforceIntegrationSupportedEntities =
| "none"
| "shift"
| "swapRequest"
| "userShiftPreferences"
| "openShift"
| "openShiftRequest"
| "offerShiftRequest"
| "unknownFutureValue";
export type MailDestinationRoutingReason =
| "none"
| "mailFlowRule"
| "safeSender"
| "blockedSender"
| "advancedSpamFiltering"
| "domainAllowList"
| "domainBlockList"
| "notInAddressBook"
| "firstTimeSender"
| "autoPurgeToInbox"
| "autoPurgeToJunk"
| "autoPurgeToDeleted"
| "outbound"
| "notJunk"
| "junk"
| "unknownFutureValue";
export type ThreatAssessmentContentType = "mail" | "url" | "file";
export type ThreatAssessmentRequestSource = "undefined" | "user" | "administrator";
export type ThreatAssessmentResultType = "checkPolicy" | "rescan" | "unknownFutureValue";
export type ThreatAssessmentStatus = "pending" | "completed";
export type ThreatCategory = "undefined" | "spam" | "phishing" | "malware" | "unknownFutureValue";
export type ThreatExpectedAssessment = "block" | "unblock";
export type TaskStatus = "notStarted" | "inProgress" | "completed" | "waitingOnOthers" | "deferred";
export type WellknownListName = "none" | "defaultList" | "flaggedEmails" | "unknownFutureValue";
export interface Entity {
// The unique idenfier for an entity. Read-only.
id?: string;
}
export interface AuditLogRoot extends Entity {
directoryAudits?: NullableOption<DirectoryAudit[]>;
provisioning?: NullableOption<ProvisioningObjectSummary[]>;
signIns?: NullableOption<SignIn[]>;
}
export interface DirectoryAudit extends Entity {
/**
* Indicates the date and time the activity was performed. The Timestamp type is always in UTC time. For example, midnight
* UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
*/
activityDateTime?: string;
/**
* Indicates the activity name or the operation name (examples: 'Create User' and 'Add member to group'). For full list,
* see Azure AD activity list.
*/
activityDisplayName?: string;
// Indicates additional details on the activity.
additionalDetails?: NullableOption<KeyValue[]>;
/**
* Indicates which resource category that's targeted by the activity. For example: UserManagement, GroupManagement,
* ApplicationManagement, RoleManagement.
*/
category?: string;
/**
* Indicates a unique ID that helps correlate activities that span across various services. Can be used to trace logs
* across services.
*/
correlationId?: NullableOption<string>;
// Indicates information about the user or app initiated the activity.
initiatedBy?: AuditActivityInitiator;
/**
* Indicates information on which service initiated the activity (For example: Self-service Password Management, Core
* Directory, B2C, Invited Users, Microsoft Identity Manager, Privileged Identity Management.
*/
loggedByService?: NullableOption<string>;
/**
* Indicates the type of operation that was performed. The possible values include but are not limited to the following:
* Add, Assign, Update, Unassign, and Delete.
*/
operationType?: NullableOption<string>;
// Indicates the result of the activity. Possible values are: success, failure, timeout, unknownFutureValue.
result?: NullableOption<OperationResult>;
// Indicates the reason for failure if the result is failure or timeout.
resultReason?: NullableOption<string>;
/**
* Indicates information on which resource was changed due to the activity. Target Resource Type can be User, Device,
* Directory, App, Role, Group, Policy or Other.
*/
targetResources?: NullableOption<TargetResource[]>;
}
export interface ProvisioningObjectSummary extends Entity {
/**
* 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 is 2014-01-01T00:00:00Z
*/
activityDateTime?: string;
// Unique ID of this change in this cycle.
changeId?: NullableOption<string>;
// Unique ID per job iteration.
cycleId?: NullableOption<string>;
// Indicates how long this provisioning action took to finish. Measured in milliseconds.
durationInMilliseconds?: NullableOption<number>;
// Details of who initiated this provisioning.
initiatedBy?: NullableOption<Initiator>;
// The unique ID for the whole provisioning job.
jobId?: NullableOption<string>;
// Details of each property that was modified in this provisioning action on this object.
modifiedProperties?: NullableOption<ModifiedProperty[]>;
/**
* Indicates the activity name or the operation name. Possible values are: create, update, delete, stageddelete, disable,
* other and unknownFutureValue. For a list of activities logged, refer to Azure AD activity list.
*/
provisioningAction?: NullableOption<ProvisioningAction>;
// Details of provisioning status.
provisioningStatusInfo?: NullableOption<ProvisioningStatusInfo>;
// Details of each step in provisioning.
provisioningSteps?: NullableOption<ProvisioningStep[]>;
// Represents the service principal used for provisioning.
servicePrincipal?: NullableOption<ProvisioningServicePrincipal>;
// Details of source object being provisioned.
sourceIdentity?: NullableOption<ProvisionedIdentity>;
// Details of source system of the object being provisioned.
sourceSystem?: NullableOption<ProvisioningSystem>;
// Details of target object being provisioned.
targetIdentity?: NullableOption<ProvisionedIdentity>;
// Details of target system of the object being provisioned.
targetSystem?: NullableOption<ProvisioningSystem>;
// Unique Azure AD tenant ID.
tenantId?: NullableOption<string>;
}
export interface SignIn extends Entity {
// App name displayed in the Azure Portal. Supports $filter (eq and startsWith operators only).
appDisplayName?: NullableOption<string>;
// Unique GUID representing the app ID in the Azure Active Directory. Supports $filter (eq operator only).
appId?: NullableOption<string>;
// Provides a list of conditional access policies that are triggered by the corresponding sign-in activity.
appliedConditionalAccessPolicies?: NullableOption<AppliedConditionalAccessPolicy[]>;
/**
* Identifies the client used for the sign-in activity. Modern authentication clients include Browser and modern clients.
* Legacy authentication clients include Exchange ActiveSync, IMAP, MAPI, SMTP, POP, and other clients. Supports $filter
* (eq operator only).
*/
clientAppUsed?: NullableOption<string>;
/**
* Reports status of an activated conditional access policy. Possible values are: success, failure, notApplied, and
* unknownFutureValue. Supports $filter (eq operator only).
*/
conditionalAccessStatus?: NullableOption<ConditionalAccessStatus>;
/**
* The request ID sent from the client when the sign-in is initiated; used to troubleshoot sign-in activity. Supports
* $filter (eq operator only).
*/
correlationId?: NullableOption<string>;
/**
* Date and time (UTC) the sign-in was initiated. Example: midnight on Jan 1, 2014 is reported as 2014-01-01T00:00:00Z.
* Supports $orderby and $filter (eq, le, and ge operators only).
*/
createdDateTime?: string;
/**
* Device information from where the sign-in occurred; includes device ID, operating system, and browser. Supports $filter
* (eq and startsWith operators only) on browser and operatingSytem properties.
*/
deviceDetail?: NullableOption<DeviceDetail>;
// IP address of the client used to sign in. Supports $filter (eq and startsWith operators only).
ipAddress?: NullableOption<string>;
// Indicates if a sign-in is interactive or not.
isInteractive?: NullableOption<boolean>;
/**
* Provides the city, state, and country code where the sign-in originated. Supports $filter (eq and startsWith operators
* only) on city, state, and countryOrRegion properties.
*/
location?: NullableOption<SignInLocation>;
// Name of the resource the user signed into. Supports $filter (eq operator only).
resourceDisplayName?: NullableOption<string>;
// ID of the resource that the user signed into. Supports $filter (eq operator only).
resourceId?: NullableOption<string>;
/**
* Provides the 'reason' behind a specific state of a risky user, sign-in or a risk event. The possible values are: none,
* adminGeneratedTemporaryPassword, userPerformedSecuredPasswordChange, userPerformedSecuredPasswordReset,
* adminConfirmedSigninSafe, aiConfirmedSigninSafe, userPassedMFADrivenByRiskBasedPolicy, adminDismissedAllRiskForUser,
* adminConfirmedSigninCompromised, unknownFutureValue. The value none means that no action has been performed on the user
* or sign-in so far. Supports $filter (eq operator only).Note: Details for this property require an Azure AD Premium P2
* license. Other licenses return the value hidden.
*/
riskDetail?: NullableOption<RiskDetail>;
/**
* Risk event types associated with the sign-in. The possible values are: unlikelyTravel, anonymizedIPAddress,
* maliciousIPAddress, unfamiliarFeatures, malwareInfectedIPAddress, suspiciousIPAddress, leakedCredentials,
* investigationsThreatIntelligence, generic, and unknownFutureValue. Supports $filter (eq operator only).
*/
riskEventTypes?: NullableOption<RiskEventType[]>;
/**
* The list of risk event types associated with the sign-in. Possible values: unlikelyTravel, anonymizedIPAddress,
* maliciousIPAddress, unfamiliarFeatures, malwareInfectedIPAddress, suspiciousIPAddress, leakedCredentials,
* investigationsThreatIntelligence, generic, or unknownFutureValue. Supports $filter (eq and startsWith operators only).
*/
riskEventTypes_v2?: NullableOption<string[]>;
/**
* Aggregated risk level. The possible values are: none, low, medium, high, hidden, and unknownFutureValue. The value
* hidden means the user or sign-in was not enabled for Azure AD Identity Protection. Supports $filter (eq operator only).
* Note: Details for this property are only available for Azure AD Premium P2 customers. All other customers will be
* returned hidden.
*/
riskLevelAggregated?: NullableOption<RiskLevel>;
/**
* Risk level during sign-in. The possible values are: none, low, medium, high, hidden, and unknownFutureValue. The value
* hidden means the user or sign-in was not enabled for Azure AD Identity Protection. Supports $filter (eq operator only).
* Note: Details for this property are only available for Azure AD Premium P2 customers. All other customers will be
* returned hidden.
*/
riskLevelDuringSignIn?: NullableOption<RiskLevel>;
/**
* Reports status of the risky user, sign-in, or a risk event. The possible values are: none, confirmedSafe, remediated,
* dismissed, atRisk, confirmedCompromised, unknownFutureValue. Supports $filter (eq operator only).
*/
riskState?: NullableOption<RiskState>;
/**
* Sign-in status. Includes the error code and description of the error (in case of a sign-in failure). Supports $filter
* (eq operator only) on errorCode property.
*/
status?: NullableOption<SignInStatus>;
// Display name of the user that initiated the sign-in. Supports $filter (eq and startsWith operators only).
userDisplayName?: NullableOption<string>;
// ID of the user that initiated the sign-in. Supports $filter (eq operator only).
userId?: string;
// User principal name of the user that initiated the sign-in. Supports $filter (eq and startsWith operators only).
userPrincipalName?: NullableOption<string>;
}
export interface DirectoryObject extends Entity {
// Date and time when this object was deleted. Always null when the object hasn't been deleted.
deletedDateTime?: NullableOption<string>;
}
export interface User extends DirectoryObject {
/**
* Get the last signed-in date and request ID of the sign-in for a given user. Read-only.Returned only on $select.
* Supports $filter (eq, ne, not, ge, le) but not with any other filterable properties. Note: Details for this property
* require an Azure AD Premium P1/P2 license and the AuditLog.Read.All permission.This property is not returned for a user
* who has never signed in or last signed in before April 2020.
*/
signInActivity?: NullableOption<SignInActivity>;
/**
* true if the account is enabled; otherwise, false. This property is required when a user is created. Returned only on
* $select. Supports $filter (eq, ne, not, and in).
*/
accountEnabled?: NullableOption<boolean>;
/**
* 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. Returned only on $select. Supports $filter (eq, ne, not, and in).
*/
ageGroup?: NullableOption<string>;
/**
* The licenses that are assigned to the user, including inherited (group-based) licenses. This property doesn't
* differentiate directly-assigned and inherited licenses. Use the licenseAssignmentStates property to identify the
* directly-assigned and inherited licenses. Not nullable. Returned only on $select. Supports $filter (eq, not, /$count eq
* 0, /$count ne 0).
*/
assignedLicenses?: AssignedLicense[];
/**
* The plans that are assigned to the user. Read-only. Not nullable. Returned only on $select. Supports $filter (eq and
* not).
*/
assignedPlans?: AssignedPlan[];
authorizationInfo?: NullableOption<AuthorizationInfo>;
/**
* The telephone numbers for the user. NOTE: Although this is a string collection, only one number can be set for this
* property. Read-only for users synced from on-premises directory. Returned by default. Supports $filter (eq, not, ge,
* le, startsWith).
*/
businessPhones?: string[];
/**
* The city in which the user is located. Maximum length is 128 characters. Returned only on $select. Supports $filter
* (eq, ne, not, ge, le, in, startsWith, and eq on null values).
*/
city?: NullableOption<string>;
/**
* The company name which the user is associated. This property can be useful for describing the company that an external
* user comes from. The maximum length is 64 characters.Returned only on $select. Supports $filter (eq, ne, not, ge, le,
* in, startsWith, and eq on null values).
*/
companyName?: NullableOption<string>;
/**
* 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. Returned only on $select. Supports $filter (eq, ne, not,
* and in).
*/
consentProvidedForMinor?: NullableOption<string>;
/**
* The country/region in which the user is located; for example, US or UK. Maximum length is 128 characters. Returned only
* on $select. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values).
*/
country?: NullableOption<string>;
/**
* The date and time the user was created, in ISO 8601 format and in UTC time. The value cannot be modified and is
* automatically populated when the entity is created. Nullable. For on-premises users, the value represents when they
* were first created in Azure AD. Property is null for some users created before June 2018 and on-premises users that
* were synced to Azure AD before June 2018. Read-only. Returned only on $select. Supports $filter (eq, ne, not , ge, le,
* in).
*/
createdDateTime?: NullableOption<string>;
/**
* Indicates whether the user account was created through one of the following methods: As a regular school or work
* account (null). As an external account (Invitation). As a local account for an Azure Active Directory B2C tenant
* (LocalAccount). Through self-service sign-up by an internal user using email verification (EmailVerified). Through
* self-service sign-up by an external user signing up through a link that is part of a user flow (SelfServiceSignUp).
* Read-only.Returned only on $select. Supports $filter (eq, ne, not, in).
*/
creationType?: NullableOption<string>;
/**
* The name for the department in which the user works. Maximum length is 64 characters. Returned only on $select.
* Supports $filter (eq, ne, not , ge, le, in, and eq on null values).
*/
department?: NullableOption<string>;
/**
* 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.
* Maximum length is 256 characters. Returned by default. Supports $filter (eq, ne, not , ge, le, in, startsWith, and eq
* on null values), $orderBy, and $search.
*/
displayName?: NullableOption<string>;
/**
* The date and time when the user was hired or will start work in case of a future hire. Returned only on $select.
* Supports $filter (eq, ne, not , ge, le, in).
*/
employeeHireDate?: NullableOption<string>;
/**
* The employee identifier assigned to the user by the organization. The maximum length is 16 characters. Returned only on
* $select. Supports $filter (eq, ne, not , ge, le, in, startsWith, and eq on null values).
*/
employeeId?: NullableOption<string>;
/**
* The date and time when the user left or will leave the organization. To read this property, the calling app must be
* assigned the User-LifeCycleInfo.Read.All permission. To write this property, the calling app must be assigned the
* User.Read.All and User-LifeCycleInfo.ReadWrite.All permissions. To read this property in delegated scenarios, the admin
* needs one of the following Azure AD roles: Lifecycle Workflows Administrator, Global Reader, or Global Administrator.
* To write this property in delegated scenarios, the admin needs the Global Administrator role. Supports $filter (eq, ne,
* not , ge, le, in). For more information, see Configure the employeeLeaveDateTime property for a user.
*/
employeeLeaveDateTime?: NullableOption<string>;
/**
* Represents organization data (e.g. division and costCenter) associated with a user. Returned only on $select. Supports
* $filter (eq, ne, not , ge, le, in).
*/
employeeOrgData?: NullableOption<EmployeeOrgData>;
/**
* Captures enterprise worker type. For example, Employee, Contractor, Consultant, or Vendor. Returned only on $select.
* Supports $filter (eq, ne, not , ge, le, in, startsWith).
*/
employeeType?: NullableOption<string>;
/**
* For an external user invited to the tenant using the invitation API, this property represents the invited user's
* invitation status. For invited users, the state can be PendingAcceptance or Accepted, or null for all other users.
* Returned only on $select. Supports $filter (eq, ne, not , in).
*/
externalUserState?: NullableOption<string>;
/**
* Shows the timestamp for the latest change to the externalUserState property. Returned only on $select. Supports $filter
* (eq, ne, not , in).
*/
externalUserStateChangeDateTime?: NullableOption<string>;
/**
* The fax number of the user. Returned only on $select. Supports $filter (eq, ne, not , ge, le, in, startsWith, and eq on
* null values).
*/
faxNumber?: NullableOption<string>;
/**
* The given name (first name) of the user. Maximum length is 64 characters. Returned by default. Supports $filter (eq,
* ne, not , ge, le, in, startsWith, and eq on null values).
*/
givenName?: NullableOption<string>;
/**
* Represents the identities that can be used to sign in to this user account. An identity can be provided by Microsoft
* (also known as a local account), by organizations, or by social identity providers such as Facebook, Google, and
* Microsoft, and tied to a user account. May contain multiple items with the same signInType value. Returned only on
* $select. Supports $filter (eq) including on null values, only where the signInType is not userPrincipalName.
*/
identities?: NullableOption<ObjectIdentity[]>;
/**
* The instant message voice over IP (VOIP) session initiation protocol (SIP) addresses for the user. Read-only. Returned
* only on $select. Supports $filter (eq, not, ge, le, startsWith).
*/
imAddresses?: NullableOption<string[]>;
// Do not use reserved for future use.
isResourceAccount?: NullableOption<boolean>;
/**
* The user's job title. Maximum length is 128 characters. Returned by default. Supports $filter (eq, ne, not , ge, le,
* in, startsWith, and eq on null values).
*/
jobTitle?: NullableOption<string>;
/**
* The time when this Azure AD user last changed their password or when their password was created, whichever date the
* latest action was performed. The date and time information uses ISO 8601 format and is always in UTC time. For example,
* midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Returned only on $select.
*/
lastPasswordChangeDateTime?: NullableOption<string>;
/**
* 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. Returned only on $select.
*/
legalAgeGroupClassification?: NullableOption<string>;
/**
* State of license assignments for this user. Also indicates licenses that are directly-assigned and those that the user
* has inherited through group memberships. Read-only. Returned only on $select.
*/
licenseAssignmentStates?: NullableOption<LicenseAssignmentState[]>;
/**
* The SMTP address for the user, for example, jeff@contoso.onmicrosoft.com. Changes to this property will also update the
* user's proxyAddresses collection to include the value as an SMTP address. This property cannot contain accent
* characters. NOTE: We do not recommend updating this property for Azure AD B2C user profiles. Use the otherMails
* property instead. Returned by default. Supports $filter (eq, ne, not, ge, le, in, startsWith, endsWith, and eq on null
* values).
*/
mail?: NullableOption<string>;
/**
* The mail alias for the user. This property must be specified when a user is created. Maximum length is 64 characters.
* Returned only on $select. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values).
*/
mailNickname?: NullableOption<string>;
/**
* The primary cellular telephone number for the user. Read-only for users synced from on-premises directory. Maximum
* length is 64 characters. Returned by default. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null
* values).
*/
mobilePhone?: NullableOption<string>;
/**
* The office location in the user's place of business. Returned by default. Supports $filter (eq, ne, not, ge, le, in,
* startsWith, and eq on null values).
*/
officeLocation?: NullableOption<string>;
/**
* 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. Returned only
* on $select.
*/
onPremisesDistinguishedName?: NullableOption<string>;
/**
* 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. Returned only on $select.
*/
onPremisesDomainName?: NullableOption<string>;
/**
* Contains extensionAttributes1-15 for the user. These extension attributes are also known as Exchange custom attributes
* 1-15. For an onPremisesSyncEnabled user, the source of authority for this set of properties is the on-premises and is
* read-only. For a cloud-only user (where onPremisesSyncEnabled is false), these properties can be set during creation or
* update of a user object. For a cloud-only user previously synced from on-premises Active Directory, these properties
* are read-only in Microsoft Graph but can be fully managed through the Exchange Admin Center or the Exchange Online V2
* module in PowerShell. Returned only on $select. Supports $filter (eq, ne, not, in).
*/
onPremisesExtensionAttributes?: NullableOption<OnPremisesExtensionAttributes>;
/**
* 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. NOTE: The $ and _ characters cannot be used when specifying this property.
* Returned only on $select. Supports $filter (eq, ne, not, ge, le, in)..
*/
onPremisesImmutableId?: NullableOption<string>;
/**
* 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 is 2014-01-01T00:00:00Z. Read-only. Returned only on $select.
* Supports $filter (eq, ne, not, ge, le, in).
*/
onPremisesLastSyncDateTime?: NullableOption<string>;
/**
* Errors when using Microsoft synchronization product during provisioning. Returned only on $select. Supports $filter
* (eq, not, ge, le).
*/
onPremisesProvisioningErrors?: NullableOption<OnPremisesProvisioningError[]>;
/**
* 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.
* Returned only on $select. Supports $filter (eq, ne, not, ge, le, in, startsWith).
*/
onPremisesSamAccountName?: NullableOption<string>;
/**
* Contains the on-premises security identifier (SID) for the user that was synchronized from on-premises to the cloud.
* Read-only. Returned only on $select. Supports $filter (eq including on null values).
*/
onPremisesSecurityIdentifier?: NullableOption<string>;
/**
* true if this user object is currently being synced from an on-premises Active Directory (AD); otherwise the user isn't
* being synced and can be managed in Azure Active Directory (Azure AD). Read-only. Returned only on $select. Supports
* $filter (eq, ne, not, in, and eq on null values).
*/
onPremisesSyncEnabled?: NullableOption<boolean>;
/**
* 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. Returned only on $select. Supports $filter (eq, ne, not, ge, le, in, startsWith).
*/
onPremisesUserPrincipalName?: NullableOption<string>;
/**
* A list of additional email addresses for the user; for example: ['bob@contoso.com', 'Robert@fabrikam.com']. NOTE: This
* property cannot contain accent characters. Returned only on $select. Supports $filter (eq, not, ge, le, in, startsWith,
* endsWith, /$count eq 0, /$count ne 0).
*/
otherMails?: string[];
/**
* 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. Returned only on $select. For more information on the default password policies, see Azure AD
* pasword policies. Supports $filter (ne, not, and eq on null values).
*/
passwordPolicies?: NullableOption<string>;
/**
* Specifies the password profile for the user. The profile contains the users 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. Returned only on $select. Supports $filter (eq, ne, not, in, and
* eq on null values).
*/
passwordProfile?: NullableOption<PasswordProfile>;
/**
* 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. Maximum length is 40 characters. Returned only on $select.
* Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values).
*/
postalCode?: NullableOption<string>;
// The preferred data location for the user. For more information, see OneDrive Online Multi-Geo.
preferredDataLocation?: NullableOption<string>;
/**
* The preferred language for the user. Should follow ISO 639-1 Code; for example en-US. Returned by default. Supports
* $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values)
*/
preferredLanguage?: NullableOption<string>;
/**
* The plans that are provisioned for the user. Read-only. Not nullable. Returned only on $select. Supports $filter (eq,
* not, ge, le).
*/
provisionedPlans?: ProvisionedPlan[];
/**
* For example: ['SMTP: bob@contoso.com', 'smtp: bob@sales.contoso.com']. Changes to the mail property will also update
* this collection to include the value as an SMTP address. For more information, see mail and proxyAddresses properties.
* The proxy address prefixed with SMTP (capitalized) is the primary proxy address while those prefixed with smtp are the
* secondary proxy addresses. For Azure AD B2C accounts, this property has a limit of ten unique addresses. Read-only in
* Microsoft Graph; you can update this property only through the Microsoft 365 admin center. Not nullable. Returned only
* on $select. Supports $filter (eq, not, ge, le, startsWith, endsWith, /$count eq 0, /$count ne 0).
*/
proxyAddresses?: string[];
/**
* Security identifier (SID) of the user, used in Windows scenarios. Read-only. Returned by default. Supports $select and
* $filter (eq, not, ge, le, startsWith).
*/
securityIdentifier?: NullableOption<string>;
/**
* Do not use in Microsoft Graph. Manage this property through the Microsoft 365 admin center instead. Represents whether
* the user should be included in the Outlook global address list. See Known issue.
*/
showInAddressList?: NullableOption<boolean>;
/**
* 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. Returned only on $select.
*/
signInSessionsValidFromDateTime?: NullableOption<string>;
/**
* The state or province in the user's address. Maximum length is 128 characters. Returned only on $select. Supports
* $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values).
*/
state?: NullableOption<string>;
/**
* The street address of the user's place of business. Maximum length is 1024 characters. Returned only on $select.
* Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values).
*/
streetAddress?: NullableOption<string>;
/**
* The user's surname (family name or last name). Maximum length is 64 characters. Returned by default. Supports $filter
* (eq, ne, not, ge, le, in, startsWith, and eq on null values).
*/
surname?: NullableOption<string>;
/**
* 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.
* Returned only on $select. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values).
*/
usageLocation?: NullableOption<string>;
/**
* 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.NOTE:
* This property cannot contain accent characters. Only the following characters are allowed A - Z, a - z, 0 - 9, ' . - _
* ! # ^ ~. For the complete list of allowed characters, see username policies. Returned by default. Supports $filter (eq,
* ne, not, ge, le, in, startsWith, endsWith) and $orderBy.
*/
userPrincipalName?: NullableOption<string>;
/**
* A string value that can be used to classify user types in your directory, such as Member and Guest. Returned only on
* $select. Supports $filter (eq, ne, not, in, and eq on null values). NOTE: For more information about the permissions
* for member and guest users, see What are the default user permissions in Azure Active Directory?
*/
userType?: NullableOption<string>;
/**
* 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. Returned only on $select.
*/
mailboxSettings?: NullableOption<MailboxSettings>;
// The limit on the maximum number of devices that the user is permitted to enroll. Allowed values are 5 or 1000.
deviceEnrollmentLimit?: number;
// A freeform text entry field for the user to describe themselves. Returned only on $select.
aboutMe?: NullableOption<string>;
/**
* 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 is 2014-01-01T00:00:00Z. Returned only on $select.
*/
birthday?: string;
/**
* 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 is 2014-01-01T00:00:00Z. Returned only on $select. Note: This
* property is specific to SharePoint Online. We recommend using the native employeeHireDate property to set and update
* hire date values using Microsoft Graph APIs.
*/
hireDate?: string;
// A list for the user to describe their interests. Returned only on $select.
interests?: NullableOption<string[]>;
// The URL for the user's personal site. Returned only on $select.
mySite?: NullableOption<string>;
// A list for the user to enumerate their past projects. Returned only on $select.
pastProjects?: NullableOption<string[]>;
// The preferred name for the user. Not Supported. This attribute returns an empty string.Returned only on $select.
preferredName?: NullableOption<string>;
// A list for the user to enumerate their responsibilities. Returned only on $select.
responsibilities?: NullableOption<string[]>;
// A list for the user to enumerate the schools they have attended. Returned only on $select.
schools?: NullableOption<string[]>;
// A list for the user to enumerate their skills. Returned only on $select.
skills?: NullableOption<string[]>;
// Represents the app roles a user has been granted for an application. Supports $expand.
appRoleAssignments?: NullableOption<AppRoleAssignment[]>;
// Directory objects that were created by the user. Read-only. Nullable.
createdObjects?: NullableOption<DirectoryObject[]>;
/**
* 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. Supports $expand.
*/
directReports?: NullableOption<DirectoryObject[]>;
// A collection of this user's license details. Read-only.
licenseDetails?: NullableOption<LicenseDetails[]>;
// The user or contact that is this user's manager. Read-only. (HTTP Methods: GET, PUT, DELETE.). Supports $expand.
manager?: NullableOption<DirectoryObject>;
// The groups and directory roles that the user is a member of. Read-only. Nullable. Supports $expand.
memberOf?: NullableOption<DirectoryObject[]>;
oauth2PermissionGrants?: NullableOption<OAuth2PermissionGrant[]>;
/**
* Devices that are owned by the user. Read-only. Nullable. Supports $expand and $filter (/$count eq 0, /$count ne 0,
* /$count eq 1, /$count ne 1).
*/
ownedDevices?: NullableOption<DirectoryObject[]>;
// Directory objects that are owned by the user. Read-only. Nullable. Supports $expand.
ownedObjects?: NullableOption<DirectoryObject[]>;
// Devices that are registered for the user. Read-only. Nullable. Supports $expand.
registeredDevices?: NullableOption<DirectoryObject[]>;
scopedRoleMemberOf?: NullableOption<ScopedRoleMembership[]>;
// The groups, including nested groups, and directory roles that a user is a member of. Nullable.
transitiveMemberOf?: NullableOption<DirectoryObject[]>;
// The user's primary calendar. Read-only.
calendar?: NullableOption<Calendar>;
// The user's calendar groups. Read-only. Nullable.
calendarGroups?: NullableOption<CalendarGroup[]>;
// The user's calendars. Read-only. Nullable.
calendars?: NullableOption<Calendar[]>;
// The calendar view for the calendar. Read-only. Nullable.
calendarView?: NullableOption<Event[]>;
// The user's contacts folders. Read-only. Nullable.
contactFolders?: NullableOption<ContactFolder[]>;
// The user's contacts. Read-only. Nullable.
contacts?: NullableOption<Contact[]>;
// The user's events. Default is to show Events under the Default Calendar. Read-only. Nullable.
events?: NullableOption<Event[]>;
/**
* Relevance classification of the user's messages based on explicit designations which override inferred relevance or
* importance.
*/
inferenceClassification?: NullableOption<InferenceClassification>;
// The user's mail folders. Read-only. Nullable.
mailFolders?: NullableOption<MailFolder[]>;
// The messages in a mailbox or folder. Read-only. Nullable.
messages?: NullableOption<Message[]>;
outlook?: NullableOption<OutlookUser>;
// People that are relevant to the user. Read-only. Nullable.
people?: NullableOption<Person[]>;
// The user's OneDrive. Read-only.
drive?: NullableOption<Drive>;
// A collection of drives available for this user. Read-only.
drives?: NullableOption<Drive[]>;
followedSites?: NullableOption<Site[]>;
// The collection of open extensions defined for the user. Read-only. Supports $expand. Nullable.
extensions?: NullableOption<Extension[]>;
// The user's terms of use acceptance statuses. Read-only. Nullable.
agreementAcceptances?: NullableOption<AgreementAcceptance[]>;
// The managed devices associated with the user.
managedDevices?: NullableOption<ManagedDevice[]>;
// Zero or more managed app registrations that belong to the user.
managedAppRegistrations?: NullableOption<ManagedAppRegistration[]>;
// The list of troubleshooting events for this user.
deviceManagementTroubleshootingEvents?: NullableOption<DeviceManagementTroubleshootingEvent[]>;
// Entry-point to the Planner resource that might exist for a user. Read-only.
planner?: NullableOption<PlannerUser>;
insights?: NullableOption<OfficeGraphInsights>;
settings?: NullableOption<UserSettings>;
onenote?: NullableOption<Onenote>;
// The user's profile photo. Read-only.
photo?: NullableOption<ProfilePhoto>;
photos?: NullableOption<ProfilePhoto[]>;
// The user's activities across devices. Read-only. Nullable.
activities?: NullableOption<UserActivity[]>;
onlineMeetings?: NullableOption<OnlineMeeting[]>;
presence?: NullableOption<Presence>;
// The authentication methods that are supported for the user.
authentication?: NullableOption<Authentication>;
chats?: NullableOption<Chat[]>;
joinedTeams?: NullableOption<Team[]>;
teamwork?: NullableOption<UserTeamwork>;
// Represents the To Do services available to a user.
todo?: NullableOption<Todo>;
}
export interface AppRoleAssignment extends DirectoryObject {
/**
* The identifier (id) for the app role which is assigned to the principal. This app role must be exposed in the appRoles
* property on the resource application's service principal (resourceId). If the resource application has not declared any
* app roles, a default app role ID of 00000000-0000-0000-0000-000000000000 can be specified to signal that the principal
* is assigned to the resource app without any specific app roles. Required on create.
*/
appRoleId?: string;
/**
* The time when the app role assignment was created. 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 is 2014-01-01T00:00:00Z. Read-only.
*/
createdDateTime?: NullableOption<string>;
/**
* The display name of the user, group, or service principal that was granted the app role assignment. Read-only. Supports
* $filter (eq and startswith).
*/
principalDisplayName?: NullableOption<string>;
/**
* The unique identifier (id) for the user, security group, or service principal being granted the app role. Security
* groups with dynamic memberships are supported. Required on create.
*/
principalId?: NullableOption<string>;
// The type of the assigned principal. This can either be User, Group, or ServicePrincipal. Read-only.
principalType?: NullableOption<string>;
// The display name of the resource app's service principal to which the assignment is made.
resourceDisplayName?: NullableOption<string>;
/**
* The unique identifier (id) for the resource service principal for which the assignment is made. Required on create.
* Supports $filter (eq only).
*/
resourceId?: NullableOption<string>;
}
export interface LicenseDetails extends Entity {
// Information about the service plans assigned with the license. Read-only, Not nullable
servicePlans?: ServicePlanInfo[];
/**
* Unique identifier (GUID) for the service SKU. Equal to the skuId property on the related SubscribedSku object.
* Read-only
*/
skuId?: NullableOption<string>;
/**
* Unique SKU display name. Equal to the skuPartNumber on the related SubscribedSku object; for example: 'AAD_Premium'.
* Read-only
*/
skuPartNumber?: NullableOption<string>;
}
export interface OAuth2PermissionGrant extends Entity {
/**
* The id of the client service principal for the application which is authorized to act on behalf of a signed-in user
* when accessing an API. Required. Supports $filter (eq only).
*/
clientId?: string;
/**
* Indicates if authorization is granted for the client application to impersonate all users or only a specific user.
* AllPrincipals indicates authorization to impersonate all users. Principal indicates authorization to impersonate a
* specific user. Consent on behalf of all users can be granted by an administrator. Non-admin users may be authorized to
* consent on behalf of themselves in some cases, for some delegated permissions. Required. Supports $filter (eq only).
*/
consentType?: NullableOption<string>;
/**
* The id of the user on behalf of whom the client is authorized to access the resource, when consentType is Principal. If
* consentType is AllPrincipals this value is null. Required when consentType is Principal. Supports $filter (eq only).
*/
principalId?: NullableOption<string>;
/**
* The id of the resource service principal to which access is authorized. This identifies the API which the client is
* authorized to attempt to call on behalf of a signed-in user. Supports $filter (eq only).
*/
resourceId?: string;
/**
* A space-separated list of the claim values for delegated permissions which should be included in access tokens for the
* resource application (the API). For example, openid User.Read GroupMember.Read.All. Each claim value should match the
* value field of one of the delegated permissions defined by the API, listed in the oauth2PermissionScopes property of
* the resource service principal. Must not exceed 3850 characters in length.
*/
scope?: NullableOption<string>;
}
export interface ScopedRoleMembership extends Entity {
// Unique identifier for the administrative unit that the directory role is scoped to
administrativeUnitId?: string;
// Unique identifier for the directory role that the member is in.
roleId?: string;
// Role member identity information. Represents the user that is a member of this scoped-role.
roleMemberInfo?: Identity;
}
export interface Calendar extends Entity {
/**
* Represent the online meeting service providers that can be used to create online meetings in this calendar. Possible
* values are: unknown, skypeForBusiness, skypeForConsumer, teamsForBusiness.
*/
allowedOnlineMeetingProviders?: NullableOption<OnlineMeetingProviderType[]>;
/**
* true if the user can write to the calendar, false otherwise. This property is true for the user who created the
* calendar. This property is also true for a user who has been shared a calendar and granted write access.
*/
canEdit?: NullableOption<boolean>;
/**
* true if the user has the permission to share the calendar, false otherwise. Only the user who created the calendar can
* share it.
*/
canShare?: NullableOption<boolean>;
// true if the user can read calendar items that have been marked private, false otherwise.
canViewPrivateItems?: NullableOption<boolean>;
/**
* Identifies the version of the calendar object. Every time the calendar is changed, changeKey changes as well. This
* allows Exchange to apply changes to the correct version of the object. Read-only.
*/
changeKey?: NullableOption<string>;
/**
* Specifies the color theme to distinguish the calendar from other calendars in a UI. The property values are: auto,
* lightBlue, lightGreen, lightOrange, lightGray, lightYellow, lightTeal, lightPink, lightBrown, lightRed, maxColor.
*/
color?: NullableOption<CalendarColor>;
/**
* The default online meeting provider for meetings sent from this calendar. Possible values are: unknown,
* skypeForBusiness, skypeForConsumer, teamsForBusiness.
*/
defaultOnlineMeetingProvider?: NullableOption<OnlineMeetingProviderType>;
/**
* The calendar color, expressed in a hex color code of three hexadecimal values, each ranging from 00 to FF and
* representing the red, green, or blue components of the color in the RGB color space. If the user has never explicitly
* set a color for the calendar, this property is empty. Read-only.
*/
hexColor?: NullableOption<string>;
// true if this is the default calendar where new events are created by default, false otherwise.
isDefaultCalendar?: NullableOption<boolean>;
// Indicates whether this user calendar can be deleted from the user mailbox.
isRemovable?: NullableOption<boolean>;
/**
* Indicates whether this user calendar supports tracking of meeting responses. Only meeting invites sent from users'
* primary calendars support tracking of meeting responses.
*/
isTallyingResponses?: NullableOption<boolean>;
// The calendar name.
name?: NullableOption<string>;
/**
* If set, this represents the user who created or added the calendar. For a calendar that the user created or added, the
* owner property is set to the user. For a calendar shared with the user, the owner property is set to the person who
* shared that calendar with the user.
*/
owner?: NullableOption<EmailAddress>;
// The permissions of the users with whom the calendar is shared.
calendarPermissions?: NullableOption<CalendarPermission[]>;
// The calendar view for the calendar. Navigation property. Read-only.
calendarView?: NullableOption<Event[]>;
// The events in the calendar. Navigation property. Read-only.
events?: NullableOption<Event[]>;
// The collection of multi-value extended properties defined for the calendar. Read-only. Nullable.
multiValueExtendedProperties?: NullableOption<MultiValueLegacyExtendedProperty[]>;
// The collection of single-value extended properties defined for the calendar. Read-only. Nullable.
singleValueExtendedProperties?: NullableOption<SingleValueLegacyExtendedProperty[]>;
}
export interface CalendarGroup extends Entity {
/**
* Identifies the version of the calendar group. Every time the calendar group is changed, ChangeKey changes as well. This
* allows Exchange to apply changes to the correct version of the object. Read-only.
*/
changeKey?: NullableOption<string>;
// The class identifier. Read-only.
classId?: NullableOption<string>;
// The group name.
name?: NullableOption<string>;
// The calendars in the calendar group. Navigation property. Read-only. Nullable.
calendars?: NullableOption<Calendar[]>;
}
export interface OutlookItem extends Entity {
// The categories associated with the item
categories?: NullableOption<string[]>;
/**
* Identifies the version of the item. Every time the item is changed, changeKey changes as well. This allows Exchange to
* apply changes to the correct version of the object. Read-only.
*/
changeKey?: NullableOption<string>;
/**
* 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 is 2014-01-01T00:00:00Z
*/
createdDateTime?: NullableOption<string>;
/**
* 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 is 2014-01-01T00:00:00Z
*/
lastModifiedDateTime?: NullableOption<string>;
}
export interface Event extends OutlookItem {
/**
* true if the meeting organizer allows invitees to propose a new time when responding; otherwise, false. Optional.
* Default is true.
*/
allowNewTimeProposals?: NullableOption<boolean>;
// The collection of attendees for the event.
attendees?: NullableOption<Attendee[]>;
// The body of the message associated with the event. It can be in HTML or text format.
body?: NullableOption<ItemBody>;
// The preview of the message associated with the event. It is in text format.
bodyPreview?: NullableOption<string>;
// The date, time, and time zone that the event ends. By default, the end time is in UTC.
end?: NullableOption<DateTimeTimeZone>;
// Set to true if the event has attachments.
hasAttachments?: NullableOption<boolean>;
/**
* When set to true, each attendee only sees themselves in the meeting request and meeting Tracking list. Default is
* false.
*/
hideAttendees?: NullableOption<boolean>;
/**
* A unique identifier for an event across calendars. This ID is different for each occurrence in a recurring series.
* Read-only.
*/
iCalUId?: NullableOption<string>;
importance?: NullableOption<Importance>;
isAllDay?: NullableOption<boolean>;
isCancelled?: NullableOption<boolean>;
isDraft?: NullableOption<boolean>;
isOnlineMeeting?: NullableOption<boolean>;
isOrganizer?: NullableOption<boolean>;
isReminderOn?: NullableOption<boolean>;
location?: NullableOption<Location>;
locations?: NullableOption<Location[]>;
onlineMeeting?: NullableOption<OnlineMeetingInfo>;
onlineMeetingProvider?: NullableOption<OnlineMeetingProviderType>;
onlineMeetingUrl?: NullableOption<string>;
organizer?: NullableOption<Recipient>;
originalEndTimeZone?: NullableOption<string>;
originalStart?: NullableOption<string>;
originalStartTimeZone?: NullableOption<string>;
recurrence?: NullableOption<PatternedRecurrence>;
reminderMinutesBeforeStart?: NullableOption<number>;
responseRequested?: NullableOption<boolean>;
responseStatus?: NullableOption<ResponseStatus>;
sensitivity?: NullableOption<Sensitivity>;
seriesMasterId?: NullableOption<string>;
showAs?: NullableOption<FreeBusyStatus>;
start?: NullableOption<DateTimeTimeZone>;
subject?: NullableOption<string>;
transactionId?: NullableOption<string>;
type?: NullableOption<EventType>;
webLink?: NullableOption<string>;
/**
* The collection of FileAttachment, ItemAttachment, and referenceAttachment attachments for the event. Navigation
* property. Read-only. Nullable.
*/
attachments?: NullableOption<Attachment[]>;
// The calendar that contains the event. Navigation property. Read-only.
calendar?: NullableOption<Calendar>;
// The collection of open extensions defined for the event. Nullable.
extensions?: NullableOption<Extension[]>;
/**
* The occurrences of a recurring series, if the event is a series master. This property includes occurrences that are
* part of the recurrence pattern, and exceptions that have been modified, but does not include occurrences that have been
* cancelled from the series. Navigation property. Read-only. Nullable.
*/
instances?: NullableOption<Event[]>;
// The collection of multi-value extended properties defined for the event. Read-only. Nullable.
multiValueExtendedProperties?: NullableOption<MultiValueLegacyExtendedProperty[]>;
// The collection of single-value extended properties defined for the event. Read-only. Nullable.
singleValueExtendedProperties?: NullableOption<SingleValueLegacyExtendedProperty[]>;
}
export interface ContactFolder extends Entity {
// The folder's display name.
displayName?: NullableOption<string>;
// The ID of the folder's parent folder.
parentFolderId?: NullableOption<string>;
// The collection of child folders in the folder. Navigation property. Read-only. Nullable.
childFolders?: NullableOption<ContactFolder[]>;
// The contacts in the folder. Navigation property. Read-only. Nullable.
contacts?: NullableOption<Contact[]>;
// The collection of multi-value extended properties defined for the contactFolder. Read-only. Nullable.
multiValueExtendedProperties?: NullableOption<MultiValueLegacyExtendedProperty[]>;
// The collection of single-value extended properties defined for the contactFolder. Read-only. Nullable.
singleValueExtendedProperties?: NullableOption<SingleValueLegacyExtendedProperty[]>;
}
export interface Contact extends OutlookItem {
// The name of the contact's assistant.
assistantName?: NullableOption<string>;
/**
* The contact's birthday. 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 is 2014-01-01T00:00:00Z
*/
birthday?: NullableOption<string>;
// The contact's business address.
businessAddress?: NullableOption<PhysicalAddress>;
// The business home page of the contact.
businessHomePage?: NullableOption<string>;
// The contact's business phone numbers.
businessPhones?: NullableOption<string[]>;
// The names of the contact's children.
children?: NullableOption<string[]>;
// The name of the contact's company.
companyName?: NullableOption<string>;
// The contact's department.
department?: NullableOption<string>;
/**
* The contact's display name. You can specify the display name in a create or update operation. Note that later updates
* to other properties may cause an automatically generated value to overwrite the displayName value you have specified.
* To preserve a pre-existing value, always include it as displayName in an update operation.
*/
displayName?: NullableOption<string>;
// The contact's email addresses.
emailAddresses?: NullableOption<EmailAddress[]>;
// The name the contact is filed under.
fileAs?: NullableOption<string>;
// The contact's generation.
generation?: NullableOption<string>;
// The contact's given name.
givenName?: NullableOption<string>;
// The contact's home address.
homeAddress?: NullableOption<PhysicalAddress>;
// The contact's home phone numbers.
homePhones?: NullableOption<string[]>;
imAddresses?: NullableOption<string[]>;
initials?: NullableOption<string>;
jobTitle?: NullableOption<string>;
manager?: NullableOption<string>;
middleName?: NullableOption<string>;
mobilePhone?: NullableOption<string>;
nickName?: NullableOption<string>;
officeLocation?: NullableOption<string>;
otherAddress?: NullableOption<PhysicalAddress>;
parentFolderId?: NullableOption<string>;
personalNotes?: NullableOption<string>;
profession?: NullableOption<string>;
spouseName?: NullableOption<string>;
surname?: NullableOption<string>;
title?: NullableOption<string>;
yomiCompanyName?: NullableOption<string>;
yomiGivenName?: NullableOption<string>;
yomiSurname?: NullableOption<string>;
// The collection of open extensions defined for the contact. Read-only. Nullable.
extensions?: NullableOption<Extension[]>;
// The collection of multi-value extended properties defined for the contact. Read-only. Nullable.
multiValueExtendedProperties?: NullableOption<MultiValueLegacyExtendedProperty[]>;
// Optional contact picture. You can get or set a photo for a contact.
photo?: NullableOption<ProfilePhoto>;
// The collection of single-value extended properties defined for the contact. Read-only. Nullable.
singleValueExtendedProperties?: NullableOption<SingleValueLegacyExtendedProperty[]>;
}
// tslint:disable-next-line: interface-name
export interface InferenceClassification extends Entity {
/**
* A set of overrides for a user to always classify messages from specific senders in certain ways: focused, or other.
* Read-only. Nullable.
*/
overrides?: NullableOption<InferenceClassificationOverride[]>;
}
export interface MailFolder extends Entity {
// The number of immediate child mailFolders in the current mailFolder.
childFolderCount?: NullableOption<number>;
// The mailFolder's display name.
displayName?: NullableOption<string>;
/**
* Indicates whether the mailFolder is hidden. This property can be set only when creating the folder. Find more
* information in Hidden mail folders.
*/
isHidden?: NullableOption<boolean>;
// The unique identifier for the mailFolder's parent mailFolder.
parentFolderId?: NullableOption<string>;
// The number of items in the mailFolder.
totalItemCount?: NullableOption<number>;
// The number of items in the mailFolder marked as unread.
unreadItemCount?: NullableOption<number>;
// The collection of child folders in the mailFolder.
childFolders?: NullableOption<MailFolder[]>;
// The collection of rules that apply to the user's Inbox folder.
messageRules?: NullableOption<MessageRule[]>;
// The collection of messages in the mailFolder.
messages?: NullableOption<Message[]>;
// The collection of multi-value extended properties defined for the mailFolder. Read-only. Nullable.
multiValueExtendedProperties?: NullableOption<MultiValueLegacyExtendedProperty[]>;
// The collection of single-value extended properties defined for the mailFolder. Read-only. Nullable.
singleValueExtendedProperties?: NullableOption<SingleValueLegacyExtendedProperty[]>;
}
export interface Message extends OutlookItem {
// The Bcc: recipients for the message.
bccRecipients?: NullableOption<Recipient[]>;
// The body of the message. It can be in HTML or text format. Find out about safe HTML in a message body.
body?: NullableOption<ItemBody>;
// The first 255 characters of the message body. It is in text format.
bodyPreview?: NullableOption<string>;
// The Cc: recipients for the message.
ccRecipients?: NullableOption<Recipient[]>;
// The ID of the conversation the email belongs to.
conversationId?: NullableOption<string>;
// Indicates the position of the message within the conversation.
conversationIndex?: NullableOption<string>;
// The flag value that indicates the status, start date, due date, or completion date for the message.
flag?: NullableOption<FollowupFlag>;
/**
* The owner of the mailbox from which the message is sent. In most cases, this value is the same as the sender property,
* except for sharing or delegation scenarios. The value must correspond to the actual mailbox used. Find out more about
* setting the from and sender properties of a message.
*/
from?: NullableOption<Recipient>;
/**
* Indicates whether the message has attachments. This property doesn't include inline attachments, so if a message
* contains only inline attachments, this property is false. To verify the existence of inline attachments, parse the body
* property to look for a src attribute, such as &amp;lt;IMG src='cid:image001.jpg@01D26CD8.6C05F070'&amp;gt;.
*/
hasAttachments?: NullableOption<boolean>;
importance?: NullableOption<Importance>;
inferenceClassification?: NullableOption<InferenceClassificationType>;
internetMessageHeaders?: NullableOption<InternetMessageHeader[]>;
internetMessageId?: NullableOption<string>;
isDeliveryReceiptRequested?: NullableOption<boolean>;
isDraft?: NullableOption<boolean>;
isRead?: NullableOption<boolean>;
isReadReceiptRequested?: NullableOption<boolean>;
parentFolderId?: NullableOption<string>;
receivedDateTime?: NullableOption<string>;
replyTo?: NullableOption<Recipient[]>;
sender?: NullableOption<Recipient>;
sentDateTime?: NullableOption<string>;
subject?: NullableOption<string>;
toRecipients?: NullableOption<Recipient[]>;
uniqueBody?: NullableOption<ItemBody>;
webLink?: NullableOption<string>;
// The fileAttachment and itemAttachment attachments for the message.
attachments?: NullableOption<Attachment[]>;
// The collection of open extensions defined for the message. Nullable.
extensions?: NullableOption<Extension[]>;
// The collection of multi-value extended properties defined for the message. Nullable.
multiValueExtendedProperties?: NullableOption<MultiValueLegacyExtendedProperty[]>;
// The collection of single-value extended properties defined for the message. Nullable.
singleValueExtendedProperties?: NullableOption<SingleValueLegacyExtendedProperty[]>;
}
export interface OutlookUser extends Entity {
// A list of categories defined for the user.
masterCategories?: NullableOption<OutlookCategory[]>;
}
export interface Person extends Entity {
// The person's birthday.
birthday?: NullableOption<string>;
// The name of the person's company.
companyName?: NullableOption<string>;
// The person's department.
department?: NullableOption<string>;
// The person's display name.
displayName?: NullableOption<string>;
// The person's given name.
givenName?: NullableOption<string>;
// The instant message voice over IP (VOIP) session initiation protocol (SIP) address for the user. Read-only.
imAddress?: NullableOption<string>;
// True if the user has flagged this person as a favorite.
isFavorite?: NullableOption<boolean>;
// The person's job title.
jobTitle?: NullableOption<string>;
// The location of the person's office.
officeLocation?: NullableOption<string>;
// Free-form notes that the user has taken about this person.
personNotes?: NullableOption<string>;
// The type of person.
personType?: NullableOption<PersonType>;
// The person's phone numbers.
phones?: NullableOption<Phone[]>;
// The person's addresses.
postalAddresses?: NullableOption<Location[]>;
// The person's profession.
profession?: NullableOption<string>;
// The person's email addresses.
scoredEmailAddresses?: NullableOption<ScoredEmailAddress[]>;
// The person's surname.
surname?: NullableOption<string>;
/**
* The user principal name (UPN) of the person. The UPN is an Internet-style login name for the person based on the
* Internet standard RFC 822. By convention, this should map to the person's email name. The general format is
* alias@domain.
*/
userPrincipalName?: NullableOption<string>;
// The person's websites.
websites?: NullableOption<Website[]>;
// The phonetic Japanese name of the person's company.
yomiCompany?: NullableOption<string>;
}
export interface BaseItem extends Entity {
// Identity of the user, device, or application which created the item. Read-only.
createdBy?: NullableOption<IdentitySet>;
// Date and time of item creation. Read-only.
createdDateTime?: string;
// Provides a user-visible description of the item. Optional.
description?: NullableOption<string>;
// ETag for the item. Read-only.
eTag?: NullableOption<string>;
// Identity of the user, device, and application which last modified the item. Read-only.
lastModifiedBy?: NullableOption<IdentitySet>;
// Date and time the item was last modified. Read-only.
lastModifiedDateTime?: string;
// The name of the item. Read-write.
name?: NullableOption<string>;
// Parent information, if the item has a parent. Read-write.
parentReference?: NullableOption<ItemReference>;
// URL that displays the resource in the browser. Read-only.
webUrl?: NullableOption<string>;
// Identity of the user who created the item. Read-only.
createdByUser?: NullableOption<User>;
// Identity of the user who last modified the item. Read-only.
lastModifiedByUser?: NullableOption<User>;
}
export interface Drive extends BaseItem {
/**
* Describes the type of drive represented by this resource. OneDrive personal drives will return personal. OneDrive for
* Business will return business. SharePoint document libraries will return documentLibrary. Read-only.
*/
driveType?: NullableOption<string>;
// Optional. The user account that owns the drive. Read-only.
owner?: NullableOption<IdentitySet>;
// Optional. Information about the drive's storage space quota. Read-only.
quota?: NullableOption<Quota>;
sharePointIds?: NullableOption<SharepointIds>;
// If present, indicates that this is a system-managed drive. Read-only.
system?: NullableOption<SystemFacet>;
// Collection of [bundles][bundle] (albums and multi-select-shared sets of items). Only in personal OneDrive.
bundles?: NullableOption<DriveItem[]>;
// The list of items the user is following. Only in OneDrive for Business.
following?: NullableOption<DriveItem[]>;
// All items contained in the drive. Read-only. Nullable.
items?: NullableOption<DriveItem[]>;
// For drives in SharePoint, the underlying document library list. Read-only. Nullable.
list?: NullableOption<List>;
// The root folder of the drive. Read-only.
root?: NullableOption<DriveItem>;
// Collection of common folders available in OneDrive. Read-only. Nullable.
special?: NullableOption<DriveItem[]>;
}
export interface Site extends BaseItem {
// The full title for the site. Read-only.
displayName?: NullableOption<string>;
error?: NullableOption<PublicError>;
// If present, indicates that this is the root site in the site collection. Read-only.
root?: NullableOption<Root>;
// Returns identifiers useful for SharePoint REST compatibility. Read-only.
sharepointIds?: NullableOption<SharepointIds>;
// Provides details about the site's site collection. Available only on the root site. Read-only.
siteCollection?: NullableOption<SiteCollection>;
// Analytics about the view activities that took place in this site.
analytics?: NullableOption<ItemAnalytics>;
// The collection of column definitions reusable across lists under this site.
columns?: NullableOption<ColumnDefinition[]>;
// The collection of content types defined for this site.
contentTypes?: NullableOption<ContentType[]>;
// The default drive (document library) for this site.
drive?: NullableOption<Drive>;
// The collection of drives (document libraries) under this site.
drives?: NullableOption<Drive[]>;
externalColumns?: NullableOption<ColumnDefinition[]>;
// Used to address any item contained in this site. This collection can't be enumerated.
items?: NullableOption<BaseItem[]>;
// The collection of lists under this site.
lists?: NullableOption<List[]>;
// The collection of long-running operations on the site.
operations?: NullableOption<RichLongRunningOperation[]>;
// The permissions associated with the site. Nullable.
permissions?: NullableOption<Permission[]>;
// The collection of the sub-sites under this site.
sites?: NullableOption<Site[]>;
// The default termStore under this site.
termStore?: NullableOption<TermStore.Store>;
// The collection of termStores under this site.
termStores?: NullableOption<TermStore.Store[]>;
// Calls the OneNote service for notebook related operations.
onenote?: NullableOption<Onenote>;
}
// tslint:disable-next-line: no-empty-interface
export interface Extension extends Entity {}
export interface AgreementAcceptance extends Entity {
// The identifier of the agreement file accepted by the user.
agreementFileId?: NullableOption<string>;
// The identifier of the agreement.
agreementId?: NullableOption<string>;
// The display name of the device used for accepting the agreement.
deviceDisplayName?: NullableOption<string>;
// The unique identifier of the device used for accepting the agreement. Supports $filter (eq) and eq for null values.
deviceId?: NullableOption<string>;
// The operating system used to accept the agreement.
deviceOSType?: NullableOption<string>;
// The operating system version of the device used to accept the agreement.
deviceOSVersion?: NullableOption<string>;
/**
* The expiration date time of the acceptance. 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 is 2014-01-01T00:00:00Z. Supports $filter
* (eq, ge, le) and eq for null values.
*/
expirationDateTime?: NullableOption<string>;
/**
* 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 is 2014-01-01T00:00:00Z.
*/
recordedDateTime?: NullableOption<string>;
// The state of the agreement acceptance. Possible values are: accepted, declined. Supports $filter (eq).
state?: NullableOption<AgreementAcceptanceState>;
// Display name of the user when the acceptance was recorded.
userDisplayName?: NullableOption<string>;
// Email of the user when the acceptance was recorded.
userEmail?: NullableOption<string>;
// The identifier of the user who accepted the agreement. Supports $filter (eq).
userId?: NullableOption<string>;
// UPN of the user when the acceptance was recorded.
userPrincipalName?: NullableOption<string>;
}
export interface ManagedDevice extends Entity {
/**
* The code that allows the Activation Lock on managed device to be bypassed. Default, is Null (Non-Default property) for
* this property when returned as part of managedDevice entity in LIST call. Individual GET call with select query options
* is needed to retrieve actual values. Supports: $select. $Search is not supported. Read-only. This property is
* read-only.
*/
activationLockBypassCode?: NullableOption<string>;
// Android security patch level. This property is read-only.
androidSecurityPatchLevel?: NullableOption<string>;
// The unique identifier for the Azure Active Directory device. Read only. This property is read-only.
azureADDeviceId?: NullableOption<string>;
// Whether the device is Azure Active Directory registered. This property is read-only.
azureADRegistered?: NullableOption<boolean>;
// The DateTime when device compliance grace period expires. This property is read-only.
complianceGracePeriodExpirationDateTime?: string;
/**
* Compliance state of the device. This property is read-only. Possible values are: unknown, compliant, noncompliant,
* conflict, error, inGracePeriod, configManager.
*/
complianceState?: ComplianceState;
// ConfigrMgr client enabled features. This property is read-only.
configurationManagerClientEnabledFeatures?: NullableOption<ConfigurationManagerClientEnabledFeatures>;
// List of ComplexType deviceActionResult objects. This property is read-only.
deviceActionResults?: NullableOption<DeviceActionResult[]>;
// Device category display name. This property is read-only.
deviceCategoryDisplayName?: NullableOption<string>;
/**
* Enrollment type of the device. This property is read-only. Possible values are: unknown, userEnrollment,
* deviceEnrollmentManager, appleBulkWithUser, appleBulkWithoutUser, windowsAzureADJoin, windowsBulkUserless,
* windowsAutoEnrollment, windowsBulkAzureDomainJoin, windowsCoManagement, windowsAzureADJoinUsingDeviceAuth,
* appleUserEnrollment, appleUserEnrollmentWithServiceAccount.
*/
deviceEnrollmentType?: DeviceEnrollmentType;
// The device health attestation state. This property is read-only.
deviceHealthAttestationState?: NullableOption<DeviceHealthAttestationState>;
// Name of the device. This property is read-only.
deviceName?: NullableOption<string>;
/**
* Device registration state. This property is read-only. Possible values are: notRegistered, registered, revoked,
* keyConflict, approvalPending, certificateReset, notRegisteredPendingEnrollment, unknown.
*/
deviceRegistrationState?: DeviceRegistrationState;
// Whether the device is Exchange ActiveSync activated. This property is read-only.
easActivated?: boolean;
// Exchange ActivationSync activation time of the device. This property is read-only.
easActivationDateTime?: string;
// Exchange ActiveSync Id of the device. This property is read-only.
easDeviceId?: NullableOption<string>;
// Email(s) for the user associated with the device. This property is read-only.
emailAddress?: NullableOption<string>;
// Enrollment time of the device. This property is read-only.
enrolledDateTime?: string;
/**
* Indicates Ethernet MAC Address of the device. Default, is Null (Non-Default property) for this property when returned
* as part of managedDevice entity. Individual get call with select query options is needed to retrieve actual values.
* Example: deviceManagement/managedDevices({managedDeviceId})?$select=ethernetMacAddress Supports: $select. $Search is
* not supported. Read-only. This property is read-only.
*/
ethernetMacAddress?: NullableOption<string>;
/**
* The Access State of the device in Exchange. This property is read-only. Possible values are: none, unknown, allowed,
* blocked, quarantined.
*/
exchangeAccessState?: DeviceManagementExchangeAccessState;
/**
* The reason for the device's access state in Exchange. This property is read-only. Possible values are: none, unknown,
* exchangeGlobalRule, exchangeIndividualRule, exchangeDeviceRule, exchangeUpgrade, exchangeMailboxPolicy, other,
* compliant, notCompliant, notEnrolled, unknownLocation, mfaRequired, azureADBlockDueToAccessPolicy, compromisedPassword,
* deviceNotKnownWithManagedApp.
*/
exchangeAccessStateReason?: DeviceManagementExchangeAccessStateReason;
// Last time the device contacted Exchange. This property is read-only.
exchangeLastSuccessfulSyncDateTime?: string;
// Free Storage in Bytes. Default value is 0. Read-only. This property is read-only.
freeStorageSpaceInBytes?: number;
/**
* Integrated Circuit Card Identifier, it is A SIM card's unique identification number. Return default value null in LIST
* managedDevices. Real value only returned in singel device GET call with device id and included in select parameter.
* Supports: $select. $Search is not supported. Read-only. This property is read-only.
*/
iccid?: NullableOption<string>;
// IMEI. This property is read-only.
imei?: NullableOption<string>;
// Device encryption status. This property is read-only.
isEncrypted?: boolean;
// Device supervised status. This property is read-only.
isSupervised?: boolean;
// whether the device is jail broken or rooted. This property is read-only.
jailBroken?: NullableOption<string>;
// The date and time that the device last completed a successful sync with Intune. This property is read-only.
lastSyncDateTime?: string;
// Automatically generated name to identify a device. Can be overwritten to a user friendly name.
managedDeviceName?: NullableOption<string>;
// Ownership of the device. Can be 'company' or 'personal'. Possible values are: unknown, company, personal.
managedDeviceOwnerType?: ManagedDeviceOwnerType;
/**
* Management channel of the device. Intune, EAS, etc. This property is read-only. Possible values are: eas, mdm, easMdm,
* intuneClient, easIntuneClient, configurationManagerClient, configurationManagerClientMdm,
* configurationManagerClientMdmEas, unknown, jamf, googleCloudDevicePolicyController.
*/
managementAgent?: ManagementAgentType;
// Reports device management certificate expiration date. This property is read-only.
managementCertificateExpirationDate?: string;
// Manufacturer of the device. This property is read-only.
manufacturer?: NullableOption<string>;
// MEID. This property is read-only.
meid?: NullableOption<string>;
// Model of the device. This property is read-only.
model?: NullableOption<string>;
/**
* Notes on the device created by IT Admin. Return default value null in LIST managedDevices. Real value only returned in
* singel device GET call with device id and included in select parameter. Supports: $select. $Search is not supported.
*/
notes?: NullableOption<string>;
// Operating system of the device. Windows, iOS, etc. This property is read-only.
operatingSystem?: NullableOption<string>;
// Operating system version of the device. This property is read-only.
osVersion?: NullableOption<string>;
/**
* Indicates the threat state of a device when a Mobile Threat Defense partner is in use by the account and device. Read
* Only. This property is read-only. Possible values are: unknown, activated, deactivated, secured, lowSeverity,
* mediumSeverity, highSeverity, unresponsive, compromised, misconfigured.
*/
partnerReportedThreatState?: ManagedDevicePartnerReportedHealthState;
// Phone number of the device. This property is read-only.
phoneNumber?: NullableOption<string>;
/**
* Total Memory in Bytes. Return default value 0 in LIST managedDevices. Real value only returned in singel device GET
* call with device id and included in select parameter. Supports: $select. Default value is 0. Read-only. This property
* is read-only.
*/
physicalMemoryInBytes?: number;
// An error string that identifies issues when creating Remote Assistance session objects. This property is read-only.
remoteAssistanceSessionErrorDetails?: NullableOption<string>;
// Url that allows a Remote Assistance session to be established with the device. This property is read-only.
remoteAssistanceSessionUrl?: NullableOption<string>;
// Reports if the managed iOS device is user approval enrollment. This property is read-only.
requireUserEnrollmentApproval?: NullableOption<boolean>;
// SerialNumber. This property is read-only.
serialNumber?: NullableOption<string>;
// Subscriber Carrier. This property is read-only.
subscriberCarrier?: NullableOption<string>;
// Total Storage in Bytes. This property is read-only.
totalStorageSpaceInBytes?: number;
/**
* Unique Device Identifier for iOS and macOS devices. Return default value null in LIST managedDevices. Real value only
* returned in singel device GET call with device id and included in select parameter. Supports: $select. $Search is not
* supported. Read-only. This property is read-only.
*/
udid?: NullableOption<string>;
// User display name. This property is read-only.
userDisplayName?: NullableOption<string>;
// Unique Identifier for the user associated with the device. This property is read-only.
userId?: NullableOption<string>;
// Device user principal name. This property is read-only.
userPrincipalName?: NullableOption<string>;
// Wi-Fi MAC. This property is read-only.
wiFiMacAddress?: NullableOption<string>;
// Device compliance policy states for this device.
deviceCompliancePolicyStates?: NullableOption<DeviceCompliancePolicyState[]>;
// Device configuration states for this device.
deviceConfigurationStates?: NullableOption<DeviceConfigurationState[]>;
// Device category
deviceCategory?: NullableOption<DeviceCategory>;
// The primary users associated with the managed device.
users?: NullableOption<User[]>;
}
export interface ManagedAppRegistration extends Entity {
// The app package Identifier
appIdentifier?: NullableOption<MobileAppIdentifier>;
// App version
applicationVersion?: NullableOption<string>;
// Date and time of creation
createdDateTime?: string;
// Host device name
deviceName?: NullableOption<string>;
/**
* App management SDK generated tag, which helps relate apps hosted on the same device. Not guaranteed to relate apps in
* all conditions.
*/
deviceTag?: NullableOption<string>;
// Host device type
deviceType?: NullableOption<string>;
// Zero or more reasons an app registration is flagged. E.g. app running on rooted device
flaggedReasons?: ManagedAppFlaggedReason[];
// Date and time of last the app synced with management service.
lastSyncDateTime?: string;
// App management SDK version
managementSdkVersion?: NullableOption<string>;
// Operating System version
platformVersion?: NullableOption<string>;
// The user Id to who this app registration belongs.
userId?: NullableOption<string>;
// Version of the entity.
version?: NullableOption<string>;
// Zero or more policys already applied on the registered app when it last synchronized with managment service.
appliedPolicies?: NullableOption<ManagedAppPolicy[]>;
// Zero or more policies admin intended for the app as of now.
intendedPolicies?: NullableOption<ManagedAppPolicy[]>;
// Zero or more long running operations triggered on the app registration.
operations?: NullableOption<ManagedAppOperation[]>;
}
export interface DeviceManagementTroubleshootingEvent extends Entity {
// Id used for tracing the failure in the service.
correlationId?: NullableOption<string>;
// Time when the event occurred .
eventDateTime?: string;
}
export interface PlannerUser extends Entity {
// Read-only. Nullable. Returns the plannerTasks assigned to the user.
plans?: NullableOption<PlannerPlan[]>;
// Read-only. Nullable. Returns the plannerPlans shared with the user.
tasks?: NullableOption<PlannerTask[]>;
}
export interface OfficeGraphInsights extends Entity {
/**
* Calculated relationship identifying documents shared with or by the user. This includes URLs, file attachments, and
* reference attachments to OneDrive for Business and SharePoint files found in Outlook messages and meetings. This also
* includes URLs and reference attachments to Teams conversations. Ordered by recency of share.
*/
shared?: NullableOption<SharedInsight[]>;
/**
* Calculated relationship identifying documents trending around a user. Trending documents are calculated based on
* activity of the user's closest network of people and include files stored in OneDrive for Business and SharePoint.
* Trending insights help the user to discover potentially useful content that the user has access to, but has never
* viewed before.
*/
trending?: NullableOption<Trending[]>;
/**
* Calculated relationship identifying the latest documents viewed or modified by a user, including OneDrive for Business
* and SharePoint documents, ranked by recency of use.
*/
used?: NullableOption<UsedInsight[]>;
}
export interface UserSettings extends Entity {
contributionToContentDiscoveryAsOrganizationDisabled?: boolean;
contributionToContentDiscoveryDisabled?: boolean;
shiftPreferences?: NullableOption<ShiftPreferences>;
}
export interface Onenote extends Entity {
// The collection of OneNote notebooks that are owned by the user or group. Read-only. Nullable.
notebooks?: NullableOption<Notebook[]>;
/**
* The status of OneNote operations. Getting an operations collection is not supported, but you can get the status of
* long-running operations if the Operation-Location header is returned in the response. Read-only. Nullable.
*/
operations?: NullableOption<OnenoteOperation[]>;
// The pages in all OneNote notebooks that are owned by the user or group. Read-only. Nullable.
pages?: NullableOption<OnenotePage[]>;
/**
* The image and other file resources in OneNote pages. Getting a resources collection is not supported, but you can get
* the binary content of a specific resource. Read-only. Nullable.
*/
resources?: NullableOption<OnenoteResource[]>;
// The section groups in all OneNote notebooks that are owned by the user or group. Read-only. Nullable.
sectionGroups?: NullableOption<SectionGroup[]>;
// The sections in all OneNote notebooks that are owned by the user or group. Read-only. Nullable.
sections?: NullableOption<OnenoteSection[]>;
}
export interface ProfilePhoto extends Entity {
// The height of the photo. Read-only.
height?: NullableOption<number>;
// The width of the photo. Read-only.
width?: NullableOption<number>;
}
export interface UserActivity extends Entity {
/**
* Required. URL used to launch the activity in the best native experience represented by the appId. Might launch a
* web-based app if no native app exists.
*/
activationUrl?: string;
/**
* Required. URL for the domain representing the cross-platform identity mapping for the app. Mapping is stored either as
* a JSON file hosted on the domain or configurable via Windows Dev Center. The JSON file is named
* cross-platform-app-identifiers and is hosted at root of your HTTPS domain, either at the top level domain or include a
* sub domain. For example: https://contoso.com or https://myapp.contoso.com but NOT https://myapp.contoso.com/somepath.
* You must have a unique file and domain (or sub domain) per cross-platform app identity. For example, a separate file
* and domain is needed for Word vs. PowerPoint.
*/
activitySourceHost?: string;
// Required. The unique activity ID in the context of the app - supplied by caller and immutable thereafter.
appActivityId?: string;
/**
* Optional. Short text description of the app used to generate the activity for use in cases when the app is not
* installed on the users local device.
*/
appDisplayName?: NullableOption<string>;
// Optional. A custom piece of data - JSON-LD extensible description of content according to schema.org syntax.
contentInfo?: NullableOption<any>;
/**
* Optional. Used in the event the content can be rendered outside of a native or web-based app experience (for example, a
* pointer to an item in an RSS feed).
*/
contentUrl?: NullableOption<string>;
// Set by the server. DateTime in UTC when the object was created on the server.
createdDateTime?: NullableOption<string>;
// Set by the server. DateTime in UTC when the object expired on the server.
expirationDateTime?: NullableOption<string>;
// Optional. URL used to launch the activity in a web-based app, if available.
fallbackUrl?: NullableOption<string>;
// Set by the server. DateTime in UTC when the object was modified on the server.
lastModifiedDateTime?: NullableOption<string>;
// Set by the server. A status code used to identify valid objects. Values: active, updated, deleted, ignored.
status?: NullableOption<Status>;
/**
* Optional. The timezone in which the user's device used to generate the activity was located at activity creation time;
* values supplied as Olson IDs in order to support cross-platform representation.
*/
userTimezone?: NullableOption<string>;
// Required. The object containing information to render the activity in the UX.
visualElements?: VisualInfo;
// Optional. NavigationProperty/Containment; navigation property to the activity's historyItems.
historyItems?: NullableOption<ActivityHistoryItem[]>;
}
export interface OnlineMeeting extends Entity {
// Indicates whether attendees can turn on their camera.
allowAttendeeToEnableCamera?: NullableOption<boolean>;
// Indicates whether attendees can turn on their microphone.
allowAttendeeToEnableMic?: NullableOption<boolean>;
// Specifies who can be a presenter in a meeting. Possible values are listed in the following table.
allowedPresenters?: NullableOption<OnlineMeetingPresenters>;
// Specifies the mode of meeting chat.
allowMeetingChat?: NullableOption<MeetingChatMode>;
// Indicates whether Teams reactions are enabled for the meeting.
allowTeamworkReactions?: NullableOption<boolean>;
// The content stream of the attendee report of a Microsoft Teams live event. Read-only.
attendeeReport?: NullableOption<any>;
// The phone access (dial-in) information for an online meeting. Read-only.
audioConferencing?: NullableOption<AudioConferencing>;
// Settings related to a live event.
broadcastSettings?: NullableOption<BroadcastMeetingSettings>;
// The chat information associated with this online meeting.
chatInfo?: NullableOption<ChatInfo>;
// The meeting creation time in UTC. Read-only.
creationDateTime?: NullableOption<string>;
// The meeting end time in UTC.
endDateTime?: NullableOption<string>;
externalId?: NullableOption<string>;
// Indicates if this is a Teams live event.
isBroadcast?: NullableOption<boolean>;
// Indicates whether to announce when callers join or leave.
isEntryExitAnnounced?: NullableOption<boolean>;
/**
* The join information in the language and locale variant specified in the Accept-Language request HTTP header.
* Read-only.
*/
joinInformation?: NullableOption<ItemBody>;
/**
* Specifies the joinMeetingId, the meeting passcode, and the requirement for the passcode. Once an onlineMeeting is
* created, the joinMeetingIdSettings cannot be modified. To make any changes to this property, the meeting needs to be
* canceled and a new one needs to be created.
*/
joinMeetingIdSettings?: NullableOption<JoinMeetingIdSettings>;
// The join URL of the online meeting. Read-only.
joinWebUrl?: NullableOption<string>;
// Specifies which participants can bypass the meeting lobby.
lobbyBypassSettings?: NullableOption<LobbyBypassSettings>;
// The participants associated with the online meeting. This includes the organizer and the attendees.
participants?: NullableOption<MeetingParticipants>;
// Indicates whether to record the meeting automatically.
recordAutomatically?: NullableOption<boolean>;
// The meeting start time in UTC.
startDateTime?: NullableOption<string>;
// The subject of the online meeting.
subject?: NullableOption<string>;
// The video teleconferencing ID. Read-only.
videoTeleconferenceId?: NullableOption<string>;
// Specifies whether a watermark should be applied to a content type by the client application.
watermarkProtection?: NullableOption<WatermarkProtectionValues>;
// The attendance reports of an online meeting. Read-only.
attendanceReports?: NullableOption<MeetingAttendanceReport[]>;
}
export interface Presence extends Entity {
/**
* The supplemental information to a user's availability. Possible values are Available, Away, BeRightBack, Busy,
* DoNotDisturb, InACall, InAConferenceCall, Inactive, InAMeeting, Offline, OffWork, OutOfOffice, PresenceUnknown,
* Presenting, UrgentInterruptionsOnly.
*/
activity?: NullableOption<string>;
/**
* The base presence information for a user. Possible values are Available, AvailableIdle, Away, BeRightBack, Busy,
* BusyIdle, DoNotDisturb, Offline, PresenceUnknown
*/
availability?: NullableOption<string>;
}
export interface Authentication extends Entity {
// The email address registered to a user for authentication.
emailMethods?: NullableOption<EmailAuthenticationMethod[]>;
// Represents the FIDO2 security keys registered to a user for authentication.
fido2Methods?: NullableOption<Fido2AuthenticationMethod[]>;
// Represents all authentication methods registered to a user.
methods?: NullableOption<AuthenticationMethod[]>;
// The details of the Microsoft Authenticator app registered to a user for authentication.
microsoftAuthenticatorMethods?: NullableOption<MicrosoftAuthenticatorAuthenticationMethod[]>;
// Represents the status of a long-running operation.
operations?: NullableOption<LongRunningOperation[]>;
/**
* Represents the password that's registered to a user for authentication. For security, the password itself will never be
* returned in the object, but action can be taken to reset a password.
*/
passwordMethods?: NullableOption<PasswordAuthenticationMethod[]>;
// The phone numbers registered to a user for authentication.
phoneMethods?: NullableOption<PhoneAuthenticationMethod[]>;
// The software OATH TOTP applications registered to a user for authentication.
softwareOathMethods?: NullableOption<SoftwareOathAuthenticationMethod[]>;
// Represents a Temporary Access Pass registered to a user for authentication through time-limited passcodes.
temporaryAccessPassMethods?: NullableOption<TemporaryAccessPassAuthenticationMethod[]>;
// Represents the Windows Hello for Business authentication method registered to a user for authentication.
windowsHelloForBusinessMethods?: NullableOption<WindowsHelloForBusinessAuthenticationMethod[]>;
}
export interface Chat extends Entity {
// Specifies the type of chat. Possible values are: group, oneOnOne, meeting, unknownFutureValue.
chatType?: ChatType;
// Date and time at which the chat was created. Read-only.
createdDateTime?: NullableOption<string>;
// Date and time at which the chat was renamed or list of members were last changed. Read-only.
lastUpdatedDateTime?: NullableOption<string>;
/**
* Represents details about an online meeting. If the chat isn't associated with an online meeting, the property is empty.
* Read-only.
*/
onlineMeetingInfo?: NullableOption<TeamworkOnlineMeetingInfo>;
// The identifier of the tenant in which the chat was created. Read-only.
tenantId?: NullableOption<string>;
// (Optional) Subject or topic for the chat. Only available for group chats.
topic?: NullableOption<string>;
/**
* Represents caller-specific information about the chat, such as last message read date and time. This property is
* populated only when the request is made in a delegated context.
*/
viewpoint?: NullableOption<ChatViewpoint>;
// The URL for the chat in Microsoft Teams. The URL should be treated as an opaque blob, and not parsed. Read-only.
webUrl?: NullableOption<string>;
// A collection of all the apps in the chat. Nullable.
installedApps?: NullableOption<TeamsAppInstallation[]>;
/**
* Preview of the last message sent in the chat. Null if no messages have been sent in the chat. Currently, only the list
* chats operation supports this property.
*/
lastMessagePreview?: NullableOption<ChatMessageInfo>;
// A collection of all the members in the chat. Nullable.
members?: NullableOption<ConversationMember[]>;
// A collection of all the messages in the chat. Nullable.
messages?: NullableOption<ChatMessage[]>;
// A collection of all the pinned messages in the chat. Nullable.
pinnedMessages?: NullableOption<PinnedChatMessageInfo[]>;
// A collection of all the tabs in the chat. Nullable.
tabs?: NullableOption<TeamsTab[]>;
}
export interface Team extends Entity {
/**
* An optional label. Typically describes the data or business sensitivity of the team. Must match one of a pre-configured
* set in the tenant's directory.
*/
classification?: NullableOption<string>;
// Timestamp at which the team was created.
createdDateTime?: NullableOption<string>;
// An optional description for the team. Maximum length: 1024 characters.
description?: NullableOption<string>;
// The name of the team.
displayName?: NullableOption<string>;
// Settings to configure use of Giphy, memes, and stickers in the team.
funSettings?: NullableOption<TeamFunSettings>;
// Settings to configure whether guests can create, update, or delete channels in the team.
guestSettings?: NullableOption<TeamGuestSettings>;
// A unique ID for the team that has been used in a few places such as the audit log/Office 365 Management Activity API.
internalId?: NullableOption<string>;
// Whether this team is in read-only mode.
isArchived?: NullableOption<boolean>;
/**
* Settings to configure whether members can perform certain actions, for example, create channels and add bots, in the
* team.
*/
memberSettings?: NullableOption<TeamMemberSettings>;
// Settings to configure messaging and mentions in the team.
messagingSettings?: NullableOption<TeamMessagingSettings>;
/**
* Optional. Indicates whether the team is intended for a particular use case. Each team specialization has access to
* unique behaviors and experiences targeted to its use case.
*/
specialization?: NullableOption<TeamSpecialization>;
// Contains summary information about the team, including number of owners, members, and guests.
summary?: NullableOption<TeamSummary>;
// The ID of the Azure Active Directory tenant.
tenantId?: NullableOption<string>;
// The visibility of the group and team. Defaults to Public.
visibility?: NullableOption<TeamVisibilityType>;
/**
* A hyperlink that will go to the team in the Microsoft Teams client. This is the URL that you get when you right-click a
* team in the Microsoft Teams client and select Get link to team. This URL should be treated as an opaque blob, and not
* parsed.
*/
webUrl?: NullableOption<string>;
// List of channels either hosted in or shared with the team (incoming channels).
allChannels?: NullableOption<Channel[]>;
// The collection of channels and messages associated with the team.
channels?: NullableOption<Channel[]>;
group?: NullableOption<Group>;
// List of channels shared with the team.
incomingChannels?: NullableOption<Channel[]>;
// The apps installed in this team.
installedApps?: NullableOption<TeamsAppInstallation[]>;
// Members and owners of the team.
members?: NullableOption<ConversationMember[]>;
// The async operations that ran or are running on this team.
operations?: NullableOption<TeamsAsyncOperation[]>;
// The profile photo for the team.
photo?: NullableOption<ProfilePhoto>;
// The general channel for the team.
primaryChannel?: NullableOption<Channel>;
// The tags associated with the team.
tags?: NullableOption<TeamworkTag[]>;
// The template this team was created from. See available templates.
template?: NullableOption<TeamsTemplate>;
// The schedule of shifts for this team.
schedule?: NullableOption<Schedule>;
}
export interface UserTeamwork extends Entity {
// The list of associatedTeamInfo objects that a user is associated with.
associatedTeams?: NullableOption<AssociatedTeamInfo[]>;
// The apps installed in the personal scope of this user.
installedApps?: NullableOption<UserScopeTeamsAppInstallation[]>;
}
export interface Todo extends Entity {
// The task lists in the users mailbox.
lists?: NullableOption<TodoTaskList[]>;
}
// tslint:disable-next-line: interface-name
export interface Invitation extends Entity {
// The display name of the user being invited.
invitedUserDisplayName?: NullableOption<string>;
/**
* The email address of the user being invited. Required. The following special characters are not permitted in the email
* address:Tilde (~)Exclamation point (!)Number sign (#)Dollar sign ($)Percent (%)Circumflex (^)Ampersand (&amp;)Asterisk
* (*)Parentheses (( ))Plus sign (+)Equal sign (=)Brackets ([ ])Braces ({ })Backslash (/)Slash mark (/)Pipe (/|)Semicolon
* (;)Colon (:)Quotation marks (')Angle brackets (&amp;lt; &amp;gt;)Question mark (?)Comma (,)However, the following
* exceptions apply:A period (.) or a hyphen (-) is permitted anywhere in the user name, except at the beginning or end of
* the name.An underscore (_) is permitted anywhere in the user name. This includes at the beginning or end of the name.
*/
invitedUserEmailAddress?: string;
/**
* Additional configuration for the message being sent to the invited user, including customizing message text, language
* and cc recipient list.
*/
invitedUserMessageInfo?: NullableOption<InvitedUserMessageInfo>;
/**
* The userType of the user being invited. By default, this is Guest. You can invite as Member if you are a company
* administrator.
*/
invitedUserType?: NullableOption<string>;
// The URL the user can use to redeem their invitation. Read-only.
inviteRedeemUrl?: NullableOption<string>;
// The URL the user should be redirected to once the invitation is redeemed. Required.
inviteRedirectUrl?: string;
/**
* Reset the user's redemption status and reinvite a user while retaining their user identifier, group memberships, and
* app assignments. This property allows you to enable a user to sign-in using a different email address from the one in
* the previous invitation. For more information about using this property, see Reset redemption status for a guest user.
*/
resetRedemption?: NullableOption<boolean>;
// Indicates whether an email should be sent to the user being invited. The default is false.
sendInvitationMessage?: NullableOption<boolean>;
// The status of the invitation. Possible values are: PendingAcceptance, Completed, InProgress, and Error.
status?: NullableOption<string>;
// The user created as part of the invitation creation. Read-Only
invitedUser?: NullableOption<User>;
}
export interface Application extends DirectoryObject {
/**
* Defines custom behavior that a consuming service can use to call an app in specific contexts. For example, applications
* that can render file streams may set the addIns property for its 'FileHandler' functionality. This will let services
* like Office 365 call the application in the context of a document the user is working on.
*/
addIns?: AddIn[];
// Specifies settings for an application that implements a web API.
api?: NullableOption<ApiApplication>;
/**
* The unique identifier for the application that is assigned to an application by Azure AD. Not nullable. Read-only.
* Supports $filter (eq).
*/
appId?: NullableOption<string>;
// Unique identifier of the applicationTemplate. Supports $filter (eq, not, ne).
applicationTemplateId?: NullableOption<string>;
/**
* The collection of roles defined for the application. With app role assignments, these roles can be assigned to users,
* groups, or service principals associated with other applications. Not nullable.
*/
appRoles?: AppRole[];
// Specifies the certification status of the application.
certification?: NullableOption<Certification>;
/**
* The date and time the application was registered. The DateTimeOffset type represents date and time information using
* ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Read-only.
* Supports $filter (eq, ne, not, ge, le, in, and eq on null values) and $orderBy.
*/
createdDateTime?: NullableOption<string>;
defaultRedirectUri?: NullableOption<string>;
/**
* Free text field to provide a description of the application object to end users. The maximum allowed size is 1024
* characters. Supports $filter (eq, ne, not, ge, le, startsWith) and $search.
*/
description?: NullableOption<string>;
/**
* Specifies whether Microsoft has disabled the registered application. Possible values are: null (default value),
* NotDisabled, and DisabledDueToViolationOfServicesAgreement (reasons may include suspicious, abusive, or malicious
* activity, or a violation of the Microsoft Services Agreement). Supports $filter (eq, ne, not).
*/
disabledByMicrosoftStatus?: NullableOption<string>;
/**
* The display name for the application. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values),
* $search, and $orderBy.
*/
displayName?: NullableOption<string>;
/**
* Configures the groups claim issued in a user or OAuth 2.0 access token that the application expects. To set this
* attribute, use one of the following valid string values: None, SecurityGroup (for security groups and Azure AD roles),
* All (this gets all of the security groups, distribution groups, and Azure AD directory roles that the signed-in user is
* a member of).
*/
groupMembershipClaims?: NullableOption<string>;
/**
* Also known as App ID URI, this value is set when an application is used as a resource app. The identifierUris acts as
* the prefix for the scopes you'll reference in your API's code, and it must be globally unique. You can use the default
* value provided, which is in the form api://&amp;lt;application-client-id&amp;gt;, or specify a more readable URI like
* https://contoso.com/api. For more information on valid identifierUris patterns and best practices, see Azure AD
* application registration security best practices. Not nullable. Supports $filter (eq, ne, ge, le, startsWith).
*/
identifierUris?: string[];
/**
* Basic profile information of the application such as app's marketing, support, terms of service and privacy statement
* URLs. The terms of service and privacy statement are surfaced to users through the user consent experience. For more
* info, see How to: Add Terms of service and privacy statement for registered Azure AD apps. Supports $filter (eq, ne,
* not, ge, le, and eq on null values).
*/
info?: NullableOption<InformationalUrl>;
// Specifies whether this application supports device authentication without a user. The default is false.
isDeviceOnlyAuthSupported?: NullableOption<boolean>;
/**
* Specifies the fallback application type as public client, such as an installed application running on a mobile device.
* The default value is false which means the fallback application type is confidential client such as a web app. There
* are certain scenarios where Azure AD cannot determine the client application type. For example, the ROPC flow where it
* is configured without specifying a redirect URI. In those cases Azure AD interprets the application type based on the
* value of this property.
*/
isFallbackPublicClient?: NullableOption<boolean>;
// The collection of key credentials associated with the application. Not nullable. Supports $filter (eq, not, ge, le).
keyCredentials?: KeyCredential[];
// The main logo for the application. Not nullable.
logo?: any;
// Notes relevant for the management of the application.
notes?: NullableOption<string>;
oauth2RequirePostResponse?: boolean;
/**
* Application developers can configure optional claims in their Azure AD applications to specify the claims that are sent
* to their application by the Microsoft security token service. For more information, see How to: Provide optional claims
* to your app.
*/
optionalClaims?: NullableOption<OptionalClaims>;
// Specifies parental control settings for an application.
parentalControlSettings?: NullableOption<ParentalControlSettings>;
// The collection of password credentials associated with the application. Not nullable.
passwordCredentials?: PasswordCredential[];
// Specifies settings for installed clients such as desktop or mobile devices.
publicClient?: NullableOption<PublicClientApplication>;
/**
* The verified publisher domain for the application. Read-only. For more information, see How to: Configure an
* application's publisher domain. Supports $filter (eq, ne, ge, le, startsWith).
*/
publisherDomain?: NullableOption<string>;
// Specifies whether this application requires Azure AD to verify the signed authentication requests.
requestSignatureVerification?: NullableOption<RequestSignatureVerification>;
/**
* Specifies the resources that the application needs to access. This property also specifies the set of delegated
* permissions and application roles that it needs for each of those resources. This configuration of access to the
* required resources drives the consent experience. No more than 50 resource services (APIs) can be configured. Beginning
* mid-October 2021, the total number of required permissions must not exceed 400. For more information, see Limits on
* requested permissions per app. Not nullable. Supports $filter (eq, not, ge, le).
*/
requiredResourceAccess?: RequiredResourceAccess[];
/**
* The URL where the service exposes SAML metadata for federation. This property is valid only for single-tenant
* applications. Nullable.
*/
samlMetadataUrl?: NullableOption<string>;
// References application or service contact information from a Service or Asset Management database. Nullable.
serviceManagementReference?: NullableOption<string>;
/**
* Specifies the Microsoft accounts that are supported for the current application. The possible values are: AzureADMyOrg,
* AzureADMultipleOrgs, AzureADandPersonalMicrosoftAccount (default), and PersonalMicrosoftAccount. See more in the table.
* The value of this object also limits the number of permissions an app can request. For more information, see Limits on
* requested permissions per app. The value for this property has implications on other app object properties. As a
* result, if you change this property, you may need to change other properties first. For more information, see
* Validation differences for signInAudience.Supports $filter (eq, ne, not).
*/
signInAudience?: NullableOption<string>;
/**
* Specifies settings for a single-page application, including sign out URLs and redirect URIs for authorization codes and
* access tokens.
*/
spa?: NullableOption<SpaApplication>;
/**
* Custom strings that can be used to categorize and identify the application. Not nullable. Strings added here will also
* appear in the tags property of any associated service principals.Supports $filter (eq, not, ge, le, startsWith) and
* $search.
*/
tags?: string[];
/**
* Specifies the keyId of a public key from the keyCredentials collection. When configured, Azure AD encrypts all the
* tokens it emits by using the key this property points to. The application code that receives the encrypted token must
* use the matching private key to decrypt the token before it can be used for the signed-in user.
*/
tokenEncryptionKeyId?: NullableOption<string>;
/**
* Specifies the verified publisher of the application. For more information about how publisher verification helps
* support application security, trustworthiness, and compliance, see Publisher verification.
*/
verifiedPublisher?: NullableOption<VerifiedPublisher>;
// Specifies settings for a web application.
web?: NullableOption<WebApplication>;
// The appManagementPolicy applied to this application.
appManagementPolicies?: NullableOption<AppManagementPolicy[]>;
// Supports $filter (/$count eq 0, /$count ne 0). Read-only.
createdOnBehalfOf?: NullableOption<DirectoryObject>;
// Read-only. Nullable. Supports $expand and $filter (/$count eq 0, /$count ne 0).
extensionProperties?: NullableOption<ExtensionProperty[]>;
// Federated identities for applications. Supports $expand and $filter (startsWith, /$count eq 0, /$count ne 0).
federatedIdentityCredentials?: NullableOption<FederatedIdentityCredential[]>;
homeRealmDiscoveryPolicies?: NullableOption<HomeRealmDiscoveryPolicy[]>;
/**
* Directory objects that are owners of the application. Read-only. Nullable. Supports $expand and $filter (/$count eq 0,
* /$count ne 0, /$count eq 1, /$count ne 1).
*/
owners?: NullableOption<DirectoryObject[]>;
tokenIssuancePolicies?: NullableOption<TokenIssuancePolicy[]>;
tokenLifetimePolicies?: NullableOption<TokenLifetimePolicy[]>;
synchronization?: NullableOption<Synchronization>;
}
export interface ServicePrincipal extends DirectoryObject {
/**
* true if the service principal account is enabled; otherwise, false. If set to false, then no users will be able to sign
* in to this app, even if they are assigned to it. Supports $filter (eq, ne, not, in).
*/
accountEnabled?: NullableOption<boolean>;
/**
* Defines custom behavior that a consuming service can use to call an app in specific contexts. For example, applications
* that can render file streams may set the addIns property for its 'FileHandler' functionality. This will let services
* like Microsoft 365 call the application in the context of a document the user is working on.
*/
addIns?: AddIn[];
/**
* Used to retrieve service principals by subscription, identify resource group and full resource ids for managed
* identities. Supports $filter (eq, not, ge, le, startsWith).
*/
alternativeNames?: string[];
// The description exposed by the associated application.
appDescription?: NullableOption<string>;
// The display name exposed by the associated application.
appDisplayName?: NullableOption<string>;
/**
* The unique identifier for the associated application (its appId property). Supports $filter (eq, ne, not, in,
* startsWith).
*/
appId?: NullableOption<string>;
/**
* Unique identifier of the applicationTemplate that the servicePrincipal was created from. Read-only. Supports $filter
* (eq, ne, NOT, startsWith).
*/
applicationTemplateId?: NullableOption<string>;
/**
* Contains the tenant id where the application is registered. This is applicable only to service principals backed by
* applications. Supports $filter (eq, ne, NOT, ge, le).
*/
appOwnerOrganizationId?: NullableOption<string>;
/**
* Specifies whether users or other service principals need to be granted an app role assignment for this service
* principal before users can sign in or apps can get tokens. The default value is false. Not nullable. Supports $filter
* (eq, ne, NOT).
*/
appRoleAssignmentRequired?: boolean;
/**
* The roles exposed by the application which this service principal represents. For more information see the appRoles
* property definition on the application entity. Not nullable.
*/
appRoles?: AppRole[];
/**
* Free text field to provide an internal end-user facing description of the service principal. End-user portals such
* MyApps will display the application description in this field. The maximum allowed size is 1024 characters. Supports
* $filter (eq, ne, not, ge, le, startsWith) and $search.
*/
description?: NullableOption<string>;
/**
* Specifies whether Microsoft has disabled the registered application. Possible values are: null (default value),
* NotDisabled, and DisabledDueToViolationOfServicesAgreement (reasons may include suspicious, abusive, or malicious
* activity, or a violation of the Microsoft Services Agreement). Supports $filter (eq, ne, not).
*/
disabledByMicrosoftStatus?: NullableOption<string>;
/**
* The display name for the service principal. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null
* values), $search, and $orderBy.
*/
displayName?: NullableOption<string>;
// Home page or landing page of the application.
homepage?: NullableOption<string>;
/**
* Basic profile information of the acquired application such as app's marketing, support, terms of service and privacy
* statement URLs. The terms of service and privacy statement are surfaced to users through the user consent experience.
* For more info, see How to: Add Terms of service and privacy statement for registered Azure AD apps. Supports $filter
* (eq, ne, not, ge, le, and eq on null values).
*/
info?: NullableOption<InformationalUrl>;
/**
* The collection of key credentials associated with the service principal. Not nullable. Supports $filter (eq, not, ge,
* le).
*/
keyCredentials?: KeyCredential[];
/**
* Specifies the URL where the service provider redirects the user to Azure AD to authenticate. Azure AD uses the URL to
* launch the application from Microsoft 365 or the Azure AD My Apps. When blank, Azure AD performs IdP-initiated sign-on
* for applications configured with SAML-based single sign-on. The user launches the application from Microsoft 365, the
* Azure AD My Apps, or the Azure AD SSO URL.
*/
loginUrl?: NullableOption<string>;
/**
* Specifies the URL that will be used by Microsoft's authorization service to logout an user using OpenId Connect
* front-channel, back-channel or SAML logout protocols.
*/
logoutUrl?: NullableOption<string>;
/**
* Free text field to capture information about the service principal, typically used for operational purposes. Maximum
* allowed size is 1024 characters.
*/
notes?: NullableOption<string>;
/**
* Specifies the list of email addresses where Azure AD sends a notification when the active certificate is near the
* expiration date. This is only for the certificates used to sign the SAML token issued for Azure AD Gallery
* applications.
*/
notificationEmailAddresses?: string[];
/**
* The delegated permissions exposed by the application. For more information see the oauth2PermissionScopes property on
* the application entity's api property. Not nullable.
*/
oauth2PermissionScopes?: PermissionScope[];
// The collection of password credentials associated with the application. Not nullable.
passwordCredentials?: PasswordCredential[];
/**
* Specifies the single sign-on mode configured for this application. Azure AD uses the preferred single sign-on mode to
* launch the application from Microsoft 365 or the Azure AD My Apps. The supported values are password, saml,
* notSupported, and oidc.
*/
preferredSingleSignOnMode?: NullableOption<string>;
/**
* This property can be used on SAML applications (apps that have preferredSingleSignOnMode set to saml) to control which
* certificate is used to sign the SAML responses. For applications that are not SAML, do not write or otherwise rely on
* this property.
*/
preferredTokenSigningKeyThumbprint?: NullableOption<string>;
/**
* The URLs that user tokens are sent to for sign in with the associated application, or the redirect URIs that OAuth 2.0
* authorization codes and access tokens are sent to for the associated application. Not nullable.
*/
replyUrls?: string[];
/**
* The resource-specific application permissions exposed by this application. Currently, resource-specific permissions are
* only supported for Teams apps accessing to specific chats and teams using Microsoft Graph. Read-only.
*/
resourceSpecificApplicationPermissions?: ResourceSpecificPermission[];
// The collection for settings related to saml single sign-on.
samlSingleSignOnSettings?: NullableOption<SamlSingleSignOnSettings>;
/**
* Contains the list of identifiersUris, copied over from the associated application. Additional values can be added to
* hybrid applications. These values can be used to identify the permissions exposed by this app within Azure AD. For
* example,Client apps can specify a resource URI which is based on the values of this property to acquire an access
* token, which is the URI returned in the 'aud' claim.The any operator is required for filter expressions on multi-valued
* properties. Not nullable. Supports $filter (eq, not, ge, le, startsWith).
*/
servicePrincipalNames?: string[];
/**
* Identifies whether the service principal represents an application, a managed identity, or a legacy application. This
* is set by Azure AD internally. The servicePrincipalType property can be set to three different values: __Application -
* A service principal that represents an application or service. The appId property identifies the associated app
* registration, and matches the appId of an application, possibly from a different tenant. If the associated app
* registration is missing, tokens are not issued for the service principal.__ManagedIdentity - A service principal that
* represents a managed identity. Service principals representing managed identities can be granted access and
* permissions, but cannot be updated or modified directly.__Legacy - A service principal that represents an app created
* before app registrations, or through legacy experiences. Legacy service principal can have credentials, service
* principal names, reply URLs, and other properties which are editable by an authorized user, but does not have an
* associated app registration. The appId value does not associate the service principal with an app registration. The
* service principal can only be used in the tenant where it was created.__SocialIdp - For internal use.
*/
servicePrincipalType?: NullableOption<string>;
/**
* Specifies the Microsoft accounts that are supported for the current application. Read-only. Supported values
* are:AzureADMyOrg: Users with a Microsoft work or school account in my organization's Azure AD tenant
* (single-tenant).AzureADMultipleOrgs: Users with a Microsoft work or school account in any organization's Azure AD
* tenant (multi-tenant).AzureADandPersonalMicrosoftAccount: Users with a personal Microsoft account, or a work or school
* account in any organization's Azure AD tenant.PersonalMicrosoftAccount: Users with a personal Microsoft account only.
*/
signInAudience?: NullableOption<string>;
/**
* Custom strings that can be used to categorize and identify the service principal. Not nullable. The value is the union
* of strings set here and on the associated application entity's tags property.Supports $filter (eq, not, ge, le,
* startsWith).
*/
tags?: string[];
/**
* Specifies the keyId of a public key from the keyCredentials collection. When configured, Azure AD issues tokens for
* this application encrypted using the key specified by this property. The application code that receives the encrypted
* token must use the matching private key to decrypt the token before it can be used for the signed-in user.
*/
tokenEncryptionKeyId?: NullableOption<string>;
// Specifies the verified publisher of the application which this service principal represents.
verifiedPublisher?: NullableOption<VerifiedPublisher>;
// The appManagementPolicy applied to this application.
appManagementPolicies?: NullableOption<AppManagementPolicy[]>;
// App role assignments for this app or service, granted to users, groups, and other service principals. Supports $expand.
appRoleAssignedTo?: NullableOption<AppRoleAssignment[]>;
// App role assignment for another app or service, granted to this service principal. Supports $expand.
appRoleAssignments?: NullableOption<AppRoleAssignment[]>;
// The claimsMappingPolicies assigned to this service principal. Supports $expand.
claimsMappingPolicies?: NullableOption<ClaimsMappingPolicy[]>;
// Directory objects created by this service principal. Read-only. Nullable.
createdObjects?: NullableOption<DirectoryObject[]>;
delegatedPermissionClassifications?: NullableOption<DelegatedPermissionClassification[]>;
endpoints?: NullableOption<Endpoint[]>;
/**
* Federated identities for a specific type of service principal - managed identity. Supports $expand and $filter (/$count
* eq 0, /$count ne 0).
*/
federatedIdentityCredentials?: NullableOption<FederatedIdentityCredential[]>;
// The homeRealmDiscoveryPolicies assigned to this service principal. Supports $expand.
homeRealmDiscoveryPolicies?: NullableOption<HomeRealmDiscoveryPolicy[]>;
// Roles that this service principal is a member of. HTTP Methods: GET Read-only. Nullable. Supports $expand.
memberOf?: NullableOption<DirectoryObject[]>;
/**
* Delegated permission grants authorizing this service principal to access an API on behalf of a signed-in user.
* Read-only. Nullable.
*/
oauth2PermissionGrants?: NullableOption<OAuth2PermissionGrant[]>;
/**
* Directory objects that are owned by this service principal. Read-only. Nullable. Supports $expand and $filter (/$count
* eq 0, /$count ne 0, /$count eq 1, /$count ne 1).
*/
ownedObjects?: NullableOption<DirectoryObject[]>;
/**
* Directory objects that are owners of this servicePrincipal. The owners are a set of non-admin users or
* servicePrincipals who are allowed to modify this object. Read-only. Nullable. Supports $expand and $filter (/$count eq
* 0, /$count ne 0, /$count eq 1, /$count ne 1).
*/
owners?: NullableOption<DirectoryObject[]>;
// The tokenIssuancePolicies assigned to this service principal.
tokenIssuancePolicies?: NullableOption<TokenIssuancePolicy[]>;
// The tokenLifetimePolicies assigned to this service principal.
tokenLifetimePolicies?: NullableOption<TokenLifetimePolicy[]>;
transitiveMemberOf?: NullableOption<DirectoryObject[]>;
synchronization?: NullableOption<Synchronization>;
}
export interface PolicyBase extends DirectoryObject {
// Description for this policy. Required.
description?: NullableOption<string>;
// Display name for this policy. Required.
displayName?: NullableOption<string>;
}
export interface AppManagementPolicy extends PolicyBase {
// Denotes whether the policy is enabled.
isEnabled?: boolean;
// Restrictions that apply to an application or service principal object.
restrictions?: NullableOption<AppManagementConfiguration>;
// Collection of applications and service principals to which the policy is applied.
appliesTo?: NullableOption<DirectoryObject[]>;
}
export interface ExtensionProperty extends DirectoryObject {
// Display name of the application object on which this extension property is defined. Read-only.
appDisplayName?: NullableOption<string>;
/**
* Specifies the data type of the value the extension property can hold. Following values are supported. Not nullable.
* Binary - 256 bytes maximumBooleanDateTime - Must be specified in ISO 8601 format. Will be stored in UTC.Integer -
* 32-bit value.LargeInteger - 64-bit value.String - 256 characters maximum
*/
dataType?: string;
// Indicates if this extension property was synced from on-premises active directory using Azure AD Connect. Read-only.
isSyncedFromOnPremises?: NullableOption<boolean>;
// Name of the extension property. Not nullable. Supports $filter (eq).
name?: string;
// Following values are supported. Not nullable. UserGroupAdministrativeUnitApplicationDeviceOrganization
targetObjects?: string[];
}
export interface FederatedIdentityCredential extends Entity {
/**
* The audience that can appear in the external token. This field is mandatory and should be set to
* api://AzureADTokenExchange for Azure AD. It says what Microsoft identity platform should accept in the aud claim in the
* incoming token. This value represents Azure AD in your external identity provider and has no fixed value across
* identity providers - you may need to create a new application registration in your identity provider to serve as the
* audience of this token. This field can only accept a single value and has a limit of 600 characters. Required.
*/
audiences?: string[];
/**
* The un-validated, user-provided description of the federated identity credential. It has a limit of 600 characters.
* Optional.
*/
description?: NullableOption<string>;
/**
* The URL of the external identity provider and must match the issuer claim of the external token being exchanged. The
* combination of the values of issuer and subject must be unique on the app. It has a limit of 600 characters. Required.
*/
issuer?: string;
/**
* is the unique identifier for the federated identity credential, which has a limit of 120 characters and must be URL
* friendly. It is immutable once created. Required. Not nullable. Supports $filter (eq).
*/
name?: string;
/**
* Required. The identifier of the external software workload within the external identity provider. Like the audience
* value, it has no fixed format, as each identity provider uses their own - sometimes a GUID, sometimes a colon delimited
* identifier, sometimes arbitrary strings. The value here must match the sub claim within the token presented to Azure
* AD. The combination of issuer and subject must be unique on the app. It has a limit of 600 characters. Supports $filter
* (eq).
*/
subject?: string;
}
export interface StsPolicy extends PolicyBase {
/**
* A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the
* definition differs for each derived policy type. Required.
*/
definition?: string[];
/**
* If set to true, activates this policy. There can be many policies for the same policy type, but only one can be
* activated as the organization default. Optional, default value is false.
*/
isOrganizationDefault?: NullableOption<boolean>;
appliesTo?: NullableOption<DirectoryObject[]>;
}
// tslint:disable-next-line: no-empty-interface
export interface HomeRealmDiscoveryPolicy extends StsPolicy {}
// tslint:disable-next-line: no-empty-interface
export interface TokenIssuancePolicy extends StsPolicy {}
// tslint:disable-next-line: no-empty-interface
export interface TokenLifetimePolicy extends StsPolicy {}
export interface Synchronization extends Entity {
secrets?: NullableOption<SynchronizationSecretKeyStringValuePair[]>;
jobs?: NullableOption<SynchronizationJob[]>;
templates?: NullableOption<SynchronizationTemplate[]>;
}
export interface ApplicationTemplate extends Entity {
/**
* The list of categories for the application. Supported values can be: Collaboration, Business Management, Consumer,
* Content management, CRM, Data services, Developer services, E-commerce, Education, ERP, Finance, Health, Human
* resources, IT infrastructure, Mail, Management, Marketing, Media, Productivity, Project management, Telecommunications,
* Tools, Travel, and Web design &amp; hosting.
*/
categories?: NullableOption<string[]>;
// A description of the application.
description?: NullableOption<string>;
// The name of the application.
displayName?: NullableOption<string>;
// The home page URL of the application.
homePageUrl?: NullableOption<string>;
// The URL to get the logo for this application.
logoUrl?: NullableOption<string>;
// The name of the publisher for this application.
publisher?: NullableOption<string>;
// The list of provisioning modes supported by this application. The only valid value is sync.
supportedProvisioningTypes?: NullableOption<string[]>;
/**
* The list of single sign-on modes supported by this application. The supported values are oidc, password, saml, and
* notSupported.
*/
supportedSingleSignOnModes?: NullableOption<string[]>;
}
// tslint:disable-next-line: no-empty-interface
export interface ClaimsMappingPolicy extends StsPolicy {}
export interface DelegatedPermissionClassification extends Entity {
// The classification value being given. Possible value: low. Does not support $filter.
classification?: NullableOption<PermissionClassificationType>;
/**
* The unique identifier (id) for the delegated permission listed in the oauth2PermissionScopes collection of the
* servicePrincipal. Required on create. Does not support $filter.
*/
permissionId?: NullableOption<string>;
/**
* The claim value (value) for the delegated permission listed in the oauth2PermissionScopes collection of the
* servicePrincipal. Does not support $filter.
*/
permissionName?: NullableOption<string>;
}
export interface Endpoint extends DirectoryObject {
capability?: string;
providerId?: NullableOption<string>;
providerName?: NullableOption<string>;
providerResourceId?: NullableOption<string>;
uri?: string;
}
export interface AuthenticationCombinationConfiguration extends Entity {
/**
* Which authentication method combinations this configuration applies to. Must be an allowedCombinations object that's
* defined for the authenticationStrengthPolicy. The only possible value for fido2combinationConfigurations is 'fido2'.
*/
appliesToCombinations?: AuthenticationMethodModes[];
}
export interface AuthenticationMethodConfiguration extends Entity {
// Groups of users that are excluded from a policy.
excludeTargets?: NullableOption<ExcludeTarget[]>;
// The state of the policy. Possible values are: enabled, disabled.
state?: NullableOption<AuthenticationMethodState>;
}
export interface AuthenticationMethodModeDetail extends Entity {
/**
* The authentication method that this mode modifies. The possible values are: password, voice, hardwareOath,
* softwareOath, sms, fido2, windowsHelloForBusiness, microsoftAuthenticator, temporaryAccessPass, email, x509Certificate,
* federation, unknownFutureValue.
*/
authenticationMethod?: BaseAuthenticationMethod;
// The display name of this mode
displayName?: string;
}
export interface AuthenticationMethodsPolicy extends Entity {
// A description of the policy. Read-only.
description?: NullableOption<string>;
// The name of the policy. Read-only.
displayName?: NullableOption<string>;
// The date and time of the last update to the policy. Read-only.
lastModifiedDateTime?: NullableOption<string>;
/**
* The state of migration of the authentication methods policy from the legacy multifactor authentication and self-service
* password reset (SSPR) policies. The possible values are: premigration - means the authentication methods policy is used
* for authentication only, legacy policies are respected. migrationInProgress - means the authentication methods policy
* is used for both authentication and SSPR, legacy policies are respected. migrationComplete - means the authentication
* methods policy is used for authentication and SSPR, legacy policies are ignored. unknownFutureValue - Evolvable
* enumeration sentinel value. Do not use.
*/
policyMigrationState?: NullableOption<AuthenticationMethodsPolicyMigrationState>;
// The version of the policy in use. Read-only.
policyVersion?: NullableOption<string>;
reconfirmationInDays?: NullableOption<number>;
/**
* Enforce registration at sign-in time. This property can be used to remind users to set up targeted authentication
* methods.
*/
registrationEnforcement?: NullableOption<RegistrationEnforcement>;
/**
* Represents the settings for each authentication method. Automatically expanded on GET
* /policies/authenticationMethodsPolicy.
*/
authenticationMethodConfigurations?: NullableOption<AuthenticationMethodConfiguration[]>;
}
export interface AuthenticationMethodTarget extends Entity {
// Determines if the user is enforced to register the authentication method.
isRegistrationRequired?: boolean;
// Possible values are: user, group.
targetType?: AuthenticationMethodTargetType;
}
export interface AuthenticationStrengthPolicy extends Entity {
// A collection of authentication method modes that are required be used to satify this authentication strength.
allowedCombinations?: AuthenticationMethodModes[];
// The datetime when this policy was created.
createdDateTime?: string;
// The human-readable description of this policy.
description?: NullableOption<string>;
// The human-readable display name of this policy. Supports $filter (eq, ne, not , and in).
displayName?: string;
// The datetime when this policy was last modified.
modifiedDateTime?: string;
/**
* A descriptor of whether this policy is built into Azure AD or created by an admin for the tenant. The possible values
* are: builtIn, custom, unknownFutureValue. Supports $filter (eq, ne, not , and in).
*/
policyType?: AuthenticationStrengthPolicyType;
/**
* A descriptor of whether this authentication strength grants the MFA claim upon successful satisfaction. The possible
* values are: none, mfa, unknownFutureValue.
*/
requirementsSatisfied?: AuthenticationStrengthRequirements;
/**
* Settings that may be used to require specific types or instances of an authentication method to be used when
* authenticating with a specified combination of authentication methods.
*/
combinationConfigurations?: NullableOption<AuthenticationCombinationConfiguration[]>;
}
export interface AuthenticationStrengthRoot extends Entity {
combinations?: AuthenticationMethodModes[];
// Names and descriptions of all valid authentication method modes in the system.
authenticationMethodModes?: NullableOption<AuthenticationMethodModeDetail[]>;
/**
* A collection of authentication strength policies that exist for this tenant, including both built-in and custom
* policies.
*/
policies?: NullableOption<AuthenticationStrengthPolicy[]>;
}
export interface ConditionalAccessRoot extends Entity {
authenticationStrength?: NullableOption<AuthenticationStrengthRoot>;
// Read-only. Nullable. Returns a collection of the specified authentication context class references.
authenticationContextClassReferences?: NullableOption<AuthenticationContextClassReference[]>;
// Read-only. Nullable. Returns a collection of the specified named locations.
namedLocations?: NullableOption<NamedLocation[]>;
// Read-only. Nullable. Returns a collection of the specified Conditional Access (CA) policies.
policies?: NullableOption<ConditionalAccessPolicy[]>;
// Read-only. Nullable. Returns a collection of the specified Conditional Access templates.
templates?: NullableOption<ConditionalAccessTemplate[]>;
}
export interface AuthenticationContextClassReference extends Entity {
/**
* A short explanation of the policies that are enforced by authenticationContextClassReference. This value should be used
* to provide secondary text to describe the authentication context class reference when building user-facing admin
* experiences. For example, a selection UX.
*/
description?: NullableOption<string>;
/**
* The display name is the friendly name of the authenticationContextClassReference object. This value should be used to
* identify the authentication context class reference when building user-facing admin experiences. For example, a
* selection UX.
*/
displayName?: NullableOption<string>;
/**
* Indicates whether the authenticationContextClassReference has been published by the security admin and is ready for use
* by apps. When it is set to false, it should not be shown in authentication context selection UX, or used to protect app
* resources. It will be shown and available for Conditional Access policy authoring. The default value is false. Supports
* $filter (eq).
*/
isAvailable?: NullableOption<boolean>;
}
export interface NamedLocation extends Entity {
/**
* The Timestamp type represents creation date and time of the location using ISO 8601 format and is always in UTC time.
* For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Read-only.
*/
createdDateTime?: NullableOption<string>;
// Human-readable name of the location.
displayName?: string;
/**
* The Timestamp type represents last modified date and time of the location using ISO 8601 format and is always in UTC
* time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Read-only.
*/
modifiedDateTime?: NullableOption<string>;
}
export interface ConditionalAccessPolicy extends Entity {
// Specifies the rules that must be met for the policy to apply. Required.
conditions?: ConditionalAccessConditionSet;
/**
* 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 is 2014-01-01T00:00:00Z. Readonly.
*/
createdDateTime?: NullableOption<string>;
description?: NullableOption<string>;
// Specifies a display name for the conditionalAccessPolicy object.
displayName?: string;
// Specifies the grant controls that must be fulfilled to pass the policy.
grantControls?: NullableOption<ConditionalAccessGrantControls>;
/**
* 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 is 2014-01-01T00:00:00Z. Readonly.
*/
modifiedDateTime?: NullableOption<string>;
// Specifies the session controls that are enforced after sign-in.
sessionControls?: NullableOption<ConditionalAccessSessionControls>;
/**
* Specifies the state of the conditionalAccessPolicy object. Possible values are: enabled, disabled,
* enabledForReportingButNotEnforced. Required.
*/
state?: ConditionalAccessPolicyState;
}
export interface ConditionalAccessTemplate extends Entity {
// The user-friendly name of the template.
description?: string;
/**
* Complete list of policy details specific to the template. This property contains the JSON of policy settings for
* configuring a Conditional Access policy.
*/
details?: ConditionalAccessPolicyDetail;
// The user-friendly name of the template.
name?: string;
/**
* List of conditional access scenarios that the template is recommended for. The possible values are: new,
* secureFoundation, zeroTrust, remoteWork, protectAdmins, emergingThreats, unknownFutureValue. This is a multi-valued
* enum. Supports $filter (has).
*/
scenarios?: TemplateScenarios;
}
export interface EmailAuthenticationMethodConfiguration extends AuthenticationMethodConfiguration {
/**
* Determines whether email OTP is usable by external users for authentication. Possible values are: default, enabled,
* disabled, unknownFutureValue. Tenants in the default state who did not use public preview will automatically have email
* OTP enabled beginning in October 2021.
*/
allowExternalIdToUseEmailOtp?: NullableOption<ExternalEmailOtpState>;
// A collection of groups that are enabled to use the authentication method.
includeTargets?: NullableOption<AuthenticationMethodTarget[]>;
}
export interface Fido2AuthenticationMethodConfiguration extends AuthenticationMethodConfiguration {
// Determines whether attestation must be enforced for FIDO2 security key registration.
isAttestationEnforced?: NullableOption<boolean>;
// Determines if users can register new FIDO2 security keys.
isSelfServiceRegistrationAllowed?: NullableOption<boolean>;
/**
* Controls whether key restrictions are enforced on FIDO2 security keys, either allowing or disallowing certain key types
* as defined by Authenticator Attestation GUID (AAGUID), an identifier that indicates the type (e.g. make and model) of
* the authenticator.
*/
keyRestrictions?: NullableOption<Fido2KeyRestrictions>;
// A collection of groups that are enabled to use the authentication method.
includeTargets?: NullableOption<AuthenticationMethodTarget[]>;
}
export interface Fido2CombinationConfiguration extends AuthenticationCombinationConfiguration {
// A list of AAGUIDs allowed to be used as part of the specified authentication method combinations.
allowedAAGUIDs?: string[];
}
export interface MicrosoftAuthenticatorAuthenticationMethodConfiguration extends AuthenticationMethodConfiguration {
/**
* A collection of Microsoft Authenticator settings such as application context and location context, and whether they are
* enabled for all users or specific users only.
*/
featureSettings?: NullableOption<MicrosoftAuthenticatorFeatureSettings>;
isSoftwareOathEnabled?: NullableOption<boolean>;
// A collection of groups that are enabled to use the authentication method. Expanded by default.
includeTargets?: NullableOption<MicrosoftAuthenticatorAuthenticationMethodTarget[]>;
}
export interface MicrosoftAuthenticatorAuthenticationMethodTarget extends AuthenticationMethodTarget {
/**
* Determines which types of notifications can be used for sign-in. Possible values are: any, deviceBasedPush
* (passwordless only), push.
*/
authenticationMode?: MicrosoftAuthenticatorAuthenticationMode;
}
export interface PolicyRoot extends Entity {
/**
* The authentication methods and the users that are allowed to use them to sign in and perform multifactor authentication
* (MFA) in Azure Active Directory (Azure AD).
*/
authenticationMethodsPolicy?: NullableOption<AuthenticationMethodsPolicy>;
// The authentication method combinations that are to be used in scenarios defined by Azure AD Conditional Access.
authenticationStrengthPolicies?: NullableOption<AuthenticationStrengthPolicy[]>;
// The policy configuration of the self-service sign-up experience of external users.
authenticationFlowsPolicy?: NullableOption<AuthenticationFlowsPolicy>;
// The policy that controls the idle time out for web sessions for applications.
activityBasedTimeoutPolicies?: NullableOption<ActivityBasedTimeoutPolicy[]>;
/**
* The policies that enforce app management restrictions for specific applications and service principals, overriding the
* defaultAppManagementPolicy.
*/
appManagementPolicies?: NullableOption<AppManagementPolicy[]>;
// The policy that controls Azure AD authorization settings.
authorizationPolicy?: NullableOption<AuthorizationPolicy>;
/**
* The claim-mapping policies for WS-Fed, SAML, OAuth 2.0, and OpenID Connect protocols, for tokens issued to a specific
* application.
*/
claimsMappingPolicies?: NullableOption<ClaimsMappingPolicy[]>;
// The custom rules that define an access scenario when interacting with external Azure AD tenants.
crossTenantAccessPolicy?: NullableOption<CrossTenantAccessPolicy>;
// The tenant-wide policy that enforces app management restrictions for all applications and service principals.
defaultAppManagementPolicy?: NullableOption<TenantAppManagementPolicy>;
// The policy to control Azure AD authentication behavior for federated users.
homeRealmDiscoveryPolicies?: NullableOption<HomeRealmDiscoveryPolicy[]>;
// The policy that specifies the conditions under which consent can be granted.
permissionGrantPolicies?: NullableOption<PermissionGrantPolicy[]>;
// The policy that specifies the characteristics of SAML tokens issued by Azure AD.
tokenIssuancePolicies?: NullableOption<TokenIssuancePolicy[]>;
// The policy that controls the lifetime of a JWT access token, an ID token, or a SAML 1.1/2.0 token issued by Azure AD.
tokenLifetimePolicies?: NullableOption<TokenLifetimePolicy[]>;
// The feature rollout policy associated with a directory object.
featureRolloutPolicies?: NullableOption<FeatureRolloutPolicy[]>;
// The policy by which consent requests are created and managed for the entire tenant.
adminConsentRequestPolicy?: NullableOption<AdminConsentRequestPolicy>;
// The custom rules that define an access scenario.
conditionalAccessPolicies?: NullableOption<ConditionalAccessPolicy[]>;
// The policy that represents the security defaults that protect against common attacks.
identitySecurityDefaultsEnforcementPolicy?: NullableOption<IdentitySecurityDefaultsEnforcementPolicy>;
// Specifies the various policies associated with scopes and roles.
roleManagementPolicies?: NullableOption<UnifiedRoleManagementPolicy[]>;
// The assignment of a role management policy to a role definition object.
roleManagementPolicyAssignments?: NullableOption<UnifiedRoleManagementPolicyAssignment[]>;
}
export interface AuthenticationFlowsPolicy extends Entity {
// Inherited property. A description of the policy. Optional. Read-only.
description?: NullableOption<string>;
// Inherited property. The human-readable name of the policy. Optional. Read-only.
displayName?: NullableOption<string>;
/**
* Contains selfServiceSignUpAuthenticationFlowConfiguration settings that convey whether self-service sign-up is enabled
* or disabled. Optional. Read-only.
*/
selfServiceSignUp?: NullableOption<SelfServiceSignUpAuthenticationFlowConfiguration>;
}
// tslint:disable-next-line: no-empty-interface
export interface ActivityBasedTimeoutPolicy extends StsPolicy {}
export interface AuthorizationPolicy extends PolicyBase {
// Indicates whether users can sign up for email based subscriptions.
allowedToSignUpEmailBasedSubscriptions?: boolean;
// Indicates whether users can use the Self-Serve Password Reset feature on the tenant.
allowedToUseSSPR?: boolean;
// Indicates whether a user can join the tenant by email validation.
allowEmailVerifiedUsersToJoinOrganization?: boolean;
/**
* Indicates who can invite external users to the organization. Possible values are: none, adminsAndGuestInviters,
* adminsGuestInvitersAndAllMembers, everyone. everyone is the default setting for all cloud environments except US
* Government. For more details, see allowInvitesFrom values.
*/
allowInvitesFrom?: NullableOption<AllowInvitesFrom>;
// Indicates whether user consent for risky apps is allowed. We recommend to keep this as false. Default value is false.
allowUserConsentForRiskyApps?: NullableOption<boolean>;
/**
* To disable the use of MSOL PowerShell, set this property to true. This also disables user-based access to the legacy
* service endpoint used by MSOL PowerShell. This does not affect Azure Active Directory Connect or Microsoft Graph.
*/
blockMsolPowerShell?: NullableOption<boolean>;
// Specifies certain customizable permissions for default user role.
defaultUserRolePermissions?: DefaultUserRolePermissions;
/**
* Represents role templateId for the role that should be granted to guest user. Currently following roles are supported:
* User (a0b1b346-4d3e-4e8b-98f8-753987be4970), Guest User (10dae51f-b6af-4016-8d66-8c2a99b929b3), and Restricted Guest
* User (2af84b1e-32c8-42b7-82bc-daa82404023b).
*/
guestUserRoleId?: NullableOption<string>;
}
export interface CrossTenantAccessPolicy extends PolicyBase {
/**
* Used to specify which Microsoft clouds an organization would like to collaborate with. By default, this value is empty.
* Supported values for this field are: microsoftonline.com, microsoftonline.us, and partner.microsoftonline.cn.
*/
allowedCloudEndpoints?: string[];
/**
* Defines the default configuration for how your organization interacts with external Azure Active Directory
* organizations.
*/
default?: NullableOption<CrossTenantAccessPolicyConfigurationDefault>;
// Defines partner-specific configurations for external Azure Active Directory organizations.
partners?: NullableOption<CrossTenantAccessPolicyConfigurationPartner[]>;
}
export interface TenantAppManagementPolicy extends PolicyBase {
// Restrictions that apply as default to all application objects in the tenant.
applicationRestrictions?: NullableOption<AppManagementConfiguration>;
// Denotes whether the policy is enabled. Default value is false.
isEnabled?: boolean;
// Restrictions that apply as default to all service principal objects in the tenant.
servicePrincipalRestrictions?: NullableOption<AppManagementConfiguration>;
}
export interface PermissionGrantPolicy extends PolicyBase {
// Condition sets which are excluded in this permission grant policy. Automatically expanded on GET.
excludes?: NullableOption<PermissionGrantConditionSet[]>;
// Condition sets which are included in this permission grant policy. Automatically expanded on GET.
includes?: NullableOption<PermissionGrantConditionSet[]>;
}
export interface FeatureRolloutPolicy extends Entity {
// A description for this feature rollout policy.
description?: NullableOption<string>;
// The display name for this feature rollout policy.
displayName?: string;
// Possible values are: passthroughAuthentication, seamlessSso, passwordHashSync, emailAsAlternateId, unknownFutureValue.
feature?: StagedFeatureName;
// Indicates whether this feature rollout policy should be applied to the entire organization.
isAppliedToOrganization?: boolean;
// Indicates whether the feature rollout is enabled.
isEnabled?: boolean;
// Nullable. Specifies a list of directoryObjects that feature is enabled for.
appliesTo?: NullableOption<DirectoryObject[]>;
}
export interface AdminConsentRequestPolicy extends Entity {
// Specifies whether the admin consent request feature is enabled or disabled. Required.
isEnabled?: boolean;
// Specifies whether reviewers will receive notifications. Required.
notifyReviewers?: boolean;
// Specifies whether reviewers will receive reminder emails. Required.
remindersEnabled?: boolean;
// Specifies the duration the request is active before it automatically expires if no decision is applied.
requestDurationInDays?: number;
// The list of reviewers for the admin consent. Required.
reviewers?: NullableOption<AccessReviewReviewerScope[]>;
// Specifies the version of this policy. When the policy is updated, this version is updated. Read-only.
version?: number;
}
// tslint:disable-next-line: interface-name
export interface IdentitySecurityDefaultsEnforcementPolicy extends PolicyBase {
// If set to true, Azure Active Directory security defaults is enabled for the tenant.
isEnabled?: boolean;
}
export interface UnifiedRoleManagementPolicy extends Entity {
// Description for the policy.
description?: string;
// Display name for the policy.
displayName?: string;
/**
* This can only be set to true for a single tenant-wide policy which will apply to all scopes and roles. Set the scopeId
* to / and scopeType to Directory. Supports $filter (eq, ne).
*/
isOrganizationDefault?: NullableOption<boolean>;
// The identity who last modified the role setting.
lastModifiedBy?: NullableOption<Identity>;
// The time when the role setting was last modified.
lastModifiedDateTime?: NullableOption<string>;
// The identifier of the scope where the policy is created. Can be / for the tenant or a group ID. Required.
scopeId?: string;
// The type of the scope where the policy is created. One of Directory, DirectoryRole. Required.
scopeType?: string;
/**
* The list of effective rules like approval rules and expiration rules evaluated based on inherited referenced rules. For
* example, if there is a tenant-wide policy to enforce enabling an approval rule, the effective rule will be to enable
* approval even if the policy has a rule to disable approval. Supports $expand.
*/
effectiveRules?: NullableOption<UnifiedRoleManagementPolicyRule[]>;
// The collection of rules like approval rules and expiration rules. Supports $expand.
rules?: NullableOption<UnifiedRoleManagementPolicyRule[]>;
}
export interface UnifiedRoleManagementPolicyAssignment extends Entity {
// The id of the policy. Inherited from entity.
policyId?: string;
/**
* The identifier of the role definition object where the policy applies. If not specified, the policy applies to all
* roles. Supports $filter (eq).
*/
roleDefinitionId?: NullableOption<string>;
// The identifier of the scope where the policy is assigned. Can be / for the tenant or a group ID. Required.
scopeId?: string;
// The type of the scope where the policy is assigned. One of Directory, DirectoryRole. Required.
scopeType?: string;
/**
* The policy that's associated with a policy assignment. Supports $expand and a nested $expand of the rules and
* effectiveRules relationships for the policy.
*/
policy?: NullableOption<UnifiedRoleManagementPolicy>;
}
export interface SmsAuthenticationMethodConfiguration extends AuthenticationMethodConfiguration {
// A collection of groups that are enabled to use the authentication method.
includeTargets?: NullableOption<SmsAuthenticationMethodTarget[]>;
}
export interface SmsAuthenticationMethodTarget extends AuthenticationMethodTarget {
/**
* Determines if users can use this authentication method to sign in to Azure AD. true if users can use this method for
* primary authentication, otherwise false.
*/
isUsableForSignIn?: boolean;
}
export interface SoftwareOathAuthenticationMethodConfiguration extends AuthenticationMethodConfiguration {
// A collection of groups that are enabled to use the authentication method. Expanded by default.
includeTargets?: NullableOption<AuthenticationMethodTarget[]>;
}
export interface TemporaryAccessPassAuthenticationMethodConfiguration extends AuthenticationMethodConfiguration {
// Default length in characters of a Temporary Access Pass object. Must be between 8 and 48 characters.
defaultLength?: NullableOption<number>;
/**
* Default lifetime in minutes for a Temporary Access Pass. Value can be any integer between the minimumLifetimeInMinutes
* and maximumLifetimeInMinutes.
*/
defaultLifetimeInMinutes?: NullableOption<number>;
/**
* If true, all the passes in the tenant will be restricted to one-time use. If false, passes in the tenant can be created
* to be either one-time use or reusable.
*/
isUsableOnce?: NullableOption<boolean>;
/**
* Maximum lifetime in minutes for any Temporary Access Pass created in the tenant. Value can be between 10 and 43200
* minutes (equivalent to 30 days).
*/
maximumLifetimeInMinutes?: NullableOption<number>;
/**
* Minimum lifetime in minutes for any Temporary Access Pass created in the tenant. Value can be between 10 and 43200
* minutes (equivalent to 30 days).
*/
minimumLifetimeInMinutes?: NullableOption<number>;
// A collection of groups that are enabled to use the authentication method.
includeTargets?: NullableOption<AuthenticationMethodTarget[]>;
}
export interface VoiceAuthenticationMethodConfiguration extends AuthenticationMethodConfiguration {
// true if users can register office phones, otherwise, false.
isOfficePhoneAllowed?: NullableOption<boolean>;
// A collection of groups that are enabled to use the authentication method. Expanded by default.
includeTargets?: NullableOption<AuthenticationMethodTarget[]>;
}
export interface X509CertificateAuthenticationMethodConfiguration extends AuthenticationMethodConfiguration {
/**
* Defines strong authentication configurations. This configuration includes the default authentication mode and the
* different rules for strong authentication bindings.
*/
authenticationModeConfiguration?: NullableOption<X509CertificateAuthenticationModeConfiguration>;
/**
* Defines fields in the X.509 certificate that map to attributes of the Azure AD user object in order to bind the
* certificate to the user. The priority of the object determines the order in which the binding is carried out. The first
* binding that matches will be used and the rest ignored.
*/
certificateUserBindings?: NullableOption<X509CertificateUserBinding[]>;
// A collection of groups that are enabled to use the authentication method.
includeTargets?: NullableOption<AuthenticationMethodTarget[]>;
}
export interface Bitlocker extends Entity {
// The recovery keys associated with the bitlocker entity.
recoveryKeys?: NullableOption<BitlockerRecoveryKey[]>;
}
export interface BitlockerRecoveryKey extends Entity {
// The date and time when the key was originally backed up to Azure Active Directory. Not nullable.
createdDateTime?: string;
// Identifier of the device the BitLocker key is originally backed up from. Supports $filter (eq).
deviceId?: NullableOption<string>;
// The BitLocker recovery key. Returned only on $select. Not nullable.
key?: string;
/**
* Indicates the type of volume the BitLocker key is associated with. The possible values are: 1 (for
* operatingSystemVolume), 2 (for fixedDataVolume), 3 (for removableDataVolume), and 4 (for unknownFutureValue).
*/
volumeType?: NullableOption<VolumeType>;
}
// tslint:disable-next-line: interface-name
export interface InformationProtection {
bitlocker?: NullableOption<Bitlocker>;
threatAssessmentRequests?: NullableOption<ThreatAssessmentRequest[]>;
}
export interface ThreatAssessmentRequest extends Entity {
// The threat category. Possible values are: spam, phishing, malware.
category?: ThreatCategory;
// The content type of threat assessment. Possible values are: mail, url, file.
contentType?: NullableOption<ThreatAssessmentContentType>;
// The threat assessment request creator.
createdBy?: NullableOption<IdentitySet>;
/**
* 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 is 2014-01-01T00:00:00Z.
*/
createdDateTime?: NullableOption<string>;
// The expected assessment from submitter. Possible values are: block, unblock.
expectedAssessment?: ThreatExpectedAssessment;
// The source of the threat assessment request. Possible values are: administrator.
requestSource?: NullableOption<ThreatAssessmentRequestSource>;
// The assessment process status. Possible values are: pending, completed.
status?: NullableOption<ThreatAssessmentStatus>;
/**
* A collection of threat assessment results. Read-only. By default, a GET /threatAssessmentRequests/{id} does not return
* this property unless you apply $expand on it.
*/
results?: NullableOption<ThreatAssessmentResult[]>;
}
export interface BookingAppointment extends Entity {
// Additional information that is sent to the customer when an appointment is confirmed.
additionalInformation?: NullableOption<string>;
// The URL of the meeting to join anonymously.
anonymousJoinWebUrl?: NullableOption<string>;
/**
* A collection of customer properties for an appointment. An appointment will contain a list of customer information and
* each unit will indicate the properties of a customer who is part of that appointment. Optional.
*/
customers?: BookingCustomerInformationBase[];
// The time zone of the customer. For a list of possible values, see dateTimeTimeZone.
customerTimeZone?: NullableOption<string>;
// The length of the appointment, denoted in ISO8601 format.
duration?: string;
// The date, time, and time zone that the appointment ends.
endDateTime?: DateTimeTimeZone;
// The current number of customers in the appointment
filledAttendeesCount?: number;
// If true, indicates that the appointment will be held online. Default value is false.
isLocationOnline?: boolean;
// The URL of the online meeting for the appointment.
joinWebUrl?: NullableOption<string>;
/**
* The maximum number of customers allowed in an appointment. If maximumAttendeesCount of the service is greater than 1,
* pass valid customer IDs while creating or updating an appointment. To create a customer, use the Create bookingCustomer
* operation.
*/
maximumAttendeesCount?: number;
/**
* If true indicates that the bookingCustomer for this appointment does not wish to receive a confirmation for this
* appointment.
*/
optOutOfCustomerEmail?: boolean;
/**
* The amount of time to reserve after the appointment ends, for cleaning up, as an example. The value is expressed in
* ISO8601 format.
*/
postBuffer?: string;
/**
* The amount of time to reserve before the appointment begins, for preparation, as an example. The value is expressed in
* ISO8601 format.
*/
preBuffer?: string;
// The regular price for an appointment for the specified bookingService.
price?: number;
/**
* A setting to provide flexibility for the pricing structure of services. Possible values are: undefined, fixedPrice,
* startingAt, hourly, free, priceVaries, callUs, notSet, unknownFutureValue.
*/
priceType?: BookingPriceType;
// The value of this property is only available when reading an individual booking appointment by id.
reminders?: NullableOption<BookingReminder[]>;
/**
* An additional tracking ID for the appointment, if the appointment has been created directly by the customer on the
* scheduling page, as opposed to by a staff member on the behalf of the customer. Only supported for appointment if
* maxAttendeeCount is 1.
*/
selfServiceAppointmentId?: NullableOption<string>;
// The ID of the bookingService associated with this appointment.
serviceId?: NullableOption<string>;
// The location where the service is delivered.
serviceLocation?: NullableOption<Location>;
/**
* This property is optional when creating a new appointment. If not specified, it is computed from the service associated
* with the appointment by the service id.
*/
serviceName?: string;
// The value of this property is only available when reading an individual booking appointment by id.
serviceNotes?: NullableOption<string>;
// If true, indicates SMS notifications will be sent to the customers for the appointment. Default value is false.
smsNotificationsEnabled?: boolean;
// The ID of each bookingStaffMember who is scheduled in this appointment.
staffMemberIds?: NullableOption<string[]>;
// The date, time, and time zone that the appointment begins.
startDateTime?: DateTimeTimeZone;
}
export interface BookingBusiness extends Entity {
/**
* The street address of the business. The address property, together with phone and webSiteUrl, appear in the footer of a
* business scheduling page. The attribute type of physicalAddress is not supported in v1.0. Internally we map the
* addresses to the type others.
*/
address?: NullableOption<PhysicalAddress>;
// The hours of operation for the business.
businessHours?: NullableOption<BookingWorkHours[]>;
// The type of business.
businessType?: NullableOption<string>;
// The code for the currency that the business operates in on Microsoft Bookings.
defaultCurrencyIso?: NullableOption<string>;
// The display name is suitable for human-readable interfaces.
displayName?: string;
// The email address for the business.
email?: NullableOption<string>;
/**
* The scheduling page has been made available to external customers. Use the publish and unpublish actions to set this
* property. Read-only.
*/
isPublished?: NullableOption<boolean>;
// The language of the self-service booking page.
languageTag?: NullableOption<string>;
/**
* The telephone number for the business. The phone property, together with address and webSiteUrl, appear in the footer
* of a business scheduling page.
*/
phone?: NullableOption<string>;
// The URL for the scheduling page, which is set after you publish or unpublish the page. Read-only.
publicUrl?: NullableOption<string>;
// Specifies how bookings can be created for this business.
schedulingPolicy?: NullableOption<BookingSchedulingPolicy>;
// Example: https://www.contoso.com
webSiteUrl?: NullableOption<string>;
// All the appointments of this business. Read-only. Nullable.
appointments?: NullableOption<BookingAppointment[]>;
// The set of appointments of this business in a specified date range. Read-only. Nullable.
calendarView?: NullableOption<BookingAppointment[]>;
// All the customers of this business. Read-only. Nullable.
customers?: NullableOption<BookingCustomerBase[]>;
// All the custom questions of this business. Read-only. Nullable.
customQuestions?: NullableOption<BookingCustomQuestion[]>;
// All the services offered by this business. Read-only. Nullable.
services?: NullableOption<BookingService[]>;
// All the staff members that provide services in this business. Read-only. Nullable.
staffMembers?: NullableOption<BookingStaffMemberBase[]>;
}
// tslint:disable-next-line: no-empty-interface
export interface BookingCustomerBase extends Entity {}
export interface BookingCustomQuestion extends Entity {
// The expected answer type. The possible values are: text, radioButton, unknownFutureValue.
answerInputType?: NullableOption<AnswerInputType>;
// List of possible answer values.
answerOptions?: NullableOption<string[]>;
// The display name is suitable for human-readable interfaces.
displayName?: string;
}
export interface BookingService extends Entity {
// Additional information that is sent to the customer when an appointment is confirmed.
additionalInformation?: NullableOption<string>;
// Contains the set of custom questions associated with a particular service.
customQuestions?: NullableOption<BookingQuestionAssignment[]>;
/**
* The default length of the service, represented in numbers of days, hours, minutes, and seconds. For example,
* P11D23H59M59.999999999999S.
*/
defaultDuration?: string;
// The default physical location for the service.
defaultLocation?: NullableOption<Location>;
// The default monetary price for the service.
defaultPrice?: number;
/**
* The default way the service is charged. Possible values are: undefined, fixedPrice, startingAt, hourly, free,
* priceVaries, callUs, notSet, unknownFutureValue.
*/
defaultPriceType?: BookingPriceType;
// The value of this property is only available when reading an individual booking service by id.
defaultReminders?: NullableOption<BookingReminder[]>;
// A text description for the service.
description?: NullableOption<string>;
// The display name is suitable for human-readable interfaces.
displayName?: string;
/**
* True if the URL to join the appointment anonymously (anonymousJoinWebUrl) will be generated for the appointment booked
* for this service.
*/
isAnonymousJoinEnabled?: boolean;
// True means this service is not available to customers for booking.
isHiddenFromCustomers?: boolean;
// True indicates that the appointments for the service will be held online. Default value is false.
isLocationOnline?: boolean;
// The language of the self-service booking page.
languageTag?: string;
/**
* The maximum number of customers allowed in a service. If maximumAttendeesCount of the service is greater than 1, pass
* valid customer IDs while creating or updating an appointment. To create a customer, use the Create bookingCustomer
* operation.
*/
maximumAttendeesCount?: number;
// Additional information about this service.
notes?: NullableOption<string>;
// The time to buffer after an appointment for this service ends, and before the next customer appointment can be booked.
postBuffer?: string;
// The time to buffer before an appointment for this service can start.
preBuffer?: string;
// The set of policies that determine how appointments for this type of service should be created and managed.
schedulingPolicy?: NullableOption<BookingSchedulingPolicy>;
/**
* True indicates SMS notifications can be sent to the customers for the appointment of the service. Default value is
* false.
*/
smsNotificationsEnabled?: boolean;
// Represents those staff members who provide this service.
staffMemberIds?: NullableOption<string[]>;
// The URL a customer uses to access the service.
webUrl?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface BookingStaffMemberBase extends Entity {}
export interface BookingCurrency extends Entity {
// The currency symbol. For example, the currency symbol for the US dollar and for the Australian dollar is $.
symbol?: string;
}
export interface BookingCustomer extends BookingCustomerBase {
/**
* Addresses associated with the customer. The attribute type of physicalAddress is not supported in v1.0. Internally we
* map the addresses to the type others.
*/
addresses?: NullableOption<PhysicalAddress[]>;
// The display name is suitable for human-readable interfaces.
displayName?: string;
// The SMTP address of the customer.
emailAddress?: NullableOption<string>;
// Phone numbers associated with the customer, including home, business and mobile numbers.
phones?: NullableOption<Phone[]>;
}
export interface BookingStaffMember extends BookingStaffMemberBase {
/**
* True means that if the staff member is a Microsoft 365 user, the Bookings API would verify the staff member's
* availability in their personal calendar in Microsoft 365, before making a booking.
*/
availabilityIsAffectedByPersonalCalendar?: boolean;
// The display name is suitable for human-readable interfaces.
displayName?: string;
/**
* The email address of the staff member. This can be in the same Microsoft 365 tenant as the business, or in a different
* email domain. This email address can be used if the sendConfirmationsToOwner property is set to true in the scheduling
* policy of the business. Required.
*/
emailAddress?: NullableOption<string>;
// True indicates that a staff member will be notified via email when a booking assigned to them is created or changed.
isEmailNotificationEnabled?: boolean;
/**
* The role of the staff member in the business. Possible values are: guest, administrator, viewer, externalGuest,
* unknownFutureValue, scheduler, teamMember. Note that you must use the Prefer: include-unknown-enum-members request
* header to get the following values from this evolvable enum: scheduler, teamMember. Required.
*/
role?: BookingStaffRole;
// The time zone of the staff member. For a list of possible values, see dateTimeTimeZone.
timeZone?: NullableOption<string>;
/**
* True means the staff member's availability is as specified in the businessHours property of the business. False means
* the availability is determined by the staff member's workingHours property setting.
*/
useBusinessHours?: boolean;
/**
* The range of hours each day of the week that the staff member is available for booking. By default, they are
* initialized to be the same as the businessHours property of the business.
*/
workingHours?: NullableOption<BookingWorkHours[]>;
}
export interface SolutionsRoot {
bookingBusinesses?: NullableOption<BookingBusiness[]>;
bookingCurrencies?: NullableOption<BookingCurrency[]>;
}
export interface AuthoredNote extends Entity {
// Identity information about the note's author.
author?: NullableOption<Identity>;
// The content of the note.
content?: NullableOption<ItemBody>;
/**
* The date and time when the entity was created. 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 is 2014-01-01T00:00:00Z.
*/
createdDateTime?: NullableOption<string>;
}
export interface Privacy {
subjectRightsRequests?: NullableOption<SubjectRightsRequest[]>;
}
export interface SubjectRightsRequest extends Entity {
// Identity that the request is assigned to.
assignedTo?: NullableOption<Identity>;
/**
* The date and time when the request was closed. 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 is 2014-01-01T00:00:00Z.
*/
closedDateTime?: NullableOption<string>;
// Identity information for the entity that created the request.
createdBy?: NullableOption<IdentitySet>;
/**
* The date and time when the request was created. 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 is 2014-01-01T00:00:00Z.
*/
createdDateTime?: NullableOption<string>;
// Information about the data subject.
dataSubject?: NullableOption<DataSubject>;
/**
* The type of the data subject. Possible values are: customer, currentEmployee, formerEmployee, prospectiveEmployee,
* student, teacher, faculty, other, unknownFutureValue.
*/
dataSubjectType?: NullableOption<DataSubjectType>;
// Description for the request.
description?: NullableOption<string>;
// The name of the request.
displayName?: NullableOption<string>;
// Collection of history change events.
history?: NullableOption<SubjectRightsRequestHistory[]>;
// Insight about the request.
insight?: NullableOption<SubjectRightsRequestDetail>;
/**
* The date and time when the request is internally due. 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 is 2014-01-01T00:00:00Z.
*/
internalDueDateTime?: NullableOption<string>;
// Identity information for the entity that last modified the request.
lastModifiedBy?: NullableOption<IdentitySet>;
/**
* The date and time when the request was last modified. 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 is 2014-01-01T00:00:00Z.
*/
lastModifiedDateTime?: NullableOption<string>;
// List of regulations that this request will fulfill.
regulations?: NullableOption<string[]>;
// Information about the different stages for the request.
stages?: NullableOption<SubjectRightsRequestStageDetail[]>;
// The status of the request.. Possible values are: active, closed, unknownFutureValue.
status?: NullableOption<SubjectRightsRequestStatus>;
// The type of the request. Possible values are: export, delete, access, tagForAction, unknownFutureValue.
type?: NullableOption<SubjectRightsRequestType>;
// List of notes associcated with the request.
notes?: NullableOption<AuthoredNote[]>;
// Information about the Microsoft Teams team that was created for the request.
team?: NullableOption<Team>;
}
export interface Channel extends Entity {
// Read only. Timestamp at which the channel was created.
createdDateTime?: NullableOption<string>;
// Optional textual description for the channel.
description?: NullableOption<string>;
// Channel name as it will appear to the user in Microsoft Teams. The maximum length is 50 characters.
displayName?: string;
// The email address for sending messages to the channel. Read-only.
email?: NullableOption<string>;
/**
* Indicates whether the channel should automatically be marked 'favorite' for all members of the team. Can only be set
* programmatically with Create team. Default: false.
*/
isFavoriteByDefault?: NullableOption<boolean>;
/**
* The type of the channel. Can be set during creation and can't be changed. The possible values are: standard, private,
* unknownFutureValue, shared. The default value is standard. Note that you must use the Prefer:
* include-unknown-enum-members request header to get the following value in this evolvable enum: shared.
*/
membershipType?: NullableOption<ChannelMembershipType>;
// The ID of the Azure Active Directory tenant.
tenantId?: NullableOption<string>;
/**
* A hyperlink that will go to the channel in Microsoft Teams. This is the URL that you get when you right-click a channel
* in Microsoft Teams and select Get link to channel. This URL should be treated as an opaque blob, and not parsed.
* Read-only.
*/
webUrl?: NullableOption<string>;
// Metadata for the location where the channel's files are stored.
filesFolder?: NullableOption<DriveItem>;
// A collection of membership records associated with the channel.
members?: NullableOption<ConversationMember[]>;
// A collection of all the messages in the channel. A navigation property. Nullable.
messages?: NullableOption<ChatMessage[]>;
// A collection of teams with which a channel is shared.
sharedWithTeams?: NullableOption<SharedWithChannelTeamInfo[]>;
// A collection of all the tabs in the channel. A navigation property.
tabs?: NullableOption<TeamsTab[]>;
}
export interface Group extends DirectoryObject {
/**
* The list of sensitivity label pairs (label ID, label name) associated with a Microsoft 365 group. Returned only on
* $select.
*/
assignedLabels?: NullableOption<AssignedLabel[]>;
// The licenses that are assigned to the group. Returned only on $select. Supports $filter (eq).Read-only.
assignedLicenses?: NullableOption<AssignedLicense[]>;
/**
* Describes a classification for the group (such as low, medium or high business impact). Valid values for this property
* are defined by creating a ClassificationList setting value, based on the template definition.Returned by default.
* Supports $filter (eq, ne, not, ge, le, startsWith).
*/
classification?: NullableOption<string>;
/**
* Timestamp of when the group was created. The value cannot be modified and is automatically populated when the group is
* created. 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 is 2014-01-01T00:00:00Z. Returned by default. Read-only.
*/
createdDateTime?: NullableOption<string>;
/**
* An optional description for the group. Returned by default. Supports $filter (eq, ne, not, ge, le, startsWith) and
* $search.
*/
description?: NullableOption<string>;
/**
* The display name for the group. This property is required when a group is created and cannot be cleared during updates.
* Maximum length is 256 characters. Returned by default. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on
* null values), $search, and $orderBy.
*/
displayName?: NullableOption<string>;
/**
* Timestamp of when the group is set to expire. Is null for security groups but for Microsoft 365 groups, it represents
* when the group is set to expire as defined in the groupLifecyclePolicy. 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 is
* 2014-01-01T00:00:00Z. Returned by default. Supports $filter (eq, ne, not, ge, le, in). Read-only.
*/
expirationDateTime?: NullableOption<string>;
/**
* Specifies the group type and its membership. If the collection contains Unified, the group is a Microsoft 365 group;
* otherwise, it's either a security group or distribution group. For details, see groups overview.If the collection
* includes DynamicMembership, the group has dynamic membership; otherwise, membership is static. Returned by default.
* Supports $filter (eq, not).
*/
groupTypes?: string[];
/**
* Indicates whether there are members in this group that have license errors from its group-based license assignment.
* This property is never returned on a GET operation. You can use it as a $filter argument to get groups that have
* members with license errors (that is, filter for this property being true). See an example. Supports $filter (eq).
*/
hasMembersWithLicenseErrors?: NullableOption<boolean>;
/**
* Indicates whether this group can be assigned to an Azure Active Directory role or not. Optional. This property can only
* be set while creating the group and is immutable. If set to true, the securityEnabled property must also be set to
* true, visibility must be Hidden, and the group cannot be a dynamic group (that is, groupTypes cannot contain
* DynamicMembership). Only callers in Global Administrator and Privileged Role Administrator roles can set this property.
* The caller must also be assigned the RoleManagement.ReadWrite.Directory permission to set this property or update the
* membership of such groups. For more, see Using a group to manage Azure AD role assignmentsUsing this feature requires a
* Azure AD Premium P1 license. Returned by default. Supports $filter (eq, ne, not).
*/
isAssignableToRole?: NullableOption<boolean>;
/**
* Indicates status of the group license assignment to all members of the group. Default value is false. Read-only.
* Possible values: QueuedForProcessing, ProcessingInProgress, and ProcessingComplete.Returned only on $select. Read-only.
*/
licenseProcessingState?: NullableOption<LicenseProcessingState>;
/**
* The SMTP address for the group, for example, 'serviceadmins@contoso.onmicrosoft.com'. Returned by default. Read-only.
* Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values).
*/
mail?: NullableOption<string>;
// Specifies whether the group is mail-enabled. Required. Returned by default. Supports $filter (eq, ne, not).
mailEnabled?: NullableOption<boolean>;
/**
* The mail alias for the group, unique for Microsoft 365 groups in the organization. Maximum length is 64 characters.
* This property can contain only characters in the ASCII character set 0 - 127 except the following: @ () / [] ' ; :
* &amp;lt;&amp;gt; , SPACE. Required. Returned by default. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq
* on null values).
*/
mailNickname?: NullableOption<string>;
/**
* The rule that determines members for this group if the group is a dynamic group (groupTypes contains
* DynamicMembership). For more information about the syntax of the membership rule, see Membership Rules syntax. Returned
* by default. Supports $filter (eq, ne, not, ge, le, startsWith).
*/
membershipRule?: NullableOption<string>;
/**
* Indicates whether the dynamic membership processing is on or paused. Possible values are On or Paused. Returned by
* default. Supports $filter (eq, ne, not, in).
*/
membershipRuleProcessingState?: NullableOption<string>;
onPremisesDomainName?: NullableOption<string>;
/**
* Indicates the last time at which the group was synced with the on-premises directory.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 is
* 2014-01-01T00:00:00Z. Returned by default. Read-only. Supports $filter (eq, ne, not, ge, le, in).
*/
onPremisesLastSyncDateTime?: NullableOption<string>;
onPremisesNetBiosName?: NullableOption<string>;
/**
* Errors when using Microsoft synchronization product during provisioning. Returned by default. Supports $filter (eq,
* not).
*/
onPremisesProvisioningErrors?: NullableOption<OnPremisesProvisioningError[]>;
/**
* Contains the on-premises SAM account name 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.Returned
* by default. Supports $filter (eq, ne, not, ge, le, in, startsWith). Read-only.
*/
onPremisesSamAccountName?: NullableOption<string>;
/**
* Contains the on-premises security identifier (SID) for the group that was synchronized from on-premises to the cloud.
* Returned by default. Supports $filter (eq including on null values). Read-only.
*/
onPremisesSecurityIdentifier?: NullableOption<string>;
/**
* true if this group is synced from an on-premises directory; false if this group 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). Returned by default. Read-only. Supports $filter (eq, ne, not, in, and eq on null values).
*/
onPremisesSyncEnabled?: NullableOption<boolean>;
/**
* The preferred data location for the Microsoft 365 group. By default, the group inherits the group creator's preferred
* data location. To set this property, the calling user must be assigned one of the following Azure AD roles: Global
* Administrator User Account Administrator Directory Writer Exchange Administrator SharePoint Administrator For more
* information about this property, see OneDrive Online Multi-Geo. Nullable. Returned by default.
*/
preferredDataLocation?: NullableOption<string>;
/**
* The preferred language for a Microsoft 365 group. Should follow ISO 639-1 Code; for example en-US. Returned by default.
* Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values).
*/
preferredLanguage?: NullableOption<string>;
/**
* Email addresses for the group that direct to the same group mailbox. For example: ['SMTP: bob@contoso.com', 'smtp:
* bob@sales.contoso.com']. The any operator is required to filter expressions on multi-valued properties. Returned by
* default. Read-only. Not nullable. Supports $filter (eq, not, ge, le, startsWith, endsWith, /$count eq 0, /$count ne 0).
*/
proxyAddresses?: string[];
/**
* Timestamp of when the group was last renewed. This cannot be modified directly and is only updated via the renew
* service action. 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 is 2014-01-01T00:00:00Z. Returned by default. Supports $filter (eq, ne,
* not, ge, le, in). Read-only.
*/
renewedDateTime?: NullableOption<string>;
// Specifies whether the group is a security group. Required. Returned by default. Supports $filter (eq, ne, not, in).
securityEnabled?: NullableOption<boolean>;
// Security identifier of the group, used in Windows scenarios. Returned by default.
securityIdentifier?: NullableOption<string>;
/**
* Specifies a Microsoft 365 group's color theme. Possible values are Teal, Purple, Green, Blue, Pink, Orange or Red.
* Returned by default.
*/
theme?: NullableOption<string>;
/**
* Specifies the group join policy and group content visibility for groups. Possible values are: Private, Public, or
* HiddenMembership. HiddenMembership can be set only for Microsoft 365 groups, when the groups are created. It can't be
* updated later. Other values of visibility can be updated after group creation. If visibility value is not specified
* during group creation on Microsoft Graph, a security group is created as Private by default and Microsoft 365 group is
* Public. Groups assignable to roles are always Private. See group visibility options to learn more. Returned by default.
* Nullable.
*/
visibility?: NullableOption<string>;
/**
* Indicates if people external to the organization can send messages to the group. Default value is false. Returned only
* on $select. Supported only on the Get group API (GET /groups/{ID}).
*/
allowExternalSenders?: NullableOption<boolean>;
/**
* Indicates if new members added to the group will be auto-subscribed to receive email notifications. You can set this
* property in a PATCH request for the group; do not set it in the initial POST request that creates the group. Default
* value is false. Returned only on $select. Supported only on the Get group API (GET /groups/{ID}).
*/
autoSubscribeNewMembers?: NullableOption<boolean>;
/**
* True if the group is not displayed in certain parts of the Outlook UI: the Address Book, address lists for selecting
* message recipients, and the Browse Groups dialog for searching groups; otherwise, false. Default value is false.
* Returned only on $select. Supported only on the Get group API (GET /groups/{ID}).
*/
hideFromAddressLists?: NullableOption<boolean>;
/**
* True if the group is not displayed in Outlook clients, such as Outlook for Windows and Outlook on the web; otherwise,
* false. Default value is false. Returned only on $select. Supported only on the Get group API (GET /groups/{ID}).
*/
hideFromOutlookClients?: NullableOption<boolean>;
/**
* Indicates whether the signed-in user is subscribed to receive email conversations. Default value is true. Returned only
* on $select. Supported only on the Get group API (GET /groups/{ID}).
*/
isSubscribedByMail?: NullableOption<boolean>;
/**
* Count of conversations that have received new posts since the signed-in user last visited the group. Returned only on
* $select. Supported only on the Get group API (GET /groups/{ID}).
*/
unseenCount?: NullableOption<number>;
/**
* When a group is associated with a team this property determines whether the team is in read-only mode.To read this
* property, use the /group/{groupId}/team endpoint or the Get team API. To update this property, use the archiveTeam and
* unarchiveTeam APIs.
*/
isArchived?: NullableOption<boolean>;
// Represents the app roles a group has been granted for an application. Supports $expand.
appRoleAssignments?: NullableOption<AppRoleAssignment[]>;
// The user (or application) that created the group. NOTE: This is not set if the user is an administrator. Read-only.
createdOnBehalfOf?: NullableOption<DirectoryObject>;
/**
* Groups that this group is a member of. HTTP Methods: GET (supported for all groups). Read-only. Nullable. Supports
* $expand.
*/
memberOf?: NullableOption<DirectoryObject[]>;
/**
* The members of this group, who can be users, devices, other groups, or service principals. Supports the List members,
* Add member, and Remove member operations. Nullable. Supports $expand including nested $select. For example,
* /groups?$filter=startsWith(displayName,'Role')&amp;$select=id,displayName&amp;$expand=members($select=id,userPrincipalName,displayName).
*/
members?: NullableOption<DirectoryObject[]>;
// A list of group members with license errors from this group-based license assignment. Read-only.
membersWithLicenseErrors?: NullableOption<DirectoryObject[]>;
/**
* The owners of the group. Limited to 100 owners. Nullable. If this property is not specified when creating a Microsoft
* 365 group, the calling user is automatically assigned as the group owner. Supports $filter (/$count eq 0, /$count ne 0,
* /$count eq 1, /$count ne 1). Supports $expand including nested $select. For example,
* /groups?$filter=startsWith(displayName,'Role')&amp;$select=id,displayName&amp;$expand=owners($select=id,userPrincipalName,displayName).
*/
owners?: NullableOption<DirectoryObject[]>;
// The permission that has been granted for a group to a specific application. Supports $expand.
permissionGrants?: NullableOption<ResourceSpecificPermissionGrant[]>;
// Settings that can govern this group's behavior, like whether members can invite guest users to the group. Nullable.
settings?: NullableOption<GroupSetting[]>;
// The groups that a group is a member of, either directly and through nested membership. Nullable.
transitiveMemberOf?: NullableOption<DirectoryObject[]>;
// The direct and transitive members of a group. Nullable.
transitiveMembers?: NullableOption<DirectoryObject[]>;
/**
* The list of users or groups that are allowed to create post's or calendar events in this group. If this list is
* non-empty then only users or groups listed here are allowed to post.
*/
acceptedSenders?: NullableOption<DirectoryObject[]>;
// The group's calendar. Read-only.
calendar?: NullableOption<Calendar>;
// The calendar view for the calendar. Read-only.
calendarView?: NullableOption<Event[]>;
// The group's conversations.
conversations?: NullableOption<Conversation[]>;
// The group's calendar events.
events?: NullableOption<Event[]>;
// The list of users or groups that are not allowed to create posts or calendar events in this group. Nullable
rejectedSenders?: NullableOption<DirectoryObject[]>;
// The group's conversation threads. Nullable.
threads?: NullableOption<ConversationThread[]>;
// The group's default drive. Read-only.
drive?: NullableOption<Drive>;
// The group's drives. Read-only.
drives?: NullableOption<Drive[]>;
// The list of SharePoint sites in this group. Access the default site with /sites/root.
sites?: NullableOption<Site[]>;
// The collection of open extensions defined for the group. Read-only. Nullable.
extensions?: NullableOption<Extension[]>;
// The collection of lifecycle policies for this group. Read-only. Nullable.
groupLifecyclePolicies?: NullableOption<GroupLifecyclePolicy[]>;
// Entry-point to Planner resource that might exist for a Unified Group.
planner?: NullableOption<PlannerGroup>;
onenote?: NullableOption<Onenote>;
// The group's profile photo
photo?: NullableOption<ProfilePhoto>;
// The profile photos owned by the group. Read-only. Nullable.
photos?: NullableOption<ProfilePhoto[]>;
// The team associated with this group.
team?: NullableOption<Team>;
}
export interface TeamsAppInstallation extends Entity {
// The app that is installed.
teamsApp?: NullableOption<TeamsApp>;
// The details of this version of the app.
teamsAppDefinition?: NullableOption<TeamsAppDefinition>;
}
export interface ConversationMember extends Entity {
// The display name of the user.
displayName?: NullableOption<string>;
/**
* The roles for that user. This property contains additional qualifiers only when relevant - for example, if the member
* has owner privileges, the roles property contains owner as one of the values. Similarly, if the member is an in-tenant
* guest, the roles property contains guest as one of the values. A basic member should not have any values specified in
* the roles property. An Out-of-tenant external member is assigned the owner role.
*/
roles?: NullableOption<string[]>;
/**
* The timestamp denoting how far back a conversation's history is shared with the conversation member. This property is
* settable only for members of a chat.
*/
visibleHistoryStartDateTime?: NullableOption<string>;
}
export interface TeamsAsyncOperation extends Entity {
// Number of times the operation was attempted before being marked successful or failed.
attemptsCount?: number;
// Time when the operation was created.
createdDateTime?: string;
// Any error that causes the async operation to fail.
error?: NullableOption<OperationError>;
// Time when the async operation was last updated.
lastActionDateTime?: string;
// Denotes which type of operation is being described.
operationType?: TeamsAsyncOperationType;
// Operation status.
status?: TeamsAsyncOperationStatus;
// The ID of the object that's created or modified as result of this async operation, typically a team.
targetResourceId?: NullableOption<string>;
/**
* The location of the object that's created or modified as result of this async operation. This URL should be treated as
* an opaque value and not parsed into its component paths.
*/
targetResourceLocation?: NullableOption<string>;
}
export interface TeamworkTag extends Entity {
/**
* The description of the tag as it will appear to the user in Microsoft Teams. A teamworkTag can't have more than 200
* teamworkTagMembers.
*/
description?: NullableOption<string>;
// The name of the tag as it will appear to the user in Microsoft Teams.
displayName?: NullableOption<string>;
// The number of users assigned to the tag.
memberCount?: NullableOption<number>;
// The type of the tag. Default is standard.
tagType?: NullableOption<TeamworkTagType>;
// ID of the team in which the tag is defined.
teamId?: NullableOption<string>;
// Users assigned to the tag.
members?: NullableOption<TeamworkTagMember[]>;
}
// tslint:disable-next-line: no-empty-interface
export interface TeamsTemplate extends Entity {}
export interface Schedule extends Entity {
// Indicates whether the schedule is enabled for the team. Required.
enabled?: NullableOption<boolean>;
// Indicates whether offer shift requests are enabled for the schedule.
offerShiftRequestsEnabled?: NullableOption<boolean>;
// Indicates whether open shifts are enabled for the schedule.
openShiftsEnabled?: NullableOption<boolean>;
// The status of the schedule provisioning. The possible values are notStarted, running, completed, failed.
provisionStatus?: NullableOption<OperationStatus>;
// Additional information about why schedule provisioning failed.
provisionStatusCode?: NullableOption<string>;
// Indicates whether swap shifts requests are enabled for the schedule.
swapShiftsRequestsEnabled?: NullableOption<boolean>;
// Indicates whether time clock is enabled for the schedule.
timeClockEnabled?: NullableOption<boolean>;
// Indicates whether time off requests are enabled for the schedule.
timeOffRequestsEnabled?: NullableOption<boolean>;
// Indicates the time zone of the schedule team using tz database format. Required.
timeZone?: NullableOption<string>;
workforceIntegrationIds?: NullableOption<string[]>;
offerShiftRequests?: NullableOption<OfferShiftRequest[]>;
// The open shift requests in the schedule.
openShiftChangeRequests?: NullableOption<OpenShiftChangeRequest[]>;
// The set of open shifts in a scheduling group in the schedule.
openShifts?: NullableOption<OpenShift[]>;
// The logical grouping of users in the schedule (usually by role).
schedulingGroups?: NullableOption<SchedulingGroup[]>;
// The shifts in the schedule.
shifts?: NullableOption<Shift[]>;
swapShiftsChangeRequests?: NullableOption<SwapShiftsChangeRequest[]>;
// The set of reasons for a time off in the schedule.
timeOffReasons?: NullableOption<TimeOffReason[]>;
timeOffRequests?: NullableOption<TimeOffRequest[]>;
// The instances of times off in the schedule.
timesOff?: NullableOption<TimeOff[]>;
}
// tslint:disable-next-line: no-empty-interface
export interface Compliance {}
export interface ResourceSpecificPermissionGrant extends DirectoryObject {
// ID of the service principal of the Azure AD app that has been granted access. Read-only.
clientAppId?: NullableOption<string>;
// ID of the Azure AD app that has been granted access. Read-only.
clientId?: NullableOption<string>;
// The name of the resource-specific permission. Read-only.
permission?: NullableOption<string>;
// The type of permission. Possible values are: Application, Delegated. Read-only.
permissionType?: NullableOption<string>;
// ID of the Azure AD app that is hosting the resource. Read-only.
resourceAppId?: NullableOption<string>;
}
export interface GroupSetting extends Entity {
// Display name of this group of settings, which comes from the associated template.
displayName?: NullableOption<string>;
/**
* Unique identifier for the tenant-level groupSettingTemplates object that's been customized for this group-level
* settings object. Read-only.
*/
templateId?: NullableOption<string>;
/**
* Collection of name-value pairs corresponding to the name and defaultValue properties in the referenced
* groupSettingTemplates object.
*/
values?: SettingValue[];
}
export interface Conversation extends Entity {
/**
* Indicates whether any of the posts within this Conversation has at least one attachment. Supports $filter (eq, ne) and
* $search.
*/
hasAttachments?: boolean;
/**
* 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 is 2014-01-01T00:00:00Z
*/
lastDeliveredDateTime?: string;
// A short summary from the body of the latest post in this conversation. Supports $filter (eq, ne, le, ge).
preview?: string;
// The topic of the conversation. This property can be set when the conversation is created, but it cannot be updated.
topic?: string;
// All the users that sent a message to this Conversation.
uniqueSenders?: string[];
// A collection of all the conversation threads in the conversation. A navigation property. Read-only. Nullable.
threads?: NullableOption<ConversationThread[]>;
}
export interface ConversationThread extends Entity {
// The Cc: recipients for the thread. Returned only on $select.
ccRecipients?: Recipient[];
// Indicates whether any of the posts within this thread has at least one attachment. Returned by default.
hasAttachments?: boolean;
// Indicates if the thread is locked. Returned by default.
isLocked?: boolean;
/**
* 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 is 2014-01-01T00:00:00Z.Returned by default.
*/
lastDeliveredDateTime?: string;
// A short summary from the body of the latest post in this conversation. Returned by default.
preview?: string;
/**
* The topic of the conversation. This property can be set when the conversation is created, but it cannot be updated.
* Returned by default.
*/
topic?: string;
// The To: recipients for the thread. Returned only on $select.
toRecipients?: Recipient[];
// All the users that sent a message to this thread. Returned by default.
uniqueSenders?: string[];
posts?: NullableOption<Post[]>;
}
export interface GroupLifecyclePolicy extends Entity {
/**
* List of email address to send notifications for groups without owners. Multiple email address can be defined by
* separating email address with a semicolon.
*/
alternateNotificationEmails?: NullableOption<string>;
/**
* Number of days before a group expires and needs to be renewed. Once renewed, the group expiration is extended by the
* number of days defined.
*/
groupLifetimeInDays?: NullableOption<number>;
// The group type for which the expiration policy applies. Possible values are All, Selected or None.
managedGroupTypes?: NullableOption<string>;
}
export interface PlannerGroup extends Entity {
// Read-only. Nullable. Returns the plannerPlans owned by the group.
plans?: NullableOption<PlannerPlan[]>;
}
export interface Security extends Entity {
cases?: NullableOption<SecurityNamespace.CasesRoot>;
// A collection of alerts in Microsoft 365 Defender.
alerts_v2?: NullableOption<SecurityNamespace.Alert[]>;
/**
* A collection of incidents in Microsoft 365 Defender, each of which is a set of correlated alerts and associated
* metadata that reflects the story of an attack.
*/
incidents?: NullableOption<SecurityNamespace.Incident[]>;
attackSimulation?: NullableOption<AttackSimulationRoot>;
triggers?: NullableOption<SecurityNamespace.TriggersRoot>;
triggerTypes?: NullableOption<SecurityNamespace.TriggerTypesRoot>;
alerts?: NullableOption<Alert[]>;
secureScoreControlProfiles?: NullableOption<SecureScoreControlProfile[]>;
secureScores?: NullableOption<SecureScore[]>;
}
export interface AttackSimulationRoot extends Entity {
// Represents simulation automation created to run on a tenant.
simulationAutomations?: NullableOption<SimulationAutomation[]>;
// Represents an attack simulation training campaign in a tenant.
simulations?: NullableOption<Simulation[]>;
}
export interface Alert extends Entity {
// Name or alias of the activity group (attacker) this alert is attributed to.
activityGroupName?: NullableOption<string>;
alertDetections?: NullableOption<AlertDetection[]>;
// Name of the analyst the alert is assigned to for triage, investigation, or remediation (supports update).
assignedTo?: NullableOption<string>;
// Azure subscription ID, present if this alert is related to an Azure resource.
azureSubscriptionId?: NullableOption<string>;
// Azure Active Directory tenant ID. Required.
azureTenantId?: string;
// Category of the alert (for example, credentialTheft, ransomware, etc.).
category?: NullableOption<string>;
/**
* Time at which the alert was closed. 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 is 2014-01-01T00:00:00Z (supports update).
*/
closedDateTime?: NullableOption<string>;
// Security-related stateful information generated by the provider about the cloud application/s related to this alert.
cloudAppStates?: NullableOption<CloudAppSecurityState[]>;
// Customer-provided comments on alert (for customer alert management) (supports update).
comments?: NullableOption<string[]>;
// Confidence of the detection logic (percentage between 1-100).
confidence?: NullableOption<number>;
/**
* Time at which the alert was created by the alert provider. 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 is 2014-01-01T00:00:00Z.
* Required.
*/
createdDateTime?: NullableOption<string>;
// Alert description.
description?: NullableOption<string>;
// Set of alerts related to this alert entity (each alert is pushed to the SIEM as a separate record).
detectionIds?: NullableOption<string[]>;
/**
* Time at which the event(s) that served as the trigger(s) to generate the alert occurred. 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 is
* 2014-01-01T00:00:00Z. Required.
*/
eventDateTime?: NullableOption<string>;
/**
* Analyst feedback on the alert. Possible values are: unknown, truePositive, falsePositive, benignPositive. (supports
* update)
*/
feedback?: NullableOption<AlertFeedback>;
// Security-related stateful information generated by the provider about the file(s) related to this alert.
fileStates?: NullableOption<FileSecurityState[]>;
historyStates?: NullableOption<AlertHistoryState[]>;
// Security-related stateful information generated by the provider about the host(s) related to this alert.
hostStates?: NullableOption<HostSecurityState[]>;
// IDs of incidents related to current alert.
incidentIds?: NullableOption<string[]>;
investigationSecurityStates?: NullableOption<InvestigationSecurityState[]>;
lastEventDateTime?: NullableOption<string>;
/**
* Time at which the alert entity was last modified. 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 is 2014-01-01T00:00:00Z.
*/
lastModifiedDateTime?: NullableOption<string>;
// Threat Intelligence pertaining to malware related to this alert.
malwareStates?: NullableOption<MalwareState[]>;
messageSecurityStates?: NullableOption<MessageSecurityState[]>;
// Security-related stateful information generated by the provider about the network connection(s) related to this alert.
networkConnections?: NullableOption<NetworkConnection[]>;
// Security-related stateful information generated by the provider about the process or processes related to this alert.
processes?: NullableOption<Process[]>;
/**
* Vendor/provider recommended action(s) to take as a result of the alert (for example, isolate machine, enforce2FA,
* reimage host).
*/
recommendedActions?: NullableOption<string[]>;
// Security-related stateful information generated by the provider about the registry keys related to this alert.
registryKeyStates?: NullableOption<RegistryKeyState[]>;
// Resources related to current alert. For example, for some alerts this can have the Azure Resource value.
securityResources?: NullableOption<SecurityResource[]>;
// Alert severity - set by vendor/provider. Possible values are: unknown, informational, low, medium, high. Required.
severity?: AlertSeverity;
/**
* Hyperlinks (URIs) to the source material related to the alert, for example, provider's user interface for alerts or log
* search, etc.
*/
sourceMaterials?: NullableOption<string[]>;
/**
* Alert lifecycle status (stage). Possible values are: unknown, newAlert, inProgress, resolved. (supports update).
* Required.
*/
status?: AlertStatus;
/**
* User-definable labels that can be applied to an alert and can serve as filter conditions (for example 'HVA', 'SAW',
* etc.) (supports update).
*/
tags?: NullableOption<string[]>;
// Alert title. Required.
title?: NullableOption<string>;
/**
* Security-related information about the specific properties that triggered the alert (properties appearing in the
* alert). Alerts might contain information about multiple users, hosts, files, ip addresses. This field indicates which
* properties triggered the alert generation.
*/
triggers?: NullableOption<AlertTrigger[]>;
uriClickSecurityStates?: NullableOption<UriClickSecurityState[]>;
// Security-related stateful information generated by the provider about the user accounts related to this alert.
userStates?: NullableOption<UserSecurityState[]>;
/**
* Complex type containing details about the security product/service vendor, provider, and subprovider (for example,
* vendor=Microsoft; provider=Windows Defender ATP; subProvider=AppLocker). Required.
*/
vendorInformation?: NullableOption<SecurityVendorInformation>;
// Threat intelligence pertaining to one or more vulnerabilities related to this alert.
vulnerabilityStates?: NullableOption<VulnerabilityState[]>;
}
export interface SecureScoreControlProfile extends Entity {
// Control action type (Config, Review, Behavior).
actionType?: NullableOption<string>;
// URL to where the control can be actioned.
actionUrl?: NullableOption<string>;
// GUID string for tenant ID.
azureTenantId?: string;
// The collection of compliance information associated with secure score control
complianceInformation?: NullableOption<ComplianceInformation[]>;
// Control action category (Identity, Data, Device, Apps, Infrastructure).
controlCategory?: NullableOption<string>;
// Flag to indicate where the tenant has marked a control (ignored, thirdParty, reviewed) (supports update).
controlStateUpdates?: NullableOption<SecureScoreControlStateUpdate[]>;
// Flag to indicate if a control is depreciated.
deprecated?: NullableOption<boolean>;
// Resource cost of implemmentating control (low, moderate, high).
implementationCost?: NullableOption<string>;
// Time at which the control profile entity was last modified. The Timestamp type represents date and time
lastModifiedDateTime?: NullableOption<string>;
// max attainable score for the control.
maxScore?: NullableOption<number>;
// Microsoft's stack ranking of control.
rank?: NullableOption<number>;
// Description of what the control will help remediate.
remediation?: NullableOption<string>;
// Description of the impact on users of the remediation.
remediationImpact?: NullableOption<string>;
// Service that owns the control (Exchange, Sharepoint, Azure AD).
service?: NullableOption<string>;
// List of threats the control mitigates (accountBreach, dataDeletion, dataExfiltration, dataSpillage,
threats?: NullableOption<string[]>;
tier?: NullableOption<string>;
title?: NullableOption<string>;
userImpact?: NullableOption<string>;
vendorInformation?: NullableOption<SecurityVendorInformation>;
}
export interface SecureScore extends Entity {
// Active user count of the given tenant.
activeUserCount?: NullableOption<number>;
/**
* Average score by different scopes (for example, average by industry, average by seating) and control category
* (Identity, Data, Device, Apps, Infrastructure) within the scope.
*/
averageComparativeScores?: NullableOption<AverageComparativeScore[]>;
// GUID string for tenant ID.
azureTenantId?: string;
// Contains tenant scores for a set of controls.
controlScores?: NullableOption<ControlScore[]>;
// The date when the entity is created.
createdDateTime?: NullableOption<string>;
// Tenant current attained score on specified date.
currentScore?: NullableOption<number>;
// Microsoft-provided services for the tenant (for example, Exchange online, Skype, Sharepoint).
enabledServices?: NullableOption<string[]>;
// Licensed user count of the given tenant.
licensedUserCount?: NullableOption<number>;
// Tenant maximum possible score on specified date.
maxScore?: NullableOption<number>;
/**
* Complex type containing details about the security product/service vendor, provider, and subprovider (for example,
* vendor=Microsoft; provider=SecureScore). Required.
*/
vendorInformation?: NullableOption<SecurityVendorInformation>;
}
// tslint:disable-next-line: interface-name
export interface ItemAnalytics extends Entity {
allTime?: NullableOption<ItemActivityStat>;
itemActivityStats?: NullableOption<ItemActivityStat[]>;
lastSevenDays?: NullableOption<ItemActivityStat>;
}
export interface ColumnDefinition extends Entity {
// This column stores boolean values.
boolean?: NullableOption<BooleanColumn>;
// This column's data is calculated based on other columns.
calculated?: NullableOption<CalculatedColumn>;
// This column stores data from a list of choices.
choice?: NullableOption<ChoiceColumn>;
// For site columns, the name of the group this column belongs to. Helps organize related columns.
columnGroup?: NullableOption<string>;
// This column stores content approval status.
contentApprovalStatus?: NullableOption<ContentApprovalStatusColumn>;
// This column stores currency values.
currency?: NullableOption<CurrencyColumn>;
// This column stores DateTime values.
dateTime?: NullableOption<DateTimeColumn>;
// The default value for this column.
defaultValue?: NullableOption<DefaultColumnValue>;
// The user-facing description of the column.
description?: NullableOption<string>;
// The user-facing name of the column.
displayName?: NullableOption<string>;
// If true, no two list items may have the same value for this column.
enforceUniqueValues?: NullableOption<boolean>;
// This column stores a geolocation.
geolocation?: NullableOption<GeolocationColumn>;
// Specifies whether the column is displayed in the user interface.
hidden?: NullableOption<boolean>;
// This column stores hyperlink or picture values.
hyperlinkOrPicture?: NullableOption<HyperlinkOrPictureColumn>;
// Specifies whether the column values can be used for sorting and searching.
indexed?: NullableOption<boolean>;
// Indicates whether this column can be deleted.
isDeletable?: NullableOption<boolean>;
// Indicates whether values in the column can be reordered. Read-only.
isReorderable?: NullableOption<boolean>;
// Specifies whether the column can be changed.
isSealed?: NullableOption<boolean>;
// This column's data is looked up from another source in the site.
lookup?: NullableOption<LookupColumn>;
/**
* The API-facing name of the column as it appears in the [fields][] on a [listItem][]. For the user-facing name, see
* displayName.
*/
name?: NullableOption<string>;
// This column stores number values.
number?: NullableOption<NumberColumn>;
// This column stores Person or Group values.
personOrGroup?: NullableOption<PersonOrGroupColumn>;
// If 'true', changes to this column will be propagated to lists that implement the column.
propagateChanges?: NullableOption<boolean>;
// Specifies whether the column values can be modified.
readOnly?: NullableOption<boolean>;
// Specifies whether the column value isn't optional.
required?: NullableOption<boolean>;
// ContentType from which this column is inherited from. Present only in contentTypes columns response. Read-only.
sourceContentType?: NullableOption<ContentTypeInfo>;
// This column stores taxonomy terms.
term?: NullableOption<TermColumn>;
// This column stores text values.
text?: NullableOption<TextColumn>;
// This column stores thumbnail values.
thumbnail?: NullableOption<ThumbnailColumn>;
// For site columns, the type of column. Read-only.
type?: NullableOption<ColumnTypes>;
// This column stores validation formula and message for the column.
validation?: NullableOption<ColumnValidation>;
// The source column for the content type column.
sourceColumn?: NullableOption<ColumnDefinition>;
}
export interface ContentType extends Entity {
/**
* List of canonical URLs for hub sites with which this content type is associated to. This will contain all hub sites
* where this content type is queued to be enforced or is already enforced. Enforcing a content type means that the
* content type will be applied to the lists in the enforced sites.
*/
associatedHubsUrls?: NullableOption<string[]>;
// The descriptive text for the item.
description?: NullableOption<string>;
// Document Set metadata.
documentSet?: NullableOption<DocumentSet>;
/**
* Document template metadata. To make sure that documents have consistent content across a site and its subsites, you can
* associate a Word, Excel, or PowerPoint template with a site content type.
*/
documentTemplate?: NullableOption<DocumentSetContent>;
// The name of the group this content type belongs to. Helps organize related content types.
group?: NullableOption<string>;
// Indicates whether the content type is hidden in the list's 'New' menu.
hidden?: NullableOption<boolean>;
/**
* If this content type is inherited from another scope (like a site), provides a reference to the item where the content
* type is defined.
*/
inheritedFrom?: NullableOption<ItemReference>;
// Specifies if a content type is a built-in content type.
isBuiltIn?: NullableOption<boolean>;
// The name of the content type.
name?: NullableOption<string>;
// Specifies the order in which the content type appears in the selection UI.
order?: NullableOption<ContentTypeOrder>;
// The unique identifier of the content type.
parentId?: NullableOption<string>;
/**
* If true, any changes made to the content type will be pushed to inherited content types and lists that implement the
* content type.
*/
propagateChanges?: NullableOption<boolean>;
// If true, the content type can't be modified unless this value is first set to false.
readOnly?: NullableOption<boolean>;
/**
* If true, the content type can't be modified by users or through push-down operations. Only site collection
* administrators can seal or unseal content types.
*/
sealed?: NullableOption<boolean>;
// Parent contentType from which this content type is derived.
base?: NullableOption<ContentType>;
// The collection of content types that are ancestors of this content type.
baseTypes?: NullableOption<ContentType[]>;
// The collection of columns that are required by this content type.
columnLinks?: NullableOption<ColumnLink[]>;
// Column order information in a content type.
columnPositions?: NullableOption<ColumnDefinition[]>;
// The collection of column definitions for this contentType.
columns?: NullableOption<ColumnDefinition[]>;
}
export interface List extends BaseItem {
// The displayable title of the list.
displayName?: NullableOption<string>;
// Provides additional details about the list.
list?: NullableOption<ListInfo>;
// Returns identifiers useful for SharePoint REST compatibility. Read-only.
sharepointIds?: NullableOption<SharepointIds>;
// If present, indicates that this is a system-managed list. Read-only.
system?: NullableOption<SystemFacet>;
// The collection of field definitions for this list.
columns?: NullableOption<ColumnDefinition[]>;
// The collection of content types present in this list.
contentTypes?: NullableOption<ContentType[]>;
// Only present on document libraries. Allows access to the list as a [drive][] resource with [driveItems][driveItem].
drive?: NullableOption<Drive>;
// All items contained in the list.
items?: NullableOption<ListItem[]>;
// The collection of long-running operations on the list.
operations?: NullableOption<RichLongRunningOperation[]>;
// The set of subscriptions on the list.
subscriptions?: NullableOption<Subscription[]>;
}
export interface LongRunningOperation extends Entity {
/**
* The start time of the operation. 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 is 2014-01-01T00:00:00Z.
*/
createdDateTime?: NullableOption<string>;
/**
* The time of the last action in the operation. 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 is 2014-01-01T00:00:00Z.
*/
lastActionDateTime?: NullableOption<string>;
// URI of the resource that the operation is performed on.
resourceLocation?: NullableOption<string>;
// The status of the operation. The possible values are: notStarted, running, succeeded, failed, unknownFutureValue.
status?: NullableOption<LongRunningOperationStatus>;
// Details about the status of the operation.
statusDetail?: NullableOption<string>;
}
export interface RichLongRunningOperation extends LongRunningOperation {
// Error that caused the operation to fail.
error?: NullableOption<PublicError>;
// A value between 0 and 100 that indicates the progress of the operation.
percentageComplete?: NullableOption<number>;
// The unique identifier for the result.
resourceId?: NullableOption<string>;
// The type of the operation.
type?: NullableOption<string>;
}
export interface Permission extends Entity {
/**
* A format of yyyy-MM-ddTHH:mm:ssZ of DateTimeOffset indicates the expiration time of the permission. DateTime.MinValue
* indicates there is no expiration set for this permission. Optional.
*/
expirationDateTime?: NullableOption<string>;
grantedTo?: NullableOption<IdentitySet>;
grantedToIdentities?: NullableOption<IdentitySet[]>;
// For link type permissions, the details of the users to whom permission was granted. Read-only.
grantedToIdentitiesV2?: NullableOption<SharePointIdentitySet[]>;
// For user type permissions, the details of the users and applications for this permission. Read-only.
grantedToV2?: NullableOption<SharePointIdentitySet>;
/**
* Indicates whether the password is set for this permission. This property only appears in the response. Optional.
* Read-only. For OneDrive Personal only..
*/
hasPassword?: NullableOption<boolean>;
// Provides a reference to the ancestor of the current permission, if it is inherited from an ancestor. Read-only.
inheritedFrom?: NullableOption<ItemReference>;
// Details of any associated sharing invitation for this permission. Read-only.
invitation?: NullableOption<SharingInvitation>;
// Provides the link details of the current permission, if it is a link type permissions. Read-only.
link?: NullableOption<SharingLink>;
// The type of permission, for example, read. See below for the full list of roles. Read-only.
roles?: NullableOption<string[]>;
// A unique token that can be used to access this shared item via the **shares** API. Read-only.
shareId?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
export interface IdentityApiConnector extends Entity {
/**
* The object which describes the authentication configuration details for calling the API. Basic and PKCS 12 client
* certificate are supported.
*/
authenticationConfiguration?: NullableOption<ApiAuthenticationConfigurationBase>;
// The name of the API connector.
displayName?: NullableOption<string>;
// The URL of the API endpoint to call.
targetUrl?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
export interface IdentityProviderBase extends Entity {
// The display name of the identity provider.
displayName?: NullableOption<string>;
}
export interface AppleManagedIdentityProvider extends IdentityProviderBase {
// The certificate data, which is a long string of text from the certificate. Can be null.
certificateData?: NullableOption<string>;
// The Apple developer identifier. Required.
developerId?: NullableOption<string>;
// The Apple key identifier. Required.
keyId?: NullableOption<string>;
// The Apple service identifier. Required.
serviceId?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
export interface IdentityUserFlow extends Entity {
userFlowType?: UserFlowType;
userFlowTypeVersion?: number;
}
export interface B2xIdentityUserFlow extends IdentityUserFlow {
/**
* Configuration for enabling an API connector for use as part of the self-service sign-up user flow. You can only obtain
* the value of this object using Get userFlowApiConnectorConfiguration.
*/
apiConnectorConfiguration?: NullableOption<UserFlowApiConnectorConfiguration>;
// The identity providers included in the user flow.
identityProviders?: NullableOption<IdentityProvider[]>;
/**
* The languages supported for customization within the user flow. Language customization is enabled by default in
* self-service sign-up user flow. You cannot create custom languages in self-service sign-up user flows.
*/
languages?: NullableOption<UserFlowLanguageConfiguration[]>;
// The user attribute assignments included in the user flow.
userAttributeAssignments?: NullableOption<IdentityUserFlowAttributeAssignment[]>;
userFlowIdentityProviders?: NullableOption<IdentityProviderBase[]>;
}
// tslint:disable-next-line: interface-name
export interface IdentityProvider extends Entity {
/**
* The client ID for the application. This is the client ID obtained when registering the application with the identity
* provider. Required. Not nullable.
*/
clientId?: NullableOption<string>;
/**
* The client secret for the application. This is the client secret obtained when registering the application with the
* identity provider. This is write-only. A read operation will return ****. Required. Not nullable.
*/
clientSecret?: NullableOption<string>;
// The display name of the identity provider. Not nullable.
name?: NullableOption<string>;
/**
* The identity provider type is a required field. For B2B scenario: Google, Facebook. For B2C scenario: Microsoft,
* Google, Amazon, LinkedIn, Facebook, GitHub, Twitter, Weibo, QQ, WeChat, OpenIDConnect. Not nullable.
*/
type?: NullableOption<string>;
}
export interface UserFlowLanguageConfiguration extends Entity {
// The language name to display. This property is read-only.
displayName?: NullableOption<string>;
// Indicates whether the language is enabled within the user flow.
isEnabled?: boolean;
/**
* Collection of pages with the default content to display in a user flow for a specified language. This collection does
* not allow any kind of modification.
*/
defaultPages?: NullableOption<UserFlowLanguagePage[]>;
/**
* Collection of pages with the overrides messages to display in a user flow for a specified language. This collection
* only allows to modify the content of the page, any other modification is not allowed (creation or deletion of pages).
*/
overridesPages?: NullableOption<UserFlowLanguagePage[]>;
}
// tslint:disable-next-line: interface-name
export interface IdentityUserFlowAttributeAssignment extends Entity {
// The display name of the identityUserFlowAttribute within a user flow.
displayName?: NullableOption<string>;
/**
* Determines whether the identityUserFlowAttribute is optional. true means the user doesn't have to provide a value.
* false means the user cannot complete sign-up without providing a value.
*/
isOptional?: boolean;
/**
* Determines whether the identityUserFlowAttribute requires verification. This is only used for verifying the user's
* phone number or email address.
*/
requiresVerification?: boolean;
/**
* The input options for the user flow attribute. Only applicable when the userInputType is radioSingleSelect,
* dropdownSingleSelect, or checkboxMultiSelect.
*/
userAttributeValues?: NullableOption<UserAttributeValuesItem[]>;
/**
* The input type of the user flow attribute. Possible values are: textBox, dateTimeDropdown, radioSingleSelect,
* dropdownSingleSelect, emailBox, checkboxMultiSelect.
*/
userInputType?: IdentityUserFlowAttributeInputType;
// The user attribute that you want to add to your user flow.
userAttribute?: NullableOption<IdentityUserFlowAttribute>;
}
export interface BuiltInIdentityProvider extends IdentityProviderBase {
// The identity provider type. For a B2B scenario, possible values: AADSignup, MicrosoftAccount, EmailOTP. Required.
identityProviderType?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
export interface IdentityUserFlowAttribute extends Entity {
/**
* The data type of the user flow attribute. This cannot be modified after the custom user flow attribute is created. The
* supported values for dataType are: string , boolean , int64 , stringCollection , dateTime.
*/
dataType?: IdentityUserFlowAttributeDataType;
// The description of the user flow attribute that's shown to the user at the time of sign-up.
description?: NullableOption<string>;
// The display name of the user flow attribute.
displayName?: NullableOption<string>;
/**
* The type of the user flow attribute. This is a read-only attribute that is automatically set. Depending on the type of
* attribute, the values for this property will be builtIn, custom, or required.
*/
userFlowAttributeType?: IdentityUserFlowAttributeType;
}
// tslint:disable-next-line: interface-name no-empty-interface
export interface IdentityBuiltInUserFlowAttribute extends IdentityUserFlowAttribute {}
// tslint:disable-next-line: interface-name
export interface IdentityContainer extends Entity {
// Represents entry point for API connectors.
apiConnectors?: NullableOption<IdentityApiConnector[]>;
// Represents entry point for B2X/self-service sign-up identity userflows.
b2xUserFlows?: NullableOption<B2xIdentityUserFlow[]>;
identityProviders?: NullableOption<IdentityProviderBase[]>;
// Represents entry point for identity userflow attributes.
userFlowAttributes?: NullableOption<IdentityUserFlowAttribute[]>;
// the entry point for the Conditional Access (CA) object model.
conditionalAccess?: NullableOption<ConditionalAccessRoot>;
}
// tslint:disable-next-line: interface-name no-empty-interface
export interface IdentityCustomUserFlowAttribute extends IdentityUserFlowAttribute {}
export interface SocialIdentityProvider extends IdentityProviderBase {
/**
* The identifier for the client application obtained when registering the application with the identity provider.
* Required.
*/
clientId?: NullableOption<string>;
/**
* The client secret for the application that is obtained when the application is registered with the identity provider.
* This is write-only. A read operation returns ****. Required.
*/
clientSecret?: NullableOption<string>;
/**
* For a B2B scenario, possible values: Google, Facebook. For a B2C scenario, possible values: Microsoft, Google, Amazon,
* LinkedIn, Facebook, GitHub, Twitter, Weibo, QQ, WeChat. Required.
*/
identityProviderType?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface UserFlowLanguagePage extends Entity {}
export interface AdministrativeUnit extends DirectoryObject {
// An optional description for the administrative unit. Supports $filter (eq, ne, in, startsWith), $search.
description?: NullableOption<string>;
/**
* Display name for the administrative unit. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null
* values), $search, and $orderBy.
*/
displayName?: NullableOption<string>;
/**
* Controls whether the administrative unit and its members are hidden or public. Can be set to HiddenMembership. If not
* set (value is null), the default behavior is public. When set to HiddenMembership, only members of the administrative
* unit can list other members of the administrative unit.
*/
visibility?: NullableOption<string>;
// Users and groups that are members of this administrative unit. Supports $expand.
members?: NullableOption<DirectoryObject[]>;
// Scoped-role members of this administrative unit.
scopedRoleMembers?: NullableOption<ScopedRoleMembership[]>;
// The collection of open extensions defined for this administrative unit. Nullable.
extensions?: NullableOption<Extension[]>;
}
export interface AllowedValue extends Entity {
/**
* Indicates whether the predefined value is active or deactivated. If set to false, this predefined value cannot be
* assigned to any additional supported directory objects.
*/
isActive?: NullableOption<boolean>;
}
export interface AppScope extends Entity {
/**
* Provides the display name of the app-specific resource represented by the app scope. Provided for display purposes
* since appScopeId is often an immutable, non-human-readable id. Read-only.
*/
displayName?: NullableOption<string>;
/**
* Describes the type of app-specific resource represented by the app scope. Provided for display purposes, so a user
* interface can convey to the user the kind of app specific resource represented by the app scope. Read-only.
*/
type?: NullableOption<string>;
}
export interface AttributeSet extends Entity {
/**
* Description of the attribute set. Can be up to 128 characters long and include Unicode characters. Can be changed
* later.
*/
description?: NullableOption<string>;
/**
* Maximum number of custom security attributes that can be defined in this attribute set. Default value is null. If not
* specified, the administrator can add up to the maximum of 500 active attributes per tenant. Can be changed later.
*/
maxAttributesPerSet?: NullableOption<number>;
}
export interface CertificateBasedAuthConfiguration extends Entity {
// Collection of certificate authorities which creates a trusted certificate chain.
certificateAuthorities?: CertificateAuthority[];
}
export interface Contract extends DirectoryObject {
/**
* Type of contract. Possible values are: SyndicationPartner, BreadthPartner, ResellerPartner. See more in the table
* below.
*/
contractType?: NullableOption<string>;
/**
* The unique identifier for the customer tenant referenced by this partnership. Corresponds to the id property of the
* customer tenant's organization resource.
*/
customerId?: NullableOption<string>;
/**
* A copy of the customer tenant's default domain name. The copy is made when the partnership with the customer is
* established. It is not automatically updated if the customer tenant's default domain name changes.
*/
defaultDomainName?: NullableOption<string>;
/**
* A copy of the customer tenant's display name. The copy is made when the partnership with the customer is established.
* It is not automatically updated if the customer tenant's display name changes.
*/
displayName?: NullableOption<string>;
}
export interface CrossTenantAccessPolicyConfigurationDefault extends Entity {
/**
* Determines the default configuration for automatic user consent settings. The inboundAllowed and outboundAllowed
* properties are always false and cannot be updated in the default configuration. Read-only.
*/
automaticUserConsentSettings?: NullableOption<InboundOutboundPolicyConfiguration>;
/**
* Defines your default configuration for users from other organizations accessing your resources via Azure AD B2B
* collaboration.
*/
b2bCollaborationInbound?: NullableOption<CrossTenantAccessPolicyB2BSetting>;
/**
* Defines your default configuration for users in your organization going outbound to access resources in another
* organization via Azure AD B2B collaboration.
*/
b2bCollaborationOutbound?: NullableOption<CrossTenantAccessPolicyB2BSetting>;
/**
* Defines your default configuration for users from other organizations accessing your resources via Azure AD B2B direct
* connect.
*/
b2bDirectConnectInbound?: NullableOption<CrossTenantAccessPolicyB2BSetting>;
/**
* Defines your default configuration for users in your organization going outbound to access resources in another
* organization via Azure AD B2B direct connect.
*/
b2bDirectConnectOutbound?: NullableOption<CrossTenantAccessPolicyB2BSetting>;
// Determines the default configuration for trusting other Conditional Access claims from external Azure AD organizations.
inboundTrust?: NullableOption<CrossTenantAccessPolicyInboundTrust>;
/**
* If true, the default configuration is set to the system default configuration. If false, the default settings have been
* customized.
*/
isServiceDefault?: NullableOption<boolean>;
}
export interface CrossTenantAccessPolicyConfigurationPartner {
/**
* Determines the partner-specific configuration for automatic user consent settings. Unless specifically configured, the
* inboundAllowed and outboundAllowed properties are null and inherit from the default settings, which is always false.
*/
automaticUserConsentSettings?: NullableOption<InboundOutboundPolicyConfiguration>;
/**
* Defines your partner-specific configuration for users from other organizations accessing your resources via Azure AD
* B2B collaboration.
*/
b2bCollaborationInbound?: NullableOption<CrossTenantAccessPolicyB2BSetting>;
/**
* Defines your partner-specific configuration for users in your organization going outbound to access resources in
* another organization via Azure AD B2B collaboration.
*/
b2bCollaborationOutbound?: NullableOption<CrossTenantAccessPolicyB2BSetting>;
/**
* Defines your partner-specific configuration for users from other organizations accessing your resources via Azure B2B
* direct connect.
*/
b2bDirectConnectInbound?: NullableOption<CrossTenantAccessPolicyB2BSetting>;
/**
* Defines your partner-specific configuration for users in your organization going outbound to access resources in
* another organization via Azure AD B2B direct connect.
*/
b2bDirectConnectOutbound?: NullableOption<CrossTenantAccessPolicyB2BSetting>;
/**
* Determines the partner-specific configuration for trusting other Conditional Access claims from external Azure AD
* organizations.
*/
inboundTrust?: NullableOption<CrossTenantAccessPolicyInboundTrust>;
// Identifies whether the partner-specific configuration is a Cloud Service Provider for your organization.
isServiceProvider?: NullableOption<boolean>;
// The tenant identifier for the partner Azure AD organization. Read-only. Key.
tenantId?: string;
/**
* Defines the cross-tenant policy for the synchronization of users from a partner tenant. Use this user synchronization
* policy to streamline collaboration between users in a multi-tenant organization by automating the creation, update, and
* deletion of users from one tenant to another.
*/
identitySynchronization?: NullableOption<CrossTenantIdentitySyncPolicyPartner>;
}
export interface CrossTenantIdentitySyncPolicyPartner {
/**
* Display name for the cross-tenant user synchronization policy. Use the name of the partner Azure AD (Azure Active
* Directory) tenant to easily identify the policy. Optional.
*/
displayName?: NullableOption<string>;
// Tenant identifier for the partner Azure AD organization. Read-only.
tenantId?: string;
// Defines whether users can be synchronized from the partner tenant. Key.
userSyncInbound?: NullableOption<CrossTenantUserSyncInbound>;
}
export interface CustomSecurityAttributeDefinition extends Entity {
// Name of the attribute set. Case insensitive.
attributeSet?: string;
/**
* Description of the custom security attribute. Can be up to 128 characters long and include Unicode characters. Can be
* changed later.
*/
description?: NullableOption<string>;
/**
* Indicates whether multiple values can be assigned to the custom security attribute. Cannot be changed later. If type is
* set to Boolean, isCollection cannot be set to true.
*/
isCollection?: boolean;
/**
* Indicates whether custom security attribute values are indexed for searching on objects that are assigned attribute
* values. Cannot be changed later.
*/
isSearchable?: NullableOption<boolean>;
/**
* Name of the custom security attribute. Must be unique within an attribute set. Can be up to 32 characters long and
* include Unicode characters. Cannot contain spaces or special characters. Cannot be changed later. Case insensitive.
*/
name?: string;
/**
* Specifies whether the custom security attribute is active or deactivated. Acceptable values are: Available and
* Deprecated. Can be changed later.
*/
status?: string;
/**
* Data type for the custom security attribute values. Supported types are: Boolean, Integer, and String. Cannot be
* changed later.
*/
type?: string;
/**
* Indicates whether only predefined values can be assigned to the custom security attribute. If set to false, free-form
* values are allowed. Can later be changed from true to false, but cannot be changed from false to true. If type is set
* to Boolean, usePreDefinedValuesOnly cannot be set to true.
*/
usePreDefinedValuesOnly?: NullableOption<boolean>;
/**
* Values that are predefined for this custom security attribute. This navigation property is not returned by default and
* must be specified in an $expand query. For example,
* /directory/customSecurityAttributeDefinitions?$expand=allowedValues.
*/
allowedValues?: NullableOption<AllowedValue[]>;
}
export interface Device extends DirectoryObject {
/**
* true if the account is enabled; otherwise, false. Required. Default is true. Supports $filter (eq, ne, not, in). Only
* callers in Global Administrator and Cloud Device Administrator roles can set this property.
*/
accountEnabled?: NullableOption<boolean>;
// For internal use only. Not nullable. Supports $filter (eq, not, ge, le).
alternativeSecurityIds?: AlternativeSecurityId[];
/**
* 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 is 2014-01-01T00:00:00Z. Read-only. Supports $filter (eq, ne, not, ge, le, and eq on null
* values) and $orderBy.
*/
approximateLastSignInDateTime?: NullableOption<string>;
/**
* The timestamp when the device is no longer deemed compliant. 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 is 2014-01-01T00:00:00Z.
* Read-only.
*/
complianceExpirationDateTime?: NullableOption<string>;
// User-defined property set by Intune to automatically add devices to groups and simplify managing devices.
deviceCategory?: NullableOption<string>;
/**
* Unique identifier set by Azure Device Registration Service at the time of registration. This is an alternate key that
* can be used to reference the device object. Supports $filter (eq, ne, not, startsWith).
*/
deviceId?: NullableOption<string>;
// For internal use only. Set to null.
deviceMetadata?: NullableOption<string>;
// Ownership of the device. This property is set by Intune. Possible values are: unknown, company, personal.
deviceOwnership?: NullableOption<string>;
// For internal use only.
deviceVersion?: NullableOption<number>;
/**
* The display name for the device. Required. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null
* values), $search, and $orderBy.
*/
displayName?: NullableOption<string>;
/**
* Enrollment profile applied to the device. For example, Apple Device Enrollment Profile, Device enrollment - Corporate
* device identifiers, or Windows Autopilot profile name. This property is set by Intune.
*/
enrollmentProfileName?: NullableOption<string>;
/**
* true if the device complies with Mobile Device Management (MDM) policies; otherwise, false. Read-only. This can only be
* updated by Intune for any device OS type or by an approved MDM app for Windows OS devices. Supports $filter (eq, ne,
* not).
*/
isCompliant?: NullableOption<boolean>;
/**
* true if the device is managed by a Mobile Device Management (MDM) app; otherwise, false. This can only be updated by
* Intune for any device OS type or by an approved MDM app for Windows OS devices. Supports $filter (eq, ne, not).
*/
isManaged?: NullableOption<boolean>;
// Application identifier used to register device into MDM. Read-only. Supports $filter (eq, ne, not, startsWith).
mdmAppId?: NullableOption<string>;
/**
* The last time at which the object was synced with the on-premises directory. 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 is
* 2014-01-01T00:00:00Z Read-only. Supports $filter (eq, ne, not, ge, le, in).
*/
onPremisesLastSyncDateTime?: NullableOption<string>;
/**
* 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. Supports $filter (eq, ne, not, in, and eq on null values).
*/
onPremisesSyncEnabled?: NullableOption<boolean>;
/**
* The type of operating system on the device. Required. Supports $filter (eq, ne, not, ge, le, startsWith, and eq on null
* values).
*/
operatingSystem?: NullableOption<string>;
/**
* The version of the operating system on the device. Required. Supports $filter (eq, ne, not, ge, le, startsWith, and eq
* on null values).
*/
operatingSystemVersion?: NullableOption<string>;
// For internal use only. Not nullable. Supports $filter (eq, not, ge, le, startsWith,/$count eq 0, /$count ne 0).
physicalIds?: string[];
// The profile type of the device. Possible values: RegisteredDevice (default), SecureVM, Printer, Shared, IoT.
profileType?: NullableOption<string>;
/**
* Date and time of when the device was registered. 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 is 2014-01-01T00:00:00Z. Read-only.
*/
registrationDateTime?: NullableOption<string>;
// List of labels applied to the device by the system. Supports $filter (/$count eq 0, /$count ne 0).
systemLabels?: string[];
/**
* Type of trust for the joined device. Read-only. Possible values: Workplace (indicates bring your own personal devices),
* AzureAd (Cloud only joined devices), ServerAd (on-premises domain joined devices joined to Azure AD). For more details,
* see Introduction to device management in Azure Active Directory
*/
trustType?: NullableOption<string>;
// Groups and administrative units that this device is a member of. Read-only. Nullable. Supports $expand.
memberOf?: NullableOption<DirectoryObject[]>;
/**
* The user that cloud joined the device or registered their personal device. The registered owner is set at the time of
* registration. Read-only. Nullable. Supports $expand.
*/
registeredOwners?: NullableOption<DirectoryObject[]>;
/**
* Collection of registered users of the device. For cloud joined devices and registered personal devices, registered
* users are set to the same value as registered owners at the time of registration. Read-only. Nullable. Supports
* $expand.
*/
registeredUsers?: NullableOption<DirectoryObject[]>;
// Groups and administrative units that the device is a member of. This operation is transitive. Supports $expand.
transitiveMemberOf?: NullableOption<DirectoryObject[]>;
// The collection of open extensions defined for the device. Read-only. Nullable.
extensions?: NullableOption<Extension[]>;
}
export interface Directory extends Entity {
// Conceptual container for user and group directory objects.
administrativeUnits?: NullableOption<AdministrativeUnit[]>;
// Group of related custom security attribute definitions.
attributeSets?: NullableOption<AttributeSet[]>;
// Schema of a custom security attributes (key-value pairs).
customSecurityAttributeDefinitions?: NullableOption<CustomSecurityAttributeDefinition[]>;
// Recently deleted items. Read-only. Nullable.
deletedItems?: NullableOption<DirectoryObject[]>;
/**
* Configure domain federation with organizations whose identity provider (IdP) supports either the SAML or WS-Fed
* protocol.
*/
federationConfigurations?: NullableOption<IdentityProviderBase[]>;
// A container for on-premises directory synchronization functionalities that are available for the organization.
onPremisesSynchronization?: NullableOption<OnPremisesDirectorySynchronization[]>;
}
export interface OnPremisesDirectorySynchronization extends Entity {
/**
* Consists of configurations that can be fine-tuned and impact the on-premises directory synchronization process for a
* tenant.
*/
configuration?: NullableOption<OnPremisesDirectorySynchronizationConfiguration>;
// Consists of directory synchronization features that can be enabled or disabled.
features?: OnPremisesDirectorySynchronizationFeature;
}
export interface DirectoryObjectPartnerReference extends DirectoryObject {
// Description of the object returned. Read-only.
description?: NullableOption<string>;
// Name of directory object being returned, like group or application. Read-only.
displayName?: NullableOption<string>;
// The tenant identifier for the partner tenant. Read-only.
externalPartnerTenantId?: NullableOption<string>;
// The type of the referenced object in the partner tenant. Read-only.
objectType?: NullableOption<string>;
}
export interface DirectoryRole extends DirectoryObject {
// The description for the directory role. Read-only. Supports $filter (eq), $search, $select.
description?: NullableOption<string>;
// The display name for the directory role. Read-only. Supports $filter (eq), $search, $select.
displayName?: NullableOption<string>;
/**
* The id of the directoryRoleTemplate that this role is based on. The property must be specified when activating a
* directory role in a tenant with a POST operation. After the directory role has been activated, the property is read
* only. Supports $filter (eq), $select.
*/
roleTemplateId?: NullableOption<string>;
// Users that are members of this directory role. HTTP Methods: GET, POST, DELETE. Read-only. Nullable. Supports $expand.
members?: NullableOption<DirectoryObject[]>;
// Members of this directory role that are scoped to administrative units. Read-only. Nullable.
scopedMembers?: NullableOption<ScopedRoleMembership[]>;
}
export interface DirectoryRoleTemplate extends DirectoryObject {
// The description to set for the directory role. Read-only.
description?: NullableOption<string>;
// The display name to set for the directory role. Read-only.
displayName?: NullableOption<string>;
}
export interface Domain extends Entity {
/**
* Indicates the configured authentication type for the domain. The value is either Managed or Federated. Managed
* indicates a cloud managed domain where Azure AD performs user authentication. Federated indicates authentication is
* federated with an identity provider such as the tenant's on-premises Active Directory via Active Directory Federation
* Services. This property is read-only and is not nullable.
*/
authenticationType?: string;
/**
* This property is always null except when the verify action is used. When the verify action is used, a domain entity is
* returned in the response. The availabilityStatus property of the domain entity in the response is either
* AvailableImmediately or EmailVerifiedDomainTakeoverScheduled.
*/
availabilityStatus?: NullableOption<string>;
/**
* The value of the property is false if the DNS record management of the domain has been delegated to Microsoft 365.
* Otherwise, the value is true. Not nullable
*/
isAdminManaged?: boolean;
/**
* true if this is the default domain that is used for user creation. There is only one default domain per company. Not
* nullable
*/
isDefault?: boolean;
/**
* true if this is the initial domain created by Microsoft Online Services (companyname.onmicrosoft.com). There is only
* one initial domain per company. Not nullable
*/
isInitial?: boolean;
// true if the domain is a verified root domain. Otherwise, false if the domain is a subdomain or unverified. Not nullable
isRoot?: boolean;
// true if the domain has completed domain ownership verification. Not nullable
isVerified?: boolean;
manufacturer?: NullableOption<string>;
model?: NullableOption<string>;
/**
* Specifies the number of days before a user receives notification that their password will expire. If the property is
* not set, a default value of 14 days will be used.
*/
passwordNotificationWindowInDays?: NullableOption<number>;
/**
* Specifies the length of time that a password is valid before it must be changed. If the property is not set, a default
* value of 90 days will be used.
*/
passwordValidityPeriodInDays?: NullableOption<number>;
// Status of asynchronous operations scheduled for the domain.
state?: NullableOption<DomainState>;
/**
* The capabilities assigned to the domain. Can include 0, 1 or more of following values: Email, Sharepoint,
* EmailInternalRelayOnly, OfficeCommunicationsOnline, SharePointDefaultDomain, FullRedelegation, SharePointPublic,
* OrgIdAuthentication, Yammer, Intune. The values which you can add/remove using Graph API include: Email,
* OfficeCommunicationsOnline, Yammer. Not nullable.
*/
supportedServices?: string[];
/**
* The objects such as users and groups that reference the domain ID. Read-only, Nullable. Supports $expand and $filter by
* the OData type of objects returned. For example /domains/{domainId}/domainNameReferences/microsoft.graph.user and
* /domains/{domainId}/domainNameReferences/microsoft.graph.group.
*/
domainNameReferences?: NullableOption<DirectoryObject[]>;
// Domain settings configured by a customer when federated with Azure AD. Supports $expand.
federationConfiguration?: NullableOption<InternalDomainFederation[]>;
/**
* DNS records the customer adds to the DNS zone file of the domain before the domain can be used by Microsoft Online
* services. Read-only, Nullable. Supports $expand.
*/
serviceConfigurationRecords?: NullableOption<DomainDnsRecord[]>;
/**
* DNS records that the customer adds to the DNS zone file of the domain before the customer can complete domain ownership
* verification with Azure AD. Read-only, Nullable. Supports $expand.
*/
verificationDnsRecords?: NullableOption<DomainDnsRecord[]>;
}
export interface SamlOrWsFedProvider extends IdentityProviderBase {
// Issuer URI of the federation server.
issuerUri?: NullableOption<string>;
// URI of the metadata exchange endpoint used for authentication from rich client applications.
metadataExchangeUri?: NullableOption<string>;
// URI that web-based clients are directed to when signing in to Azure Active Directory (Azure AD) services.
passiveSignInUri?: NullableOption<string>;
// Preferred authentication protocol. The possible values are: wsFed, saml, unknownFutureValue.
preferredAuthenticationProtocol?: NullableOption<AuthenticationProtocol>;
/**
* Current certificate used to sign tokens passed to the Microsoft identity platform. The certificate is formatted as a
* Base64 encoded string of the public portion of the federated IdP's token signing certificate and must be compatible
* with the X509Certificate2 class. This property is used in the following scenarios: if a rollover is required outside of
* the autorollover update a new federation service is being set up if the new token signing certificate isn't present in
* the federation properties after the federation service certificate has been updated. Azure AD updates certificates via
* an autorollover process in which it attempts to retrieve a new certificate from the federation service metadata, 30
* days before expiry of the current certificate. If a new certificate isn't available, Azure AD monitors the metadata
* daily and will update the federation settings for the domain when a new certificate is available.
*/
signingCertificate?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
export interface InternalDomainFederation extends SamlOrWsFedProvider {
/**
* URL of the endpoint used by active clients when authenticating with federated domains set up for single sign-on in
* Azure Active Directory (Azure AD). Corresponds to the ActiveLogOnUri property of the Set-MsolDomainFederationSettings
* MSOnline v1 PowerShell cmdlet.
*/
activeSignInUri?: NullableOption<string>;
/**
* Determines whether Azure AD accepts the MFA performed by the federated IdP when a federated user accesses an
* application that is governed by a conditional access policy that requires MFA. The possible values are:
* acceptIfMfaDoneByFederatedIdp, enforceMfaByFederatedIdp, rejectMfaByFederatedIdp, unknownFutureValue. For more
* information, see federatedIdpMfaBehavior values.
*/
federatedIdpMfaBehavior?: NullableOption<FederatedIdpMfaBehavior>;
/**
* If true, when SAML authentication requests are sent to the federated SAML IdP, Azure AD will sign those requests using
* the OrgID signing key. If false (default), the SAML authentication requests sent to the federated IdP are not signed.
*/
isSignedAuthenticationRequestRequired?: NullableOption<boolean>;
/**
* Fallback token signing certificate that is used to sign tokens when the primary signing certificate expires. Formatted
* as Base64 encoded strings of the public portion of the federated IdP's token signing certificate. Needs to be
* compatible with the X509Certificate2 class. Much like the signingCertificate, the nextSigningCertificate property is
* used if a rollover is required outside of the auto-rollover update, a new federation service is being set up, or if the
* new token signing certificate is not present in the federation properties after the federation service certificate has
* been updated.
*/
nextSigningCertificate?: NullableOption<string>;
/**
* Sets the preferred behavior for the sign-in prompt. The possible values are: translateToFreshPasswordAuthentication,
* nativeSupport, disabled, unknownFutureValue.
*/
promptLoginBehavior?: NullableOption<PromptLoginBehavior>;
// Provides status and timestamp of the last update of the signing certificate.
signingCertificateUpdateStatus?: NullableOption<SigningCertificateUpdateStatus>;
/**
* URI that clients are redirected to when they sign out of Azure AD services. Corresponds to the LogOffUri property of
* the Set-MsolDomainFederationSettings MSOnline v1 PowerShell cmdlet.
*/
signOutUri?: NullableOption<string>;
}
export interface DomainDnsRecord extends Entity {
/**
* If false, this record must be configured by the customer at the DNS host for Microsoft Online Services to operate
* correctly with the domain.
*/
isOptional?: boolean;
// Value used when configuring the name of the DNS record at the DNS host.
label?: string;
// Indicates what type of DNS record this entity represents.The value can be one of the following: CName, Mx, Srv, Txt.
recordType?: NullableOption<string>;
/**
* Microsoft Online Service or feature that has a dependency on this DNS record.Can be one of the following values: null,
* Email, Sharepoint, EmailInternalRelayOnly, OfficeCommunicationsOnline, SharePointDefaultDomain, FullRedelegation,
* SharePointPublic, OrgIdAuthentication, Yammer, Intune.
*/
supportedService?: string;
// Value to use when configuring the time-to-live (ttl) property of the DNS record at the DNS host. Not nullable.
ttl?: number;
}
export interface DomainDnsCnameRecord extends DomainDnsRecord {
// The canonical name of the CNAME record. Used to configure the CNAME record at the DNS host.
canonicalName?: NullableOption<string>;
}
export interface DomainDnsMxRecord extends DomainDnsRecord {
// Value used when configuring the answer/destination/value of the MX record at the DNS host.
mailExchange?: string;
// Value used when configuring the Preference/Priority property of the MX record at the DNS host.
preference?: NullableOption<number>;
}
export interface DomainDnsSrvRecord extends DomainDnsRecord {
// Value to use when configuring the Target property of the SRV record at the DNS host.
nameTarget?: NullableOption<string>;
// Value to use when configuring the port property of the SRV record at the DNS host.
port?: NullableOption<number>;
// Value to use when configuring the priority property of the SRV record at the DNS host.
priority?: NullableOption<number>;
// Value to use when configuring the protocol property of the SRV record at the DNS host.
protocol?: NullableOption<string>;
// Value to use when configuring the service property of the SRV record at the DNS host.
service?: NullableOption<string>;
// Value to use when configuring the weight property of the SRV record at the DNS host.
weight?: NullableOption<number>;
}
export interface DomainDnsTxtRecord extends DomainDnsRecord {
// Value used when configuring the text property at the DNS host.
text?: string;
}
export interface DomainDnsUnavailableRecord extends DomainDnsRecord {
// Provides the reason why the DomainDnsUnavailableRecord entity is returned.
description?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface ExternalDomainName extends Entity {}
export interface GroupSettingTemplate extends DirectoryObject {
// Description of the template.
description?: NullableOption<string>;
/**
* Display name of the template. The template named Group.Unified can be used to configure tenant-wide Microsoft 365 group
* settings, while the template named Group.Unified.Guest can be used to configure group-specific settings.
*/
displayName?: NullableOption<string>;
/**
* Collection of settingTemplateValues that list the set of available settings, defaults and types that make up this
* template.
*/
values?: SettingTemplateValue[];
}
export interface Organization extends DirectoryObject {
// The collection of service plans associated with the tenant. Not nullable.
assignedPlans?: AssignedPlan[];
/**
* Telephone number for the organization. Although this is a string collection, only one number can be set for this
* property.
*/
businessPhones?: string[];
// City name of the address for the organization.
city?: NullableOption<string>;
// Country/region name of the address for the organization.
country?: NullableOption<string>;
// Country or region abbreviation for the organization in ISO 3166-2 format.
countryLetterCode?: NullableOption<string>;
/**
* Timestamp of when the organization was created. The value cannot be modified and is automatically populated when the
* organization is created. 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 is 2014-01-01T00:00:00Z. Read-only.
*/
createdDateTime?: NullableOption<string>;
// Two-letter ISO 3166 country code indicating the default service usage location of an organization.
defaultUsageLocation?: NullableOption<string>;
// The display name for the tenant.
displayName?: NullableOption<string>;
// Not nullable.
marketingNotificationEmails?: string[];
/**
* The time and date at which the tenant was last synced with the on-premises directory. 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 is
* 2014-01-01T00:00:00Z. Read-only.
*/
onPremisesLastSyncDateTime?: NullableOption<string>;
/**
* 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. Nullable. null if this object has never been synced from an on-premises
* directory (default).
*/
onPremisesSyncEnabled?: NullableOption<boolean>;
/**
* The type of partnership this tenant has with Microsoft. The possible values are: microsoftSupport, syndicatePartner,
* breadthPartner, breadthPartnerDelegatedAdmin, resellerPartnerDelegatedAdmin, valueAddedResellerPartnerDelegatedAdmin,
* unknownFutureValue. Nullable. For more information about the possible types, see partnerTenantType values.
*/
partnerTenantType?: NullableOption<PartnerTenantType>;
// Postal code of the address for the organization.
postalCode?: NullableOption<string>;
// The preferred language for the organization. Should follow ISO 639-1 Code; for example, en.
preferredLanguage?: NullableOption<string>;
// The privacy profile of an organization.
privacyProfile?: NullableOption<PrivacyProfile>;
// Not nullable.
provisionedPlans?: ProvisionedPlan[];
securityComplianceNotificationMails?: string[];
securityComplianceNotificationPhones?: string[];
// State name of the address for the organization.
state?: NullableOption<string>;
// Street name of the address for organization.
street?: NullableOption<string>;
// Not nullable.
technicalNotificationMails?: string[];
/**
* Not nullable. The tenant type option that was selected when the tenant was created. The possible values are: AAD - An
* enterprise identity access management (IAM) service that serves business-to-employee and business-to-business (B2B)
* scenarios. AAD B2C A customer identity access management (CIAM) service that serves business-to-consumer (B2C)
* scenarios.
*/
tenantType?: NullableOption<string>;
// The collection of domains associated with this tenant. Not nullable.
verifiedDomains?: VerifiedDomain[];
// Mobile device management authority. Possible values are: unknown, intune, sccm, office365.
mobileDeviceManagementAuthority?: MdmAuthority;
// Branding for the organization. Nullable.
branding?: NullableOption<OrganizationalBranding>;
/**
* Navigation property to manage certificate-based authentication configuration. Only a single instance of
* certificateBasedAuthConfiguration can be created in the collection.
*/
certificateBasedAuthConfiguration?: NullableOption<CertificateBasedAuthConfiguration[]>;
// The collection of open extensions defined for the organization. Read-only. Nullable.
extensions?: NullableOption<Extension[]>;
}
export interface OrganizationalBrandingProperties extends Entity {
/**
* Color that will appear in place of the background image in low-bandwidth connections. We recommend that you use the
* primary color of your banner logo or your organization color. Specify this in hexadecimal format, for example, white is
* #FFFFFF.
*/
backgroundColor?: NullableOption<string>;
/**
* Image that appears as the background of the sign-in page. The allowed types are PNG or JPEG not smaller than 300 KB and
* not larger than 1920 × 1080 pixels. A smaller image will reduce bandwidth requirements and make the page load faster.
*/
backgroundImage?: NullableOption<any>;
/**
* A relative URL for the backgroundImage property that is combined with a CDN base URL from the cdnList to provide the
* version served by a CDN. Read-only.
*/
backgroundImageRelativeUrl?: NullableOption<string>;
/**
* A banner version of your company logo that appears on the sign-in page. The allowed types are PNG or JPEG no larger
* than 36 × 245 pixels. We recommend using a transparent image with no padding around the logo.
*/
bannerLogo?: NullableOption<any>;
/**
* A relative url for the bannerLogo property that is combined with a CDN base URL from the cdnList to provide the
* read-only version served by a CDN. Read-only.
*/
bannerLogoRelativeUrl?: NullableOption<string>;
/**
* A list of base URLs for all available CDN providers that are serving the assets of the current resource. Several CDN
* providers are used at the same time for high availability of read requests. Read-only.
*/
cdnList?: NullableOption<string[]>;
customAccountResetCredentialsUrl?: NullableOption<string>;
customCannotAccessYourAccountText?: NullableOption<string>;
customCannotAccessYourAccountUrl?: NullableOption<string>;
customCSS?: NullableOption<any>;
customCSSRelativeUrl?: NullableOption<string>;
customForgotMyPasswordText?: NullableOption<string>;
customPrivacyAndCookiesText?: NullableOption<string>;
customPrivacyAndCookiesUrl?: NullableOption<string>;
customResetItNowText?: NullableOption<string>;
customTermsOfUseText?: NullableOption<string>;
customTermsOfUseUrl?: NullableOption<string>;
favicon?: NullableOption<any>;
faviconRelativeUrl?: NullableOption<string>;
headerBackgroundColor?: NullableOption<string>;
headerLogo?: NullableOption<any>;
headerLogoRelativeUrl?: NullableOption<string>;
loginPageLayoutConfiguration?: NullableOption<LoginPageLayoutConfiguration>;
loginPageTextVisibilitySettings?: NullableOption<LoginPageTextVisibilitySettings>;
/**
* Text that appears at the bottom of the sign-in box. You can use this to communicate additional information, such as the
* phone number to your help desk or a legal statement. This text must be Unicode and not exceed 1024 characters.
*/
signInPageText?: NullableOption<string>;
/**
* A square version of your company logo that appears in Windows 10 out-of-box experiences (OOBE) and when Windows
* Autopilot is enabled for deployment. Allowed types are PNG or JPEG no larger than 240 x 240 pixels and no more than 10
* KB in size. We recommend using a transparent image with no padding around the logo.
*/
squareLogo?: NullableOption<any>;
squareLogoDark?: NullableOption<any>;
squareLogoDarkRelativeUrl?: NullableOption<string>;
/**
* A relative url for the squareLogo property that is combined with a CDN base URL from the cdnList to provide the version
* served by a CDN. Read-only.
*/
squareLogoRelativeUrl?: NullableOption<string>;
/**
* String that shows as the hint in the username textbox on the sign-in screen. This text must be a Unicode, without links
* or code, and can't exceed 64 characters.
*/
usernameHintText?: NullableOption<string>;
}
export interface OrganizationalBranding extends OrganizationalBrandingProperties {
// Add different branding based on a locale.
localizations?: NullableOption<OrganizationalBrandingLocalization[]>;
}
// tslint:disable-next-line: no-empty-interface
export interface OrganizationalBrandingLocalization extends OrganizationalBrandingProperties {}
export interface OrgContact extends DirectoryObject {
// Postal addresses for this organizational contact. For now a contact can only have one physical address.
addresses?: NullableOption<PhysicalOfficeAddress[]>;
/**
* Name of the company that this organizational contact belongs to. Supports $filter (eq, ne, not, ge, le, in, startsWith,
* and eq for null values).
*/
companyName?: NullableOption<string>;
/**
* The name for the department in which the contact works. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq
* for null values).
*/
department?: NullableOption<string>;
/**
* Display name for this organizational contact. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq for null
* values), $search, and $orderBy.
*/
displayName?: NullableOption<string>;
/**
* First name for this organizational contact. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq for null
* values).
*/
givenName?: NullableOption<string>;
/**
* Job title for this organizational contact. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq for null
* values).
*/
jobTitle?: NullableOption<string>;
/**
* The SMTP address for the contact, for example, 'jeff@contoso.onmicrosoft.com'. Supports $filter (eq, ne, not, ge, le,
* in, startsWith, and eq for null values).
*/
mail?: NullableOption<string>;
/**
* Email alias (portion of email address pre-pending the @ symbol) for this organizational contact. Supports $filter (eq,
* ne, not, ge, le, in, startsWith, and eq for null values).
*/
mailNickname?: NullableOption<string>;
/**
* Date and time when this organizational contact was last synchronized from on-premises AD. This date and time
* information uses ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is
* 2014-01-01T00:00:00Z. Supports $filter (eq, ne, not, ge, le, in).
*/
onPremisesLastSyncDateTime?: NullableOption<string>;
/**
* List of any synchronization provisioning errors for this organizational contact. Supports $filter (eq, not for category
* and propertyCausingError), /$count eq 0, /$count ne 0.
*/
onPremisesProvisioningErrors?: NullableOption<OnPremisesProvisioningError[]>;
/**
* 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 and now mastered in Exchange; null if this object has never been synced
* from an on-premises directory (default). Supports $filter (eq, ne, not, in, and eq for null values).
*/
onPremisesSyncEnabled?: NullableOption<boolean>;
/**
* List of phones for this organizational contact. Phone types can be mobile, business, and businessFax. Only one of each
* type can ever be present in the collection.
*/
phones?: NullableOption<Phone[]>;
/**
* For example: 'SMTP: bob@contoso.com', 'smtp: bob@sales.contoso.com'. The any operator is required for filter
* expressions on multi-valued properties. Supports $filter (eq, not, ge, le, startsWith, /$count eq 0, /$count ne 0).
*/
proxyAddresses?: string[];
/**
* Last name for this organizational contact. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq for null
* values).
*/
surname?: NullableOption<string>;
/**
* The contact's direct reports. (The users and contacts that have their manager property set to this contact.) Read-only.
* Nullable. Supports $expand.
*/
directReports?: NullableOption<DirectoryObject[]>;
// The user or contact that is this contact's manager. Read-only. Supports $expand and $filter (eq) by id.
manager?: NullableOption<DirectoryObject>;
// Groups that this contact is a member of. Read-only. Nullable. Supports $expand.
memberOf?: NullableOption<DirectoryObject[]>;
// Groups that this contact is a member of, including groups that the contact is nested under. Read-only. Nullable.
transitiveMemberOf?: NullableOption<DirectoryObject[]>;
}
export interface PermissionGrantConditionSet extends Entity {
/**
* A list of appId values for the client applications to match with, or a list with the single value all to match any
* client application. Default is the single value all.
*/
clientApplicationIds?: NullableOption<string[]>;
/**
* A list of Microsoft Partner Network (MPN) IDs for verified publishers of the client application, or a list with the
* single value all to match with client apps from any publisher. Default is the single value all.
*/
clientApplicationPublisherIds?: NullableOption<string[]>;
/**
* Set to true to only match on client applications with a verified publisher. Set to false to match on any client app,
* even if it does not have a verified publisher. Default is false.
*/
clientApplicationsFromVerifiedPublisherOnly?: NullableOption<boolean>;
/**
* A list of Azure Active Directory tenant IDs in which the client application is registered, or a list with the single
* value all to match with client apps registered in any tenant. Default is the single value all.
*/
clientApplicationTenantIds?: NullableOption<string[]>;
/**
* The permission classification for the permission being granted, or all to match with any permission classification
* (including permissions which are not classified). Default is all.
*/
permissionClassification?: NullableOption<string>;
/**
* The list of id values for the specific permissions to match with, or a list with the single value all to match with any
* permission. The id of delegated permissions can be found in the oauth2PermissionScopes property of the API's
* **servicePrincipal** object. The id of application permissions can be found in the appRoles property of the API's
* **servicePrincipal** object. The id of resource-specific application permissions can be found in the
* resourceSpecificApplicationPermissions property of the API's **servicePrincipal** object. Default is the single value
* all.
*/
permissions?: NullableOption<string[]>;
/**
* The permission type of the permission being granted. Possible values: application for application permissions (e.g. app
* roles), or delegated for delegated permissions. The value delegatedUserConsentable indicates delegated permissions
* which have not been configured by the API publisher to require admin consent—this value may be used in built-in
* permission grant policies, but cannot be used in custom permission grant policies. Required.
*/
permissionType?: NullableOption<PermissionType>;
/**
* The appId of the resource application (e.g. the API) for which a permission is being granted, or any to match with any
* resource application or API. Default is any.
*/
resourceApplication?: NullableOption<string>;
}
export interface RbacApplication extends Entity {
resourceNamespaces?: NullableOption<UnifiedRbacResourceNamespace[]>;
// Resource to grant access to users or groups.
roleAssignments?: NullableOption<UnifiedRoleAssignment[]>;
// Resource representing the roles allowed by RBAC providers and the permissions assigned to the roles.
roleDefinitions?: NullableOption<UnifiedRoleDefinition[]>;
// Instances for active role assignments.
roleAssignmentScheduleInstances?: NullableOption<UnifiedRoleAssignmentScheduleInstance[]>;
// Requests for active role assignments to principals through PIM.
roleAssignmentScheduleRequests?: NullableOption<UnifiedRoleAssignmentScheduleRequest[]>;
// Schedules for active role assignment operations.
roleAssignmentSchedules?: NullableOption<UnifiedRoleAssignmentSchedule[]>;
// Instances for role eligibility requests.
roleEligibilityScheduleInstances?: NullableOption<UnifiedRoleEligibilityScheduleInstance[]>;
// Requests for role eligibilities for principals through PIM.
roleEligibilityScheduleRequests?: NullableOption<UnifiedRoleEligibilityScheduleRequest[]>;
// Schedules for role eligibility operations.
roleEligibilitySchedules?: NullableOption<UnifiedRoleEligibilitySchedule[]>;
}
export interface UnifiedRbacResourceNamespace extends Entity {
name?: string;
resourceActions?: NullableOption<UnifiedRbacResourceAction[]>;
}
export interface UnifiedRoleAssignment extends Entity {
/**
* Identifier of the app-specific scope when the assignment scope is app-specific. Either this property or
* directoryScopeId is required. App scopes are scopes that are defined and understood by this application only. Use / for
* tenant-wide app scopes. Use directoryScopeId to limit the scope to particular directory objects, for example,
* administrative units. Supports $filter (eq, in).
*/
appScopeId?: NullableOption<string>;
condition?: NullableOption<string>;
/**
* Identifier of the directory object representing the scope of the assignment. Either this property or appScopeId is
* required. The scope of an assignment determines the set of resources for which the principal has been granted access.
* Directory scopes are shared scopes stored in the directory that are understood by multiple applications. Use / for
* tenant-wide scope. Use appScopeId to limit the scope to an application only. Supports $filter (eq, in).
*/
directoryScopeId?: NullableOption<string>;
// Identifier of the principal to which the assignment is granted. Supports $filter (eq, in).
principalId?: NullableOption<string>;
// Identifier of the role definition the assignment is for. Read only. Supports $filter (eq, in).
roleDefinitionId?: NullableOption<string>;
/**
* Read-only property with details of the app specific scope when the assignment scope is app specific. Containment
* entity. Supports $expand.
*/
appScope?: NullableOption<AppScope>;
// The directory object that is the scope of the assignment. Read-only. Supports $expand.
directoryScope?: NullableOption<DirectoryObject>;
// Referencing the assigned principal. Read-only. Supports $expand.
principal?: NullableOption<DirectoryObject>;
// The roleDefinition the assignment is for. Supports $expand. roleDefinition.Id will be auto expanded.
roleDefinition?: NullableOption<UnifiedRoleDefinition>;
}
export interface UnifiedRoleDefinition extends Entity {
// The description for the unifiedRoleDefinition. Read-only when isBuiltIn is true.
description?: NullableOption<string>;
// The display name for the unifiedRoleDefinition. Read-only when isBuiltIn is true. Required. Supports $filter (eq, in).
displayName?: NullableOption<string>;
/**
* Flag indicating whether the role definition is part of the default set included in Azure Active Directory (Azure AD) or
* a custom definition. Read-only. Supports $filter (eq, in).
*/
isBuiltIn?: NullableOption<boolean>;
/**
* Flag indicating whether the role is enabled for assignment. If false the role is not available for assignment.
* Read-only when isBuiltIn is true.
*/
isEnabled?: NullableOption<boolean>;
/**
* List of the scopes or permissions the role definition applies to. Currently only / is supported. Read-only when
* isBuiltIn is true. DO NOT USE. This will be deprecated soon. Attach scope to role assignment.
*/
resourceScopes?: string[];
// List of permissions included in the role. Read-only when isBuiltIn is true. Required.
rolePermissions?: UnifiedRolePermission[];
/**
* Custom template identifier that can be set when isBuiltIn is false but is read-only when isBuiltIn is true. This
* identifier is typically used if one needs an identifier to be the same across different directories.
*/
templateId?: NullableOption<string>;
// Indicates version of the role definition. Read-only when isBuiltIn is true.
version?: NullableOption<string>;
/**
* Read-only collection of role definitions that the given role definition inherits from. Only Azure AD built-in roles
* (isBuiltIn is true) support this attribute. Supports $expand.
*/
inheritsPermissionsFrom?: NullableOption<UnifiedRoleDefinition[]>;
}
export interface UnifiedRoleScheduleInstanceBase extends Entity {
/**
* Identifier of the app-specific scope when the assignment or role eligibility is scoped to an app. The scope of an
* assignment or role eligibility determines the set of resources for which the principal has been granted access. App
* scopes are scopes that are defined and understood by this application only. Use / for tenant-wide app scopes. Use
* directoryScopeId to limit the scope to particular directory objects, for example, administrative units.
*/
appScopeId?: NullableOption<string>;
/**
* Identifier of the directory object representing the scope of the assignment or role eligibility. The scope of an
* assignment or role eligibility determines the set of resources for which the principal has been granted access.
* Directory scopes are shared scopes stored in the directory that are understood by multiple applications. Use / for
* tenant-wide scope. Use appScopeId to limit the scope to an application only.
*/
directoryScopeId?: NullableOption<string>;
// Identifier of the principal that has been granted the role assignment or that's eligible for a role.
principalId?: NullableOption<string>;
/**
* Identifier of the unifiedRoleDefinition object that is being assigned to the principal or that the principal is
* eligible for.
*/
roleDefinitionId?: NullableOption<string>;
/**
* Read-only property with details of the app-specific scope when the assignment or role eligibility is scoped to an app.
* Nullable.
*/
appScope?: NullableOption<AppScope>;
// The directory object that is the scope of the assignment or role eligibility. Read-only.
directoryScope?: NullableOption<DirectoryObject>;
// The principal that's getting a role assignment or role eligibility through the request.
principal?: NullableOption<DirectoryObject>;
// Detailed information for the roleDefinition object that is referenced through the roleDefinitionId property.
roleDefinition?: NullableOption<UnifiedRoleDefinition>;
}
export interface UnifiedRoleAssignmentScheduleInstance extends UnifiedRoleScheduleInstanceBase {
// Type of the assignment which can either be Assigned or Activated. Supports $filter (eq, ne).
assignmentType?: NullableOption<string>;
// The end date of the schedule instance.
endDateTime?: NullableOption<string>;
/**
* How the assignments is inherited. It can either be Inherited, Direct, or Group. It can further imply whether the
* unifiedRoleAssignmentSchedule can be managed by the caller. Supports $filter (eq, ne).
*/
memberType?: NullableOption<string>;
// The identifier of the role assignment in Azure AD. Supports $filter (eq, ne).
roleAssignmentOriginId?: NullableOption<string>;
/**
* The identifier of the unifiedRoleAssignmentSchedule object from which this instance was created. Supports $filter (eq,
* ne).
*/
roleAssignmentScheduleId?: NullableOption<string>;
// When this instance starts.
startDateTime?: NullableOption<string>;
/**
* If the request is from an eligible administrator to activate a role, this parameter will show the related eligible
* assignment for that activation. Otherwise, it is null. Supports $expand.
*/
activatedUsing?: NullableOption<UnifiedRoleEligibilityScheduleInstance>;
}
export interface Request extends Entity {
// The identifier of the approval of the request.
approvalId?: NullableOption<string>;
// The request completion date time.
completedDateTime?: NullableOption<string>;
// The principal that created the request.
createdBy?: NullableOption<IdentitySet>;
// The request creation date time.
createdDateTime?: NullableOption<string>;
// Free text field to define any custom data for the request. Not used.
customData?: NullableOption<string>;
/**
* The status of the request. Not nullable. The possible values are: Canceled, Denied, Failed, Granted,
* PendingAdminDecision, PendingApproval, PendingProvisioning, PendingScheduleCreation, Provisioned, Revoked, and
* ScheduleCreated. Not nullable.
*/
status?: string;
}
export interface UnifiedRoleAssignmentScheduleRequest extends Request {
/**
* Represents the type of the operation on the role assignment request. The possible values are: adminAssign, adminUpdate,
* adminRemove, selfActivate, selfDeactivate, adminExtend, adminRenew, selfExtend, selfRenew, unknownFutureValue.
* adminAssign: For administrators to assign roles to principals.adminRemove: For administrators to remove principals from
* roles. adminUpdate: For administrators to change existing role assignments.adminExtend: For administrators to extend
* expiring assignments.adminRenew: For administrators to renew expired assignments.selfActivate: For principals to
* activate their assignments.selfDeactivate: For principals to deactivate their active assignments.selfExtend: For
* principals to request to extend their expiring assignments.selfRenew: For principals to request to renew their expired
* assignments.
*/
action?: NullableOption<UnifiedRoleScheduleRequestActions>;
/**
* Identifier of the app-specific scope when the assignment is scoped to an app. The scope of an assignment determines the
* set of resources for which the principal has been granted access. App scopes are scopes that are defined and understood
* by this application only. Use / for tenant-wide app scopes. Use directoryScopeId to limit the scope to particular
* directory objects, for example, administrative units. Supports $filter (eq, ne, and on null values).
*/
appScopeId?: NullableOption<string>;
/**
* Identifier of the directory object representing the scope of the assignment. The scope of an assignment determines the
* set of resources for which the principal has been granted access. Directory scopes are shared scopes stored in the
* directory that are understood by multiple applications. Use / for tenant-wide scope. Use appScopeId to limit the scope
* to an application only. Supports $filter (eq, ne, and on null values).
*/
directoryScopeId?: NullableOption<string>;
/**
* Determines whether the call is a validation or an actual call. Only set this property if you want to check whether an
* activation is subject to additional rules like MFA before actually submitting the request.
*/
isValidationOnly?: NullableOption<boolean>;
// A message provided by users and administrators when create they create the unifiedRoleAssignmentScheduleRequest object.
justification?: NullableOption<string>;
/**
* Identifier of the principal that has been granted the assignment. Can be a user, role-assignable group, or a service
* principal. Supports $filter (eq, ne).
*/
principalId?: NullableOption<string>;
// Identifier of the unifiedRoleDefinition object that is being assigned to the principal. Supports $filter (eq, ne).
roleDefinitionId?: NullableOption<string>;
// The period of the role assignment. Recurring schedules are currently unsupported.
scheduleInfo?: NullableOption<RequestSchedule>;
// Identifier of the schedule object that's linked to the assignment request. Supports $filter (eq, ne).
targetScheduleId?: NullableOption<string>;
// Ticket details linked to the role assignment request including details of the ticket number and ticket system.
ticketInfo?: NullableOption<TicketInfo>;
/**
* If the request is from an eligible administrator to activate a role, this parameter will show the related eligible
* assignment for that activation. Otherwise, it's null. Supports $expand.
*/
activatedUsing?: NullableOption<UnifiedRoleEligibilitySchedule>;
/**
* Read-only property with details of the app-specific scope when the assignment is scoped to an app. Nullable. Supports
* $expand.
*/
appScope?: NullableOption<AppScope>;
// The directory object that is the scope of the assignment. Read-only. Supports $expand.
directoryScope?: NullableOption<DirectoryObject>;
// The principal that's getting a role assignment through the request. Supports $expand.
principal?: NullableOption<DirectoryObject>;
/**
* Detailed information for the unifiedRoleDefinition object that is referenced through the roleDefinitionId property.
* Supports $expand.
*/
roleDefinition?: NullableOption<UnifiedRoleDefinition>;
/**
* The schedule for an eligible role assignment that is referenced through the targetScheduleId property. Supports
* $expand.
*/
targetSchedule?: NullableOption<UnifiedRoleAssignmentSchedule>;
}
export interface UnifiedRoleScheduleBase extends Entity {
/**
* Identifier of the app-specific scope when the assignment or eligibility is scoped to an app. The scope of an assignment
* or eligibility determines the set of resources for which the principal has been granted access. App scopes are scopes
* that are defined and understood by this application only. Use / for tenant-wide app scopes. Use directoryScopeId to
* limit the scope to particular directory objects, for example, administrative units.
*/
appScopeId?: NullableOption<string>;
// When the schedule was created.
createdDateTime?: NullableOption<string>;
// Identifier of the object through which this schedule was created.
createdUsing?: NullableOption<string>;
/**
* Identifier of the directory object representing the scope of the assignment or eligibility. The scope of an assignment
* or eligibility determines the set of resources for which the principal has been granted access. Directory scopes are
* shared scopes stored in the directory that are understood by multiple applications. Use / for tenant-wide scope. Use
* appScopeId to limit the scope to an application only.
*/
directoryScopeId?: NullableOption<string>;
// When the schedule was last modified.
modifiedDateTime?: NullableOption<string>;
// Identifier of the principal that has been granted the role assignment or eligibility.
principalId?: NullableOption<string>;
/**
* Identifier of the unifiedRoleDefinition object that is being assigned to the principal or that a principal is eligible
* for.
*/
roleDefinitionId?: NullableOption<string>;
// The status of the role assignment or eligibility request.
status?: NullableOption<string>;
/**
* Read-only property with details of the app-specific scope when the role eligibility or assignment is scoped to an app.
* Nullable.
*/
appScope?: NullableOption<AppScope>;
// The directory object that is the scope of the role eligibility or assignment. Read-only.
directoryScope?: NullableOption<DirectoryObject>;
// The principal that's getting a role assignment or that's eligible for a role through the request.
principal?: NullableOption<DirectoryObject>;
// Detailed information for the roleDefinition object that is referenced through the roleDefinitionId property.
roleDefinition?: NullableOption<UnifiedRoleDefinition>;
}
export interface UnifiedRoleAssignmentSchedule extends UnifiedRoleScheduleBase {
// Type of the assignment which can either be Assigned or Activated. Supports $filter (eq, ne).
assignmentType?: NullableOption<string>;
/**
* How the assignments is inherited. It can either be Inherited, Direct, or Group. It can further imply whether the
* unifiedRoleAssignmentSchedule can be managed by the caller. Supports $filter (eq, ne).
*/
memberType?: NullableOption<string>;
// The period of the role assignment. It can represent a single occurrence or multiple recurrences.
scheduleInfo?: NullableOption<RequestSchedule>;
/**
* If the request is from an eligible administrator to activate a role, this parameter will show the related eligible
* assignment for that activation. Otherwise, it is null. Supports $expand.
*/
activatedUsing?: NullableOption<UnifiedRoleEligibilitySchedule>;
}
export interface UnifiedRoleEligibilityScheduleInstance extends UnifiedRoleScheduleInstanceBase {
// The end date of the schedule instance.
endDateTime?: NullableOption<string>;
/**
* How the role eligibility is inherited. It can either be Inherited, Direct, or Group. It can further imply whether the
* unifiedRoleEligibilitySchedule can be managed by the caller. Supports $filter (eq, ne).
*/
memberType?: NullableOption<string>;
/**
* The identifier of the unifiedRoleEligibilitySchedule object from which this instance was created. Supports $filter (eq,
* ne).
*/
roleEligibilityScheduleId?: NullableOption<string>;
// When this instance starts.
startDateTime?: NullableOption<string>;
}
export interface UnifiedRoleEligibilityScheduleRequest extends Request {
/**
* Represents the type of operation on the role eligibility request. The possible values are: adminAssign, adminUpdate,
* adminRemove, selfActivate, selfDeactivate, adminExtend, adminRenew, selfExtend, selfRenew, unknownFutureValue.
* adminAssign: For administrators to assign eligible roles to principals.adminRemove: For administrators to remove
* eligible roles from principals. adminUpdate: For administrators to change existing role eligibilities.adminExtend: For
* administrators to extend expiring role eligibilities.adminRenew: For administrators to renew expired
* eligibilities.selfActivate: For users to activate their assignments.selfDeactivate: For users to deactivate their
* active assignments.selfExtend: For users to request to extend their expiring assignments.selfRenew: For users to
* request to renew their expired assignments.
*/
action?: NullableOption<UnifiedRoleScheduleRequestActions>;
/**
* Identifier of the app-specific scope when the role eligibility is scoped to an app. The scope of a role eligibility
* determines the set of resources for which the principal is eligible to access. App scopes are scopes that are defined
* and understood by this application only. Use / for tenant-wide app scopes. Use directoryScopeId to limit the scope to
* particular directory objects, for example, administrative units. Supports $filter (eq, ne, and on null values).
*/
appScopeId?: NullableOption<string>;
/**
* Identifier of the directory object representing the scope of the role eligibility. The scope of a role eligibility
* determines the set of resources for which the principal has been granted access. Directory scopes are shared scopes
* stored in the directory that are understood by multiple applications. Use / for tenant-wide scope. Use appScopeId to
* limit the scope to an application only. Supports $filter (eq, ne, and on null values).
*/
directoryScopeId?: NullableOption<string>;
/**
* Determines whether the call is a validation or an actual call. Only set this property if you want to check whether an
* activation is subject to additional rules like MFA before actually submitting the request.
*/
isValidationOnly?: NullableOption<boolean>;
/**
* A message provided by users and administrators when create they create the unifiedRoleEligibilityScheduleRequest
* object.
*/
justification?: NullableOption<string>;
/**
* Identifier of the principal that has been granted the role eligibility. Can be a user or a role-assignable group. You
* can grant only active assignments service principals.Supports $filter (eq, ne).
*/
principalId?: NullableOption<string>;
// Identifier of the unifiedRoleDefinition object that is being assigned to the principal. Supports $filter (eq, ne).
roleDefinitionId?: NullableOption<string>;
// The period of the role eligibility. Recurring schedules are currently unsupported.
scheduleInfo?: NullableOption<RequestSchedule>;
// Identifier of the schedule object that's linked to the eligibility request. Supports $filter (eq, ne).
targetScheduleId?: NullableOption<string>;
/**
* Ticket details linked to the role eligibility request including details of the ticket number and ticket system.
* Optional.
*/
ticketInfo?: NullableOption<TicketInfo>;
/**
* Read-only property with details of the app-specific scope when the role eligibility is scoped to an app. Nullable.
* Supports $expand.
*/
appScope?: NullableOption<AppScope>;
// The directory object that is the scope of the role eligibility. Read-only. Supports $expand.
directoryScope?: NullableOption<DirectoryObject>;
// The principal that's getting a role eligibility through the request. Supports $expand.
principal?: NullableOption<DirectoryObject>;
/**
* Detailed information for the unifiedRoleDefinition object that is referenced through the roleDefinitionId property.
* Supports $expand.
*/
roleDefinition?: NullableOption<UnifiedRoleDefinition>;
// The schedule for a role eligibility that is referenced through the targetScheduleId property. Supports $expand.
targetSchedule?: NullableOption<UnifiedRoleEligibilitySchedule>;
}
export interface UnifiedRoleEligibilitySchedule extends UnifiedRoleScheduleBase {
/**
* How the role eligibility is inherited. It can either be Inherited, Direct, or Group. It can further imply whether the
* unifiedRoleEligibilitySchedule can be managed by the caller. Supports $filter (eq, ne).
*/
memberType?: NullableOption<string>;
// The period of the role eligibility.
scheduleInfo?: NullableOption<RequestSchedule>;
}
export interface RoleManagement {
directory?: NullableOption<RbacApplication>;
// Container for roles and assignments for entitlement management resources.
entitlementManagement?: NullableOption<RbacApplication>;
}
export interface SamlOrWsFedExternalDomainFederation extends SamlOrWsFedProvider {
// Collection of domain names of the external organizations that the tenant is federating with. Supports $filter (eq).
domains?: NullableOption<ExternalDomainName[]>;
}
export interface SubscribedSku extends Entity {
accountId?: NullableOption<string>;
accountName?: NullableOption<string>;
// For example, 'User' or 'Company'.
appliesTo?: NullableOption<string>;
/**
* Possible values are: Enabled, Warning, Suspended, Deleted, LockedOut. The capabilityStatus is Enabled if the
* prepaidUnits property has at least 1 unit that is enabled, and LockedOut if the customer cancelled their subscription.
*/
capabilityStatus?: NullableOption<string>;
// The number of licenses that have been assigned.
consumedUnits?: NullableOption<number>;
// Information about the number and status of prepaid licenses.
prepaidUnits?: NullableOption<LicenseUnitsDetail>;
// Information about the service plans that are available with the SKU. Not nullable
servicePlans?: ServicePlanInfo[];
// The unique identifier (GUID) for the service SKU.
skuId?: NullableOption<string>;
/**
* The SKU part number; for example: 'AAD_PREMIUM' or 'RMSBASIC'. To get a list of commercial subscriptions that an
* organization has acquired, see List subscribedSkus.
*/
skuPartNumber?: NullableOption<string>;
subscriptionIds?: NullableOption<string[]>;
}
export interface UnifiedRbacResourceAction extends Entity {
actionVerb?: NullableOption<string>;
authenticationContextId?: NullableOption<string>;
description?: NullableOption<string>;
isAuthenticationContextSettable?: NullableOption<boolean>;
name?: string;
resourceScopeId?: NullableOption<string>;
}
export interface Admin {
// A container for Microsoft Edge resources. Read-only.
edge?: NullableOption<Edge>;
sharepoint?: NullableOption<Sharepoint>;
// A container for service communications resources. Read-only.
serviceAnnouncement?: NullableOption<ServiceAnnouncement>;
}
export interface Edge extends Entity {
// A container for Internet Explorer mode resources.
internetExplorerMode?: NullableOption<InternetExplorerMode>;
}
export interface Sharepoint extends Entity {
settings?: NullableOption<SharepointSettings>;
}
export interface ServiceAnnouncement extends Entity {
/**
* A collection of service health information for tenant. This property is a contained navigation property, it is nullable
* and readonly.
*/
healthOverviews?: NullableOption<ServiceHealth[]>;
/**
* A collection of service issues for tenant. This property is a contained navigation property, it is nullable and
* readonly.
*/
issues?: NullableOption<ServiceHealthIssue[]>;
/**
* A collection of service messages for tenant. This property is a contained navigation property, it is nullable and
* readonly.
*/
messages?: NullableOption<ServiceUpdateMessage[]>;
}
export interface BrowserSharedCookie extends Entity {
// The comment for the shared cookie.
comment?: string;
// The date and time when the shared cookie was created.
createdDateTime?: string;
// The date and time when the shared cookie was deleted.
deletedDateTime?: NullableOption<string>;
// The name of the cookie.
displayName?: string;
// The history of modifications applied to the cookie.
history?: BrowserSharedCookieHistory[];
// Controls whether a cookie is a host-only or domain cookie.
hostOnly?: boolean;
// The URL of the cookie.
hostOrDomain?: string;
// The user who last modified the cookie.
lastModifiedBy?: NullableOption<IdentitySet>;
// The date and time when the cookie was last modified.
lastModifiedDateTime?: string;
// The path of the cookie.
path?: string;
/**
* Specifies how the cookies are shared between Microsoft Edge and Internet Explorer. The possible values are:
* microsoftEdge, internetExplorer11, both, unknownFutureValue.
*/
sourceEnvironment?: BrowserSharedCookieSourceEnvironment;
/**
* The status of the cookie. The possible values are: published, pendingAdd, pendingEdit, pendingDelete,
* unknownFutureValue.
*/
status?: BrowserSharedCookieStatus;
}
export interface BrowserSite extends Entity {
/**
* Controls the behavior of redirected sites. If true, indicates that the site will open in Internet Explorer 11 or
* Microsoft Edge even if the site is navigated to as part of a HTTP or meta refresh redirection chain.
*/
allowRedirect?: boolean;
// The comment for the site.
comment?: string;
/**
* Controls what compatibility setting is used for specific sites or domains. The possible values are: default,
* internetExplorer8Enterprise, internetExplorer7Enterprise, internetExplorer11, internetExplorer10, internetExplorer9,
* internetExplorer8, internetExplorer7, internetExplorer5, unknownFutureValue.
*/
compatibilityMode?: BrowserSiteCompatibilityMode;
// The date and time when the site was created.
createdDateTime?: string;
// The date and time when the site was deleted.
deletedDateTime?: NullableOption<string>;
// The history of modifications applied to the site.
history?: BrowserSiteHistory[];
// The user who last modified the site.
lastModifiedBy?: NullableOption<IdentitySet>;
// The date and time when the site was last modified.
lastModifiedDateTime?: string;
// The merge type of the site. The possible values are: noMerge, default, unknownFutureValue.
mergeType?: BrowserSiteMergeType;
/**
* Indicates the status of the site. The possible values are: published, pendingAdd, pendingEdit, pendingDelete,
* unknownFutureValue.
*/
status?: BrowserSiteStatus;
/**
* The target environment that the site should open in. The possible values are: internetExplorerMode, internetExplorer11,
* microsoftEdge, configurable, none, unknownFutureValue.Prior to June 15, 2022, the internetExplorer11 option would allow
* opening a site in the Internet Explorer 11 (IE11) desktop application. Following the retirement of IE11 on June 15,
* 2022, the internetExplorer11 option will no longer open an IE11 window and will instead behave the same as the
* internetExplorerMode option.
*/
targetEnvironment?: BrowserSiteTargetEnvironment;
// The URL of the site.
webUrl?: string;
}
export interface BrowserSiteList extends Entity {
// The description of the site list.
description?: string;
// The name of the site list.
displayName?: string;
// The user who last modified the site list.
lastModifiedBy?: NullableOption<IdentitySet>;
// The date and time when the site list was last modified.
lastModifiedDateTime?: string;
// The user who published the site list.
publishedBy?: NullableOption<IdentitySet>;
// The date and time when the site list was published.
publishedDateTime?: NullableOption<string>;
// The current revision of the site list.
revision?: string;
// The current status of the site list. The possible values are: draft, published, pending, unknownFutureValue.
status?: BrowserSiteListStatus;
// A collection of shared cookies defined for the site list.
sharedCookies?: NullableOption<BrowserSharedCookie[]>;
// A collection of sites defined for the site list.
sites?: NullableOption<BrowserSite[]>;
}
// tslint:disable-next-line: interface-name
export interface InternetExplorerMode extends Entity {
// A collection of site lists to support Internet Explorer mode.
siteLists?: NullableOption<BrowserSiteList[]>;
}
export interface EducationAssignment extends Entity {
/**
* Optional field to control the assignment behavior for students who are added after the assignment is published. If not
* specified, defaults to none. Supported values are: none, assignIfOpen. For example, a teacher can use assignIfOpen to
* indicate that an assignment should be assigned to any new student who joins the class while the assignment is still
* open, and none to indicate that an assignment should not be assigned to new students.
*/
addedStudentAction?: NullableOption<EducationAddedStudentAction>;
/**
* Optional field to control the assignment behavior for adding assignments to students' and teachers' calendars when the
* assignment is published. The possible values are: none, studentsAndPublisher, studentsAndTeamOwners,
* unknownFutureValue, and studentsOnly. Note that you must use the Prefer: include-unknown-enum-members request header to
* get the following value(s) in this evolvable enum: studentsOnly. The default value is none.
*/
addToCalendarAction?: NullableOption<EducationAddToCalendarOptions>;
/**
* Identifies whether students can submit after the due date. If this property isn't specified during create, it defaults
* to true.
*/
allowLateSubmissions?: NullableOption<boolean>;
/**
* Identifies whether students can add their own resources to a submission or if they can only modify resources added by
* the teacher.
*/
allowStudentsToAddResourcesToSubmission?: NullableOption<boolean>;
/**
* The date when the assignment should become active. If in the future, the assignment isn't shown to the student until
* this date. 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 is 2014-01-01T00:00:00Z
*/
assignDateTime?: NullableOption<string>;
/**
* The moment that the assignment was published to students and the assignment shows up on the students timeline. 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 is 2014-01-01T00:00:00Z
*/
assignedDateTime?: NullableOption<string>;
// Which users, or whole class should receive a submission object once the assignment is published.
assignTo?: NullableOption<EducationAssignmentRecipient>;
// Class which this assignment belongs.
classId?: NullableOption<string>;
/**
* Date when the assignment will be closed for submissions. This is an optional field that can be null if the assignment
* does not allowLateSubmissions or when the closeDateTime is the same as the dueDateTime. But if specified, then the
* closeDateTime must be greater than or equal to the dueDateTime. 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 is 2014-01-01T00:00:00Z
*/
closeDateTime?: NullableOption<string>;
// Who created the assignment.
createdBy?: NullableOption<IdentitySet>;
/**
* Moment when the assignment was created. 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 is 2014-01-01T00:00:00Z
*/
createdDateTime?: NullableOption<string>;
// Name of the assignment.
displayName?: NullableOption<string>;
/**
* Date when the students assignment is due. 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 is 2014-01-01T00:00:00Z
*/
dueDateTime?: NullableOption<string>;
// Folder URL where all the feedback file resources for this assignment are stored.
feedbackResourcesFolderUrl?: NullableOption<string>;
// How the assignment will be graded.
grading?: NullableOption<EducationAssignmentGradeType>;
// Instructions for the assignment. This along with the display name tell the student what to do.
instructions?: NullableOption<EducationItemBody>;
// Who last modified the assignment.
lastModifiedBy?: NullableOption<IdentitySet>;
/**
* Moment when the assignment was last modified. 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 is 2014-01-01T00:00:00Z
*/
lastModifiedDateTime?: NullableOption<string>;
/**
* Optional field to specify the URL of the channel to post the assignment publish notification. If not specified or null,
* defaults to the General channel. This field only applies to assignments where the assignTo value is
* educationAssignmentClassRecipient. Updating the notificationChannelUrl isn't allowed after the assignment has been
* published.
*/
notificationChannelUrl?: NullableOption<string>;
// Folder URL where all the file resources for this assignment are stored.
resourcesFolderUrl?: NullableOption<string>;
// Status of the Assignment. You can't PATCH this value. Possible values are: draft, scheduled, published, assigned.
status?: NullableOption<EducationAssignmentStatus>;
// The deep link URL for the given assignment.
webUrl?: NullableOption<string>;
// When set, enables users to easily find assignments of a given type. Read-only. Nullable.
categories?: NullableOption<EducationCategory[]>;
// Learning objects that are associated with this assignment. Only teachers can modify this list. Nullable.
resources?: NullableOption<EducationAssignmentResource[]>;
// When set, the grading rubric attached to this assignment.
rubric?: NullableOption<EducationRubric>;
// Once published, there is a submission object for each student representing their work and grade. Read-only. Nullable.
submissions?: NullableOption<EducationSubmission[]>;
}
export interface EducationCategory extends Entity {
// Unique identifier for the category.
displayName?: NullableOption<string>;
}
export interface EducationAssignmentResource extends Entity {
// Indicates whether this resource should be copied to each student submission for modification and submission. Required
distributeForStudentWork?: NullableOption<boolean>;
// Resource object that has been associated with this assignment.
resource?: NullableOption<EducationResource>;
}
export interface EducationRubric extends Entity {
// The user who created this resource.
createdBy?: NullableOption<IdentitySet>;
/**
* 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 is 2014-01-01T00:00:00Z
*/
createdDateTime?: NullableOption<string>;
// The description of this rubric.
description?: NullableOption<EducationItemBody>;
// The name of this rubric.
displayName?: NullableOption<string>;
/**
* The grading type of this rubric -- null for a no-points rubric, or educationAssignmentPointsGradeType for a points
* rubric.
*/
grading?: NullableOption<EducationAssignmentGradeType>;
// The last user to modify the resource.
lastModifiedBy?: NullableOption<IdentitySet>;
/**
* Moment in time when the resource was last modified. 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 is 2014-01-01T00:00:00Z
*/
lastModifiedDateTime?: NullableOption<string>;
// The collection of levels making up this rubric.
levels?: NullableOption<RubricLevel[]>;
// The collection of qualities making up this rubric.
qualities?: NullableOption<RubricQuality[]>;
}
export interface EducationSubmission extends Entity {
// User who moved the status of this submission to reassigned.
reassignedBy?: NullableOption<IdentitySet>;
/**
* Moment in time when the submission was reassigned. 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 is 2014-01-01T00:00:00Z
*/
reassignedDateTime?: NullableOption<string>;
// Who this submission is assigned to.
recipient?: NullableOption<EducationSubmissionRecipient>;
// Folder where all file resources for this submission need to be stored.
resourcesFolderUrl?: NullableOption<string>;
// User who moved the status of this submission to returned.
returnedBy?: NullableOption<IdentitySet>;
/**
* Moment in time when the submission was returned. 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 is 2014-01-01T00:00:00Z
*/
returnedDateTime?: NullableOption<string>;
/**
* Read-only. Possible values are: working, submitted, returned, and reassigned. Note that you must use the Prefer:
* include-unknown-enum-members request header to get the following value(s) in this evolvable enum: reassigned.
*/
status?: NullableOption<EducationSubmissionStatus>;
// User who moved the resource into the submitted state.
submittedBy?: NullableOption<IdentitySet>;
/**
* Moment in time when the submission was moved into the submitted state. 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 is
* 2014-01-01T00:00:00Z
*/
submittedDateTime?: NullableOption<string>;
// User who moved the resource from submitted into the working state.
unsubmittedBy?: NullableOption<IdentitySet>;
/**
* Moment in time when the submission was moved from submitted into the working state. 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 is
* 2014-01-01T00:00:00Z
*/
unsubmittedDateTime?: NullableOption<string>;
outcomes?: NullableOption<EducationOutcome[]>;
resources?: NullableOption<EducationSubmissionResource[]>;
submittedResources?: NullableOption<EducationSubmissionResource[]>;
}
export interface EducationAssignmentDefaults extends Entity {
/**
* Class-level default behavior for handling students who are added after the assignment is published. Possible values
* are: none, assignIfOpen.
*/
addedStudentAction?: NullableOption<EducationAddedStudentAction>;
/**
* Optional field to control adding assignments to students' and teachers' calendars when the assignment is published. The
* possible values are: none, studentsAndPublisher, studentsAndTeamOwners, unknownFutureValue, and studentsOnly. Note that
* you must use the Prefer: include-unknown-enum-members request header to get the following value(s) in this evolvable
* enum: studentsOnly. The default value is none.
*/
addToCalendarAction?: NullableOption<EducationAddToCalendarOptions>;
// Class-level default value for due time field. Default value is 23:59:00.
dueTime?: NullableOption<string>;
// Default Teams channel to which notifications will be sent. Default value is null.
notificationChannelUrl?: NullableOption<string>;
}
export interface EducationAssignmentSettings extends Entity {
/**
* Indicates whether turn-in celebration animation will be shown. A value of true indicates that the animation will not be
* shown. Default value is false.
*/
submissionAnimationDisabled?: NullableOption<boolean>;
}
export interface EducationClass extends Entity {
// Class code used by the school to identify the class.
classCode?: NullableOption<string>;
course?: NullableOption<EducationCourse>;
// Entity who created the class
createdBy?: NullableOption<IdentitySet>;
// Description of the class.
description?: NullableOption<string>;
// Name of the class.
displayName?: string;
// ID of the class from the syncing system.
externalId?: NullableOption<string>;
// Name of the class in the syncing system.
externalName?: NullableOption<string>;
// How this class was created. Possible values are: sis, manual.
externalSource?: NullableOption<EducationExternalSource>;
// The name of the external source this resources was generated from.
externalSourceDetail?: NullableOption<string>;
// Grade level of the class.
grade?: NullableOption<string>;
// Mail name for sending email to all members, if this is enabled.
mailNickname?: string;
// Term for this class.
term?: NullableOption<EducationTerm>;
// All categories associated with this class. Nullable.
assignmentCategories?: NullableOption<EducationCategory[]>;
// Specifies class-level defaults respected by new assignments created in the class.
assignmentDefaults?: NullableOption<EducationAssignmentDefaults>;
// All assignments associated with this class. Nullable.
assignments?: NullableOption<EducationAssignment[]>;
// Specifies class-level assignments settings.
assignmentSettings?: NullableOption<EducationAssignmentSettings>;
// The underlying Microsoft 365 group object.
group?: NullableOption<Group>;
// All users in the class. Nullable.
members?: NullableOption<EducationUser[]>;
// All schools that this class is associated with. Nullable.
schools?: NullableOption<EducationSchool[]>;
// All teachers in the class. Nullable.
teachers?: NullableOption<EducationUser[]>;
}
export interface EducationUser extends Entity {
// Related records associated with the user. Read-only.
relatedContacts?: NullableOption<RelatedContact[]>;
// True if the account is enabled; otherwise, false. This property is required when a user is created. Supports $filter.
accountEnabled?: NullableOption<boolean>;
// The licenses that are assigned to the user. Not nullable.
assignedLicenses?: AssignedLicense[];
// The plans that are assigned to the user. Read-only. Not nullable.
assignedPlans?: AssignedPlan[];
/**
* The telephone numbers for the user. Note: Although this is a string collection, only one number can be set for this
* property.
*/
businessPhones?: string[];
// The entity who created the user.
createdBy?: NullableOption<IdentitySet>;
// The name for the department in which the user works. Supports $filter.
department?: NullableOption<string>;
/**
* 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.
*/
displayName?: NullableOption<string>;
// Where this user was created from. Possible values are: sis, manual.
externalSource?: NullableOption<EducationExternalSource>;
// The name of the external source this resource was generated from.
externalSourceDetail?: NullableOption<string>;
// The given name (first name) of the user. Supports $filter.
givenName?: NullableOption<string>;
// The SMTP address for the user, for example, jeff@contoso.onmicrosoft.com. Read-Only. Supports $filter.
mail?: NullableOption<string>;
// The mail address of the user.
mailingAddress?: NullableOption<PhysicalAddress>;
// The mail alias for the user. This property must be specified when a user is created. Supports $filter.
mailNickname?: NullableOption<string>;
// The middle name of the user.
middleName?: NullableOption<string>;
// The primary cellular telephone number for the user.
mobilePhone?: NullableOption<string>;
officeLocation?: NullableOption<string>;
// Additional information used to associate the Azure Active Directory user with its Active Directory counterpart.
onPremisesInfo?: NullableOption<EducationOnPremisesInfo>;
/**
* 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 can be specified together; for example: DisablePasswordExpiration,
* DisableStrongPassword.
*/
passwordPolicies?: NullableOption<string>;
/**
* 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.
*/
passwordProfile?: NullableOption<PasswordProfile>;
// The preferred language for the user that should follow the ISO 639-1 code, for example, en-US.
preferredLanguage?: NullableOption<string>;
/**
* Default role for a user. The user's role might be different in an individual class. Possible values are: student,
* teacher, none, unknownFutureValue.
*/
primaryRole?: EducationUserRole;
// The plans that are provisioned for the user. Read-only. Not nullable.
provisionedPlans?: ProvisionedPlan[];
refreshTokensValidFromDateTime?: NullableOption<string>;
// The address where the user lives.
residenceAddress?: NullableOption<PhysicalAddress>;
/**
* 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.
*/
showInAddressList?: NullableOption<boolean>;
// If the primary role is student, this block will contain student specific data.
student?: NullableOption<EducationStudent>;
// The user's surname (family name or last name). Supports $filter.
surname?: NullableOption<string>;
// If the primary role is teacher, this block will contain teacher specific data.
teacher?: NullableOption<EducationTeacher>;
/**
* A two-letter country code (ISO standard 3166). Required for users who will be assigned licenses due to a legal
* requirement to check for availability of services in countries or regions. Examples include: US, JP, and GB. Not
* nullable. Supports $filter.
*/
usageLocation?: NullableOption<string>;
/**
* 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 the organization.
* Supports $filter and $orderby.
*/
userPrincipalName?: NullableOption<string>;
// A string value that can be used to classify user types in your directory, such as Member and Guest. Supports $filter.
userType?: NullableOption<string>;
// Assignments belonging to the user.
assignments?: NullableOption<EducationAssignment[]>;
// When set, the grading rubric attached to the assignment.
rubrics?: NullableOption<EducationRubric[]>;
// Classes to which the user belongs. Nullable.
classes?: NullableOption<EducationClass[]>;
// Schools to which the user belongs. Nullable.
schools?: NullableOption<EducationSchool[]>;
// Classes for which the user is a teacher.
taughtClasses?: NullableOption<EducationClass[]>;
// The directory user that corresponds to this user.
user?: NullableOption<User>;
}
export interface EducationOrganization extends Entity {
// Organization description.
description?: NullableOption<string>;
// Organization display name.
displayName?: string;
// Source where this organization was created from. Possible values are: sis, manual.
externalSource?: NullableOption<EducationExternalSource>;
// The name of the external source this resources was generated from.
externalSourceDetail?: NullableOption<string>;
}
export interface EducationSchool extends EducationOrganization {
// Address of the school.
address?: NullableOption<PhysicalAddress>;
// Entity who created the school.
createdBy?: NullableOption<IdentitySet>;
// ID of school in syncing system.
externalId?: NullableOption<string>;
// ID of principal in syncing system.
externalPrincipalId?: NullableOption<string>;
fax?: NullableOption<string>;
// Highest grade taught.
highestGrade?: NullableOption<string>;
// Lowest grade taught.
lowestGrade?: NullableOption<string>;
// Phone number of school.
phone?: NullableOption<string>;
// Email address of the principal.
principalEmail?: NullableOption<string>;
// Name of the principal.
principalName?: NullableOption<string>;
// School Number.
schoolNumber?: NullableOption<string>;
// The underlying administrativeUnit for this school.
administrativeUnit?: NullableOption<AdministrativeUnit>;
// Classes taught at the school. Nullable.
classes?: NullableOption<EducationClass[]>;
// Users in the school. Nullable.
users?: NullableOption<EducationUser[]>;
}
export interface EducationOutcome extends Entity {
// The individual who updated the resource.
lastModifiedBy?: NullableOption<IdentitySet>;
/**
* The moment in time when the resource was last modified. 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, 2021 is 2021-01-01T00:00:00Z.
*/
lastModifiedDateTime?: NullableOption<string>;
}
export interface EducationFeedbackOutcome extends EducationOutcome {
// Teacher's written feedback to the student.
feedback?: NullableOption<EducationFeedback>;
// A copy of the feedback property that is made when the grade is released to the student.
publishedFeedback?: NullableOption<EducationFeedback>;
}
export interface EducationFeedbackResourceOutcome extends EducationOutcome {
// The actual feedback resource.
feedbackResource?: NullableOption<EducationResource>;
/**
* The status of the feedback resource. The possible values are: notPublished, pendingPublish, published, failedPublish,
* unknownFutureValue.
*/
resourceStatus?: NullableOption<EducationFeedbackResourceOutcomeStatus>;
}
export interface EducationPointsOutcome extends EducationOutcome {
// The numeric grade the teacher has given the student for this assignment.
points?: NullableOption<EducationAssignmentPointsGrade>;
// A copy of the points property that is made when the grade is released to the student.
publishedPoints?: NullableOption<EducationAssignmentPointsGrade>;
}
export interface EducationRoot {
classes?: NullableOption<EducationClass[]>;
me?: NullableOption<EducationUser>;
schools?: NullableOption<EducationSchool[]>;
users?: NullableOption<EducationUser[]>;
}
export interface EducationRubricOutcome extends EducationOutcome {
// A copy of the rubricQualityFeedback property that is made when the grade is released to the student.
publishedRubricQualityFeedback?: NullableOption<RubricQualityFeedbackModel[]>;
// A copy of the rubricQualitySelectedLevels property that is made when the grade is released to the student.
publishedRubricQualitySelectedLevels?: NullableOption<RubricQualitySelectedColumnModel[]>;
// A collection of specific feedback for each quality of this rubric.
rubricQualityFeedback?: NullableOption<RubricQualityFeedbackModel[]>;
// The level that the teacher has selected for each quality while grading this assignment.
rubricQualitySelectedLevels?: NullableOption<RubricQualitySelectedColumnModel[]>;
}
export interface EducationSubmissionResource extends Entity {
// Pointer to the assignment from which this resource was copied. If this is null, the student uploaded the resource.
assignmentResourceUrl?: NullableOption<string>;
// Resource object.
resource?: NullableOption<EducationResource>;
}
export interface DriveItem extends BaseItem {
// Audio metadata, if the item is an audio file. Read-only. Read-only. Only on OneDrive Personal.
audio?: NullableOption<Audio>;
// Bundle metadata, if the item is a bundle. Read-only.
bundle?: NullableOption<Bundle>;
// The content stream, if the item represents a file.
content?: NullableOption<any>;
/**
* An eTag for the content of the item. This eTag is not changed if only the metadata is changed. Note This property is
* not returned if the item is a folder. Read-only.
*/
cTag?: NullableOption<string>;
// Information about the deleted state of the item. Read-only.
deleted?: NullableOption<Deleted>;
// File metadata, if the item is a file. Read-only.
file?: NullableOption<File>;
// File system information on client. Read-write.
fileSystemInfo?: NullableOption<FileSystemInfo>;
// Folder metadata, if the item is a folder. Read-only.
folder?: NullableOption<Folder>;
// Image metadata, if the item is an image. Read-only.
image?: NullableOption<Image>;
// Location metadata, if the item has location data. Read-only.
location?: NullableOption<GeoCoordinates>;
// Malware metadata, if the item was detected to contain malware. Read-only.
malware?: NullableOption<Malware>;
/**
* If present, indicates that this item is a package instead of a folder or file. Packages are treated like files in some
* contexts and folders in others. Read-only.
*/
package?: NullableOption<Package>;
/**
* If present, indicates that one or more operations that might affect the state of the driveItem are pending completion.
* Read-only.
*/
pendingOperations?: NullableOption<PendingOperations>;
// Photo metadata, if the item is a photo. Read-only.
photo?: NullableOption<Photo>;
/**
* Provides information about the published or checked-out state of an item, in locations that support such actions. This
* property is not returned by default. Read-only.
*/
publication?: NullableOption<PublicationFacet>;
// Remote item data, if the item is shared from a drive other than the one being accessed. Read-only.
remoteItem?: NullableOption<RemoteItem>;
// If this property is non-null, it indicates that the driveItem is the top-most driveItem in the drive.
root?: NullableOption<Root>;
// Search metadata, if the item is from a search result. Read-only.
searchResult?: NullableOption<SearchResult>;
/**
* Indicates that the item has been shared with others and provides information about the shared state of the item.
* Read-only.
*/
shared?: NullableOption<Shared>;
// Returns identifiers useful for SharePoint REST compatibility. Read-only.
sharepointIds?: NullableOption<SharepointIds>;
// Size of the item in bytes. Read-only.
size?: NullableOption<number>;
// If the current item is also available as a special folder, this facet is returned. Read-only.
specialFolder?: NullableOption<SpecialFolder>;
// Video metadata, if the item is a video. Read-only.
video?: NullableOption<Video>;
// WebDAV compatible URL for the item.
webDavUrl?: NullableOption<string>;
// For files that are Excel spreadsheets, accesses the workbook API to work with the spreadsheet's contents. Nullable.
workbook?: NullableOption<Workbook>;
// Analytics about the view activities that took place on this item.
analytics?: NullableOption<ItemAnalytics>;
/**
* Collection containing Item objects for the immediate children of Item. Only items representing folders have children.
* Read-only. Nullable.
*/
children?: NullableOption<DriveItem[]>;
// For drives in SharePoint, the associated document library list item. Read-only. Nullable.
listItem?: NullableOption<ListItem>;
// The set of permissions for the item. Read-only. Nullable.
permissions?: NullableOption<Permission[]>;
// The set of subscriptions on the item. Only supported on the root of a drive.
subscriptions?: NullableOption<Subscription[]>;
/**
* Collection containing [ThumbnailSet][] objects associated with the item. For more info, see [getting thumbnails][].
* Read-only. Nullable.
*/
thumbnails?: NullableOption<ThumbnailSet[]>;
// The list of previous versions of the item. For more info, see [getting previous versions][]. Read-only. Nullable.
versions?: NullableOption<DriveItemVersion[]>;
}
export interface Workbook extends Entity {
application?: NullableOption<WorkbookApplication>;
comments?: NullableOption<WorkbookComment[]>;
functions?: NullableOption<WorkbookFunctions>;
// Represents a collection of workbooks scoped named items (named ranges and constants). Read-only.
names?: NullableOption<WorkbookNamedItem[]>;
/**
* The status of workbook operations. Getting an operation collection is not supported, but you can get the status of a
* long-running operation if the Location header is returned in the response. Read-only.
*/
operations?: NullableOption<WorkbookOperation[]>;
// Represents a collection of tables associated with the workbook. Read-only.
tables?: NullableOption<WorkbookTable[]>;
// Represents a collection of worksheets associated with the workbook. Read-only.
worksheets?: NullableOption<WorkbookWorksheet[]>;
}
export interface ListItem extends BaseItem {
// The content type of this list item
contentType?: NullableOption<ContentTypeInfo>;
// Returns identifiers useful for SharePoint REST compatibility. Read-only.
sharepointIds?: NullableOption<SharepointIds>;
// Analytics about the view activities that took place on this item.
analytics?: NullableOption<ItemAnalytics>;
// Version information for a document set version created by a user.
documentSetVersions?: NullableOption<DocumentSetVersion[]>;
// For document libraries, the driveItem relationship exposes the listItem as a [driveItem][]
driveItem?: NullableOption<DriveItem>;
// The values of the columns set on this list item.
fields?: NullableOption<FieldValueSet>;
// The list of previous versions of the list item.
versions?: NullableOption<ListItemVersion[]>;
}
export interface Subscription extends Entity {
// Optional. Identifier of the application used to create the subscription. Read-only.
applicationId?: NullableOption<string>;
/**
* Required. Indicates the type of change in the subscribed resource that will raise a change notification. The supported
* values are: created, updated, deleted. Multiple values can be combined using a comma-separated list. Note: Drive root
* item and list change notifications support only the updated changeType. User and group change notifications support
* updated and deleted changeType. Use updated to receive notifications when user or group is created, updated or soft
* deleted. Use deleted to receive notifications when user or group is permanently deleted.
*/
changeType?: string;
/**
* Required. Specifies the value of the clientState property sent by the service in each change notification. The maximum
* length is 128 characters. The client can check that the change notification came from the service by comparing the
* value of the clientState property sent with the subscription with the value of the clientState property received with
* each change notification.
*/
clientState?: NullableOption<string>;
/**
* Optional. Identifier of the user or service principal that created the subscription. If the app used delegated
* permissions to create the subscription, this field contains the id of the signed-in user the app called on behalf of.
* If the app used application permissions, this field contains the id of the service principal corresponding to the app.
* Read-only.
*/
creatorId?: NullableOption<string>;
/**
* Optional. A base64-encoded representation of a certificate with a public key used to encrypt resource data in change
* notifications. Optional but required when includeResourceData is true.
*/
encryptionCertificate?: NullableOption<string>;
// Optional. A custom app-provided identifier to help identify the certificate needed to decrypt resource data.
encryptionCertificateId?: NullableOption<string>;
/**
* Required. Specifies the date and time when the webhook subscription expires. The time is in UTC, and can be an amount
* of time from subscription creation that varies for the resource subscribed to. For the maximum supported subscription
* length of time, see the table below.
*/
expirationDateTime?: string;
// Optional. When set to true, change notifications include resource data (such as content of a chat message).
includeResourceData?: NullableOption<boolean>;
/**
* Optional. Specifies the latest version of Transport Layer Security (TLS) that the notification endpoint, specified by
* notificationUrl, supports. The possible values are: v1_0, v1_1, v1_2, v1_3. For subscribers whose notification endpoint
* supports a version lower than the currently recommended version (TLS 1.2), specifying this property by a set timeline
* allows them to temporarily use their deprecated version of TLS before completing their upgrade to TLS 1.2. For these
* subscribers, not setting this property per the timeline would result in subscription operations failing. For
* subscribers whose notification endpoint already supports TLS 1.2, setting this property is optional. In such cases,
* Microsoft Graph defaults the property to v1_2.
*/
latestSupportedTlsVersion?: NullableOption<string>;
/**
* Optional. The URL of the endpoint that receives lifecycle notifications, including subscriptionRemoved,
* reauthorizationRequired, and missed notifications. This URL must make use of the HTTPS protocol.
*/
lifecycleNotificationUrl?: NullableOption<string>;
/**
* Optional. OData query options for specifying value for the targeting resource. Clients receive notifications when
* resource reaches the state matching the query options provided here. With this new property in the subscription
* creation payload along with all existing properties, Webhooks will deliver notifications whenever a resource reaches
* the desired state mentioned in the notificationQueryOptions property. For example, when the print job is completed or
* when a print job resource isFetchable property value becomes true etc. Supported only for Universal Print Service. For
* more information, see Subscribe to change notifications from cloud printing APIs using Microsoft Graph.
*/
notificationQueryOptions?: NullableOption<string>;
/**
* Required. The URL of the endpoint that will receive the change notifications. This URL must make use of the HTTPS
* protocol. Any query string parameter included in the notificationUrl property will be included in the HTTP POST request
* when Microsoft Graph sends the change notifications.
*/
notificationUrl?: string;
/**
* Optional. The app ID that the subscription service can use to generate the validation token. This allows the client to
* validate the authenticity of the notification received.
*/
notificationUrlAppId?: NullableOption<string>;
/**
* Required. Specifies the resource that will be monitored for changes. Do not include the base URL
* (https://graph.microsoft.com/v1.0/). See the possible resource path values for each supported resource.
*/
resource?: string;
}
export interface ThumbnailSet extends Entity {
// A 1920x1920 scaled thumbnail.
large?: NullableOption<Thumbnail>;
// A 176x176 scaled thumbnail.
medium?: NullableOption<Thumbnail>;
// A 48x48 cropped thumbnail.
small?: NullableOption<Thumbnail>;
// A custom thumbnail image or the original image used to generate other thumbnails.
source?: NullableOption<Thumbnail>;
}
export interface BaseItemVersion extends Entity {
// Identity of the user which last modified the version. Read-only.
lastModifiedBy?: NullableOption<IdentitySet>;
// Date and time the version was last modified. Read-only.
lastModifiedDateTime?: NullableOption<string>;
// Indicates the publication status of this particular version. Read-only.
publication?: NullableOption<PublicationFacet>;
}
export interface DriveItemVersion extends BaseItemVersion {
// The content stream for this version of the item.
content?: NullableOption<any>;
// Indicates the size of the content stream for this version of the item.
size?: NullableOption<number>;
}
export interface WorkbookApplication extends Entity {
// Returns the calculation mode used in the workbook. Possible values are: Automatic, AutomaticExceptTables, Manual.
calculationMode?: string;
}
export interface WorkbookComment extends Entity {
// The content of comment.
content?: NullableOption<string>;
// Indicates the type for the comment.
contentType?: string;
replies?: NullableOption<WorkbookCommentReply[]>;
}
// tslint:disable-next-line: no-empty-interface
export interface WorkbookFunctions extends Entity {}
export interface WorkbookNamedItem extends Entity {
// Represents the comment associated with this name.
comment?: NullableOption<string>;
// The name of the object. Read-only.
name?: NullableOption<string>;
// Indicates whether the name is scoped to the workbook or to a specific worksheet. Read-only.
scope?: string;
/**
* Indicates what type of reference is associated with the name. The possible values are: String, Integer, Double,
* Boolean, Range. Read-only.
*/
type?: NullableOption<string>;
// Represents the formula that the name is defined to refer to. E.g. =Sheet14!$B$2:$H$12, =4.75, etc. Read-only.
value?: NullableOption<any>;
// Specifies whether the object is visible or not.
visible?: boolean;
/**
* Returns the worksheet on which the named item is scoped to. Available only if the item is scoped to the worksheet.
* Read-only.
*/
worksheet?: NullableOption<WorkbookWorksheet>;
}
export interface WorkbookOperation extends Entity {
// The error returned by the operation.
error?: NullableOption<WorkbookOperationError>;
// The resource URI for the result.
resourceLocation?: NullableOption<string>;
// The current status of the operation. Possible values are: NotStarted, Running, Completed, Failed.
status?: WorkbookOperationStatus;
}
export interface WorkbookTable extends Entity {
// Indicates whether the first column contains special formatting.
highlightFirstColumn?: boolean;
// Indicates whether the last column contains special formatting.
highlightLastColumn?: boolean;
/**
* Legacy Id used in older Excle clients. The value of the identifier remains the same even when the table is renamed.
* This property should be interpreted as an opaque string value and should not be parsed to any other type. Read-only.
*/
legacyId?: NullableOption<string>;
// Name of the table.
name?: NullableOption<string>;
/**
* Indicates whether the columns show banded formatting in which odd columns are highlighted differently from even ones to
* make reading the table easier.
*/
showBandedColumns?: boolean;
/**
* Indicates whether the rows show banded formatting in which odd rows are highlighted differently from even ones to make
* reading the table easier.
*/
showBandedRows?: boolean;
/**
* Indicates whether the filter buttons are visible at the top of each column header. Setting this is only allowed if the
* table contains a header row.
*/
showFilterButton?: boolean;
// Indicates whether the header row is visible or not. This value can be set to show or remove the header row.
showHeaders?: boolean;
// Indicates whether the total row is visible or not. This value can be set to show or remove the total row.
showTotals?: boolean;
/**
* Constant value that represents the Table style. The possible values are: TableStyleLight1 thru TableStyleLight21,
* TableStyleMedium1 thru TableStyleMedium28, TableStyleStyleDark1 thru TableStyleStyleDark11. A custom user-defined style
* present in the workbook can also be specified.
*/
style?: NullableOption<string>;
// Represents a collection of all the columns in the table. Read-only.
columns?: NullableOption<WorkbookTableColumn[]>;
// Represents a collection of all the rows in the table. Read-only.
rows?: NullableOption<WorkbookTableRow[]>;
// Represents the sorting for the table. Read-only.
sort?: NullableOption<WorkbookTableSort>;
// The worksheet containing the current table. Read-only.
worksheet?: NullableOption<WorkbookWorksheet>;
}
export interface WorkbookWorksheet extends Entity {
// The display name of the worksheet.
name?: NullableOption<string>;
// The zero-based position of the worksheet within the workbook.
position?: number;
// The Visibility of the worksheet. The possible values are: Visible, Hidden, VeryHidden.
visibility?: string;
// Returns collection of charts that are part of the worksheet. Read-only.
charts?: NullableOption<WorkbookChart[]>;
// Returns collection of names that are associated with the worksheet. Read-only.
names?: NullableOption<WorkbookNamedItem[]>;
// Collection of PivotTables that are part of the worksheet.
pivotTables?: NullableOption<WorkbookPivotTable[]>;
// Returns sheet protection object for a worksheet. Read-only.
protection?: NullableOption<WorkbookWorksheetProtection>;
// Collection of tables that are part of the worksheet. Read-only.
tables?: NullableOption<WorkbookTable[]>;
}
export interface WorkbookChart extends Entity {
// Represents the height, in points, of the chart object.
height?: number;
// The distance, in points, from the left side of the chart to the worksheet origin.
left?: number;
// Represents the name of a chart object.
name?: NullableOption<string>;
/**
* Represents the distance, in points, from the top edge of the object to the top of row 1 (on a worksheet) or the top of
* the chart area (on a chart).
*/
top?: number;
// Represents the width, in points, of the chart object.
width?: number;
// Represents chart axes. Read-only.
axes?: NullableOption<WorkbookChartAxes>;
// Represents the datalabels on the chart. Read-only.
dataLabels?: NullableOption<WorkbookChartDataLabels>;
// Encapsulates the format properties for the chart area. Read-only.
format?: NullableOption<WorkbookChartAreaFormat>;
// Represents the legend for the chart. Read-only.
legend?: NullableOption<WorkbookChartLegend>;
// Represents either a single series or collection of series in the chart. Read-only.
series?: NullableOption<WorkbookChartSeries[]>;
/**
* Represents the title of the specified chart, including the text, visibility, position and formating of the title.
* Read-only.
*/
title?: NullableOption<WorkbookChartTitle>;
// The worksheet containing the current chart. Read-only.
worksheet?: NullableOption<WorkbookWorksheet>;
}
export interface WorkbookChartAxes extends Entity {
// Represents the category axis in a chart. Read-only.
categoryAxis?: NullableOption<WorkbookChartAxis>;
// Represents the series axis of a 3-dimensional chart. Read-only.
seriesAxis?: NullableOption<WorkbookChartAxis>;
// Represents the value axis in an axis. Read-only.
valueAxis?: NullableOption<WorkbookChartAxis>;
}
export interface WorkbookChartDataLabels extends Entity {
/**
* DataLabelPosition value that represents the position of the data label. The possible values are: None, Center,
* InsideEnd, InsideBase, OutsideEnd, Left, Right, Top, Bottom, BestFit, Callout.
*/
position?: NullableOption<string>;
// String representing the separator used for the data labels on a chart.
separator?: NullableOption<string>;
// Boolean value representing if the data label bubble size is visible or not.
showBubbleSize?: NullableOption<boolean>;
// Boolean value representing if the data label category name is visible or not.
showCategoryName?: NullableOption<boolean>;
// Boolean value representing if the data label legend key is visible or not.
showLegendKey?: NullableOption<boolean>;
// Boolean value representing if the data label percentage is visible or not.
showPercentage?: NullableOption<boolean>;
// Boolean value representing if the data label series name is visible or not.
showSeriesName?: NullableOption<boolean>;
// Boolean value representing if the data label value is visible or not.
showValue?: NullableOption<boolean>;
// Represents the format of chart data labels, which includes fill and font formatting. Read-only.
format?: NullableOption<WorkbookChartDataLabelFormat>;
}
export interface WorkbookChartAreaFormat extends Entity {
// Represents the fill format of an object, which includes background formatting information. Read-only.
fill?: NullableOption<WorkbookChartFill>;
// Represents the font attributes (font name, font size, color, etc.) for the current object. Read-only.
font?: NullableOption<WorkbookChartFont>;
}
export interface WorkbookChartLegend extends Entity {
// Boolean value for whether the chart legend should overlap with the main body of the chart.
overlay?: NullableOption<boolean>;
// Represents the position of the legend on the chart. The possible values are: Top, Bottom, Left, Right, Corner, Custom.
position?: NullableOption<string>;
// A boolean value the represents the visibility of a ChartLegend object.
visible?: boolean;
// Represents the formatting of a chart legend, which includes fill and font formatting. Read-only.
format?: NullableOption<WorkbookChartLegendFormat>;
}
export interface WorkbookChartSeries extends Entity {
// Represents the name of a series in a chart.
name?: NullableOption<string>;
// Represents the formatting of a chart series, which includes fill and line formatting. Read-only.
format?: NullableOption<WorkbookChartSeriesFormat>;
// Represents a collection of all points in the series. Read-only.
points?: NullableOption<WorkbookChartPoint[]>;
}
export interface WorkbookChartTitle extends Entity {
// Boolean value representing if the chart title will overlay the chart or not.
overlay?: NullableOption<boolean>;
// Represents the title text of a chart.
text?: NullableOption<string>;
// A boolean value the represents the visibility of a chart title object.
visible?: boolean;
// Represents the formatting of a chart title, which includes fill and font formatting. Read-only.
format?: NullableOption<WorkbookChartTitleFormat>;
}
// tslint:disable-next-line: no-empty-interface
export interface WorkbookChartFill extends Entity {}
export interface WorkbookChartFont extends Entity {
// Represents the bold status of font.
bold?: NullableOption<boolean>;
// HTML color code representation of the text color. E.g. #FF0000 represents Red.
color?: NullableOption<string>;
// Represents the italic status of the font.
italic?: NullableOption<boolean>;
// Font name (e.g. 'Calibri')
name?: NullableOption<string>;
// Size of the font (e.g. 11)
size?: NullableOption<number>;
// Type of underline applied to the font. The possible values are: None, Single.
underline?: NullableOption<string>;
}
export interface WorkbookChartAxis extends Entity {
/**
* Represents the interval between two major tick marks. Can be set to a numeric value or an empty string. The returned
* value is always a number.
*/
majorUnit?: NullableOption<any>;
/**
* Represents the maximum value on the value axis. Can be set to a numeric value or an empty string (for automatic axis
* values). The returned value is always a number.
*/
maximum?: NullableOption<any>;
/**
* Represents the minimum value on the value axis. Can be set to a numeric value or an empty string (for automatic axis
* values). The returned value is always a number.
*/
minimum?: NullableOption<any>;
/**
* Represents the interval between two minor tick marks. 'Can be set to a numeric value or an empty string (for automatic
* axis values). The returned value is always a number.
*/
minorUnit?: NullableOption<any>;
// Represents the formatting of a chart object, which includes line and font formatting. Read-only.
format?: NullableOption<WorkbookChartAxisFormat>;
// Returns a gridlines object that represents the major gridlines for the specified axis. Read-only.
majorGridlines?: NullableOption<WorkbookChartGridlines>;
// Returns a Gridlines object that represents the minor gridlines for the specified axis. Read-only.
minorGridlines?: NullableOption<WorkbookChartGridlines>;
// Represents the axis title. Read-only.
title?: NullableOption<WorkbookChartAxisTitle>;
}
export interface WorkbookChartAxisFormat extends Entity {
// Represents the font attributes (font name, font size, color, etc.) for a chart axis element. Read-only.
font?: NullableOption<WorkbookChartFont>;
// Represents chart line formatting. Read-only.
line?: NullableOption<WorkbookChartLineFormat>;
}
export interface WorkbookChartGridlines extends Entity {
// Boolean value representing if the axis gridlines are visible or not.
visible?: boolean;
// Represents the formatting of chart gridlines. Read-only.
format?: NullableOption<WorkbookChartGridlinesFormat>;
}
export interface WorkbookChartAxisTitle extends Entity {
// Represents the axis title.
text?: NullableOption<string>;
// A boolean that specifies the visibility of an axis title.
visible?: boolean;
// Represents the formatting of chart axis title. Read-only.
format?: NullableOption<WorkbookChartAxisTitleFormat>;
}
export interface WorkbookChartLineFormat extends Entity {
// HTML color code representing the color of lines in the chart.
color?: NullableOption<string>;
}
export interface WorkbookChartAxisTitleFormat extends Entity {
// Represents the font attributes, such as font name, font size, color, etc. of chart axis title object. Read-only.
font?: NullableOption<WorkbookChartFont>;
}
export interface WorkbookChartDataLabelFormat extends Entity {
// Represents the fill format of the current chart data label. Read-only.
fill?: NullableOption<WorkbookChartFill>;
// Represents the font attributes (font name, font size, color, etc.) for a chart data label. Read-only.
font?: NullableOption<WorkbookChartFont>;
}
export interface WorkbookChartGridlinesFormat extends Entity {
// Represents chart line formatting. Read-only.
line?: NullableOption<WorkbookChartLineFormat>;
}
export interface WorkbookChartLegendFormat extends Entity {
// Represents the fill format of an object, which includes background formating information. Read-only.
fill?: NullableOption<WorkbookChartFill>;
// Represents the font attributes such as font name, font size, color, etc. of a chart legend. Read-only.
font?: NullableOption<WorkbookChartFont>;
}
export interface WorkbookChartPoint extends Entity {
// Returns the value of a chart point. Read-only.
value?: NullableOption<any>;
// Encapsulates the format properties chart point. Read-only.
format?: NullableOption<WorkbookChartPointFormat>;
}
export interface WorkbookChartPointFormat extends Entity {
// Represents the fill format of a chart, which includes background formating information. Read-only.
fill?: NullableOption<WorkbookChartFill>;
}
export interface WorkbookChartSeriesFormat extends Entity {
// Represents the fill format of a chart series, which includes background formating information. Read-only.
fill?: NullableOption<WorkbookChartFill>;
// Represents line formatting. Read-only.
line?: NullableOption<WorkbookChartLineFormat>;
}
export interface WorkbookChartTitleFormat extends Entity {
// Represents the fill format of an object, which includes background formatting information. Read-only.
fill?: NullableOption<WorkbookChartFill>;
// Represents the font attributes (font name, font size, color, etc.) for the current object. Read-only.
font?: NullableOption<WorkbookChartFont>;
}
export interface WorkbookCommentReply extends Entity {
// The content of a comment reply.
content?: NullableOption<string>;
// Indicates the type for the comment reply.
contentType?: string;
}
export interface WorkbookFilter extends Entity {
// The currently applied filter on the given column. Read-only.
criteria?: NullableOption<WorkbookFilterCriteria>;
}
export interface WorkbookFormatProtection extends Entity {
/**
* Indicates if Excel hides the formula for the cells in the range. A null value indicates that the entire range doesn't
* have uniform formula hidden setting.
*/
formulaHidden?: NullableOption<boolean>;
/**
* Indicates if Excel locks the cells in the object. A null value indicates that the entire range doesn't have uniform
* lock setting.
*/
locked?: NullableOption<boolean>;
}
export interface WorkbookFunctionResult extends Entity {
error?: NullableOption<string>;
value?: NullableOption<any>;
}
export interface WorkbookPivotTable extends Entity {
// Name of the PivotTable.
name?: NullableOption<string>;
// The worksheet containing the current PivotTable. Read-only.
worksheet?: NullableOption<WorkbookWorksheet>;
}
export interface WorkbookRange extends Entity {
/**
* Represents the range reference in A1-style. Address value will contain the Sheet reference (e.g. Sheet1!A1:B4).
* Read-only.
*/
address?: NullableOption<string>;
// Represents range reference for the specified range in the language of the user. Read-only.
addressLocal?: NullableOption<string>;
// Number of cells in the range. Read-only.
cellCount?: number;
// Represents the total number of columns in the range. Read-only.
columnCount?: number;
// Represents if all columns of the current range are hidden.
columnHidden?: NullableOption<boolean>;
// Represents the column number of the first cell in the range. Zero-indexed. Read-only.
columnIndex?: number;
// Represents the formula in A1-style notation.
formulas?: NullableOption<any>;
/**
* Represents the formula in A1-style notation, in the user's language and number-formatting locale. For example, the
* English '=SUM(A1, 1.5)' formula would become '=SUMME(A1; 1,5)' in German.
*/
formulasLocal?: NullableOption<any>;
// Represents the formula in R1C1-style notation.
formulasR1C1?: NullableOption<any>;
// Represents if all cells of the current range are hidden. Read-only.
hidden?: NullableOption<boolean>;
// Represents Excel's number format code for the given cell.
numberFormat?: NullableOption<any>;
// Returns the total number of rows in the range. Read-only.
rowCount?: number;
// Represents if all rows of the current range are hidden.
rowHidden?: NullableOption<boolean>;
// Returns the row number of the first cell in the range. Zero-indexed. Read-only.
rowIndex?: number;
/**
* Text values of the specified range. The Text value will not depend on the cell width. The # sign substitution that
* happens in Excel UI will not affect the text value returned by the API. Read-only.
*/
text?: NullableOption<any>;
/**
* Represents the raw values of the specified range. The data returned could be of type string, number, or a boolean. Cell
* that contain an error will return the error string.
*/
values?: NullableOption<any>;
/**
* Represents the type of data of each cell. The possible values are: Unknown, Empty, String, Integer, Double, Boolean,
* Error. Read-only.
*/
valueTypes?: NullableOption<any>;
// Returns a format object, encapsulating the range's font, fill, borders, alignment, and other properties. Read-only.
format?: NullableOption<WorkbookRangeFormat>;
// The worksheet containing the current range. Read-only.
sort?: NullableOption<WorkbookRangeSort>;
// The worksheet containing the current range. Read-only.
worksheet?: NullableOption<WorkbookWorksheet>;
}
export interface WorkbookRangeFormat extends Entity {
// Gets or sets the width of all colums within the range. If the column widths are not uniform, null will be returned.
columnWidth?: NullableOption<number>;
/**
* Represents the horizontal alignment for the specified object. The possible values are: General, Left, Center, Right,
* Fill, Justify, CenterAcrossSelection, Distributed.
*/
horizontalAlignment?: NullableOption<string>;
// Gets or sets the height of all rows in the range. If the row heights are not uniform null will be returned.
rowHeight?: NullableOption<number>;
/**
* Represents the vertical alignment for the specified object. The possible values are: Top, Center, Bottom, Justify,
* Distributed.
*/
verticalAlignment?: NullableOption<string>;
/**
* Indicates if Excel wraps the text in the object. A null value indicates that the entire range doesn't have uniform wrap
* setting
*/
wrapText?: NullableOption<boolean>;
// Collection of border objects that apply to the overall range selected Read-only.
borders?: NullableOption<WorkbookRangeBorder[]>;
// Returns the fill object defined on the overall range. Read-only.
fill?: NullableOption<WorkbookRangeFill>;
// Returns the font object defined on the overall range selected Read-only.
font?: NullableOption<WorkbookRangeFont>;
// Returns the format protection object for a range. Read-only.
protection?: NullableOption<WorkbookFormatProtection>;
}
// tslint:disable-next-line: no-empty-interface
export interface WorkbookRangeSort extends Entity {}
export interface WorkbookRangeBorder extends Entity {
/**
* HTML color code representing the color of the border line, of the form #RRGGBB (e.g. 'FFA500') or as a named HTML color
* (e.g. 'orange').
*/
color?: NullableOption<string>;
/**
* Constant value that indicates the specific side of the border. The possible values are: EdgeTop, EdgeBottom, EdgeLeft,
* EdgeRight, InsideVertical, InsideHorizontal, DiagonalDown, DiagonalUp. Read-only.
*/
sideIndex?: NullableOption<string>;
/**
* One of the constants of line style specifying the line style for the border. The possible values are: None, Continuous,
* Dash, DashDot, DashDotDot, Dot, Double, SlantDashDot.
*/
style?: NullableOption<string>;
// Specifies the weight of the border around a range. The possible values are: Hairline, Thin, Medium, Thick.
weight?: NullableOption<string>;
}
export interface WorkbookRangeFill extends Entity {
/**
* HTML color code representing the color of the border line, of the form #RRGGBB (e.g. 'FFA500') or as a named HTML color
* (e.g. 'orange')
*/
color?: NullableOption<string>;
}
export interface WorkbookRangeFont extends Entity {
// Represents the bold status of font.
bold?: NullableOption<boolean>;
// HTML color code representation of the text color. E.g. #FF0000 represents Red.
color?: NullableOption<string>;
// Represents the italic status of the font.
italic?: NullableOption<boolean>;
// Font name (e.g. 'Calibri')
name?: NullableOption<string>;
// Font size.
size?: NullableOption<number>;
/**
* Type of underline applied to the font. The possible values are: None, Single, Double, SingleAccountant,
* DoubleAccountant.
*/
underline?: NullableOption<string>;
}
export interface WorkbookRangeView extends Entity {
// Represents the cell addresses
cellAddresses?: NullableOption<any>;
// Returns the number of visible columns. Read-only.
columnCount?: number;
// Represents the formula in A1-style notation.
formulas?: NullableOption<any>;
/**
* Represents the formula in A1-style notation, in the user's language and number-formatting locale. For example, the
* English '=SUM(A1, 1.5)' formula would become '=SUMME(A1; 1,5)' in German.
*/
formulasLocal?: NullableOption<any>;
// Represents the formula in R1C1-style notation.
formulasR1C1?: NullableOption<any>;
// Index of the range.
index?: number;
// Represents Excel's number format code for the given cell. Read-only.
numberFormat?: NullableOption<any>;
// Returns the number of visible rows. Read-only.
rowCount?: number;
/**
* Text values of the specified range. The Text value will not depend on the cell width. The # sign substitution that
* happens in Excel UI will not affect the text value returned by the API. Read-only.
*/
text?: NullableOption<any>;
/**
* Represents the raw values of the specified range view. The data returned could be of type string, number, or a boolean.
* Cell that contain an error will return the error string.
*/
values?: NullableOption<any>;
/**
* Represents the type of data of each cell. Read-only. The possible values are: Unknown, Empty, String, Integer, Double,
* Boolean, Error.
*/
valueTypes?: NullableOption<any>;
// Represents a collection of range views associated with the range. Read-only. Read-only.
rows?: NullableOption<WorkbookRangeView[]>;
}
export interface WorkbookTableColumn extends Entity {
// Returns the index number of the column within the columns collection of the table. Zero-indexed. Read-only.
index?: number;
// Returns the name of the table column.
name?: NullableOption<string>;
/**
* Represents the raw values of the specified range. The data returned could be of type string, number, or a boolean. Cell
* that contain an error will return the error string.
*/
values?: NullableOption<any>;
// Retrieve the filter applied to the column. Read-only.
filter?: NullableOption<WorkbookFilter>;
}
export interface WorkbookTableRow extends Entity {
// Returns the index number of the row within the rows collection of the table. Zero-indexed. Read-only.
index?: number;
/**
* Represents the raw values of the specified range. The data returned could be of type string, number, or a boolean. Cell
* that contain an error will return the error string.
*/
values?: NullableOption<any>;
}
export interface WorkbookTableSort extends Entity {
// Represents the current conditions used to last sort the table. Read-only.
fields?: NullableOption<WorkbookSortField[]>;
// Represents whether the casing impacted the last sort of the table. Read-only.
matchCase?: boolean;
/**
* Represents Chinese character ordering method last used to sort the table. The possible values are: PinYin, StrokeCount.
* Read-only.
*/
method?: string;
}
export interface WorkbookWorksheetProtection extends Entity {
// Sheet protection options. Read-only.
options?: NullableOption<WorkbookWorksheetProtectionOptions>;
// Indicates if the worksheet is protected. Read-only.
protected?: boolean;
}
export interface Place extends Entity {
// The street address of the place.
address?: NullableOption<PhysicalAddress>;
// The name associated with the place.
displayName?: string;
// Specifies the place location in latitude, longitude and (optionally) altitude coordinates.
geoCoordinates?: NullableOption<OutlookGeoCoordinates>;
// The phone number of the place.
phone?: NullableOption<string>;
}
export interface Room extends Place {
// Specifies the name of the audio device in the room.
audioDeviceName?: NullableOption<string>;
// Type of room. Possible values are standard, and reserved.
bookingType?: NullableOption<BookingType>;
// Specifies the building name or building number that the room is in.
building?: NullableOption<string>;
// Specifies the capacity of the room.
capacity?: NullableOption<number>;
// Specifies the name of the display device in the room.
displayDeviceName?: NullableOption<string>;
// Email address of the room.
emailAddress?: NullableOption<string>;
// Specifies a descriptive label for the floor, for example, P.
floorLabel?: NullableOption<string>;
// Specifies the floor number that the room is on.
floorNumber?: NullableOption<number>;
// Specifies whether the room is wheelchair accessible.
isWheelChairAccessible?: NullableOption<boolean>;
// Specifies a descriptive label for the room, for example, a number or name.
label?: NullableOption<string>;
// Specifies a nickname for the room, for example, 'conf room'.
nickname?: string;
// Specifies additional features of the room, for example, details like the type of view or furniture type.
tags?: NullableOption<string[]>;
// Specifies the name of the video device in the room.
videoDeviceName?: NullableOption<string>;
}
export interface RoomList extends Place {
// The email address of the room list.
emailAddress?: NullableOption<string>;
rooms?: NullableOption<Room[]>;
}
export interface Attachment extends Entity {
// The MIME type.
contentType?: NullableOption<string>;
// true if the attachment is an inline attachment; otherwise, false.
isInline?: boolean;
/**
* 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 is 2014-01-01T00:00:00Z
*/
lastModifiedDateTime?: NullableOption<string>;
// The attachment's file name.
name?: NullableOption<string>;
// The length of the attachment in bytes.
size?: number;
}
export interface CalendarPermission extends Entity {
/**
* List of allowed sharing or delegating permission levels for the calendar. Possible values are: none, freeBusyRead,
* limitedRead, read, write, delegateWithoutPrivateEventAccess, delegateWithPrivateEventAccess, custom.
*/
allowedRoles?: NullableOption<CalendarRoleType[]>;
/**
* Represents a sharee or delegate who has access to the calendar. For the 'My Organization' sharee, the address property
* is null. Read-only.
*/
emailAddress?: NullableOption<EmailAddress>;
// True if the user in context (sharee or delegate) is inside the same organization as the calendar owner.
isInsideOrganization?: NullableOption<boolean>;
/**
* True if the user can be removed from the list of sharees or delegates for the specified calendar, false otherwise. The
* 'My organization' user determines the permissions other people within your organization have to the given calendar. You
* cannot remove 'My organization' as a sharee to a calendar.
*/
isRemovable?: NullableOption<boolean>;
// Current permission level of the calendar sharee or delegate.
role?: NullableOption<CalendarRoleType>;
}
export interface MultiValueLegacyExtendedProperty extends Entity {
// A collection of property values.
value?: NullableOption<string[]>;
}
export interface SingleValueLegacyExtendedProperty extends Entity {
// A property value.
value?: NullableOption<string>;
}
export interface CalendarSharingMessage extends Message {
canAccept?: NullableOption<boolean>;
sharingMessageAction?: NullableOption<CalendarSharingMessageAction>;
sharingMessageActions?: NullableOption<CalendarSharingMessageAction[]>;
suggestedCalendarName?: NullableOption<string>;
}
export interface Post extends OutlookItem {
// The contents of the post. This is a default property. This property can be null.
body?: NullableOption<ItemBody>;
// Unique ID of the conversation. Read-only.
conversationId?: NullableOption<string>;
// Unique ID of the conversation thread. Read-only.
conversationThreadId?: NullableOption<string>;
/**
* Used in delegate access scenarios. Indicates who posted the message on behalf of another user. This is a default
* property.
*/
from?: Recipient;
// Indicates whether the post has at least one attachment. This is a default property.
hasAttachments?: boolean;
// Conversation participants that were added to the thread as part of this post.
newParticipants?: Recipient[];
/**
* Specifies when the post was received. The DateTimeOffset type represents date and time information using ISO 8601
* format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
*/
receivedDateTime?: string;
/**
* Contains the address of the sender. The value of Sender is assumed to be the address of the authenticated user in the
* case when Sender is not specified. This is a default property.
*/
sender?: NullableOption<Recipient>;
// Read-only. Nullable. Supports $expand.
attachments?: NullableOption<Attachment[]>;
// The collection of open extensions defined for the post. Read-only. Nullable. Supports $expand.
extensions?: NullableOption<Extension[]>;
// Read-only. Supports $expand.
inReplyTo?: NullableOption<Post>;
// The collection of multi-value extended properties defined for the post. Read-only. Nullable.
multiValueExtendedProperties?: NullableOption<MultiValueLegacyExtendedProperty[]>;
// The collection of single-value extended properties defined for the post. Read-only. Nullable.
singleValueExtendedProperties?: NullableOption<SingleValueLegacyExtendedProperty[]>;
}
export interface EventMessage extends Message {
endDateTime?: NullableOption<DateTimeTimeZone>;
isAllDay?: NullableOption<boolean>;
isDelegated?: NullableOption<boolean>;
isOutOfDate?: NullableOption<boolean>;
location?: NullableOption<Location>;
meetingMessageType?: NullableOption<MeetingMessageType>;
recurrence?: NullableOption<PatternedRecurrence>;
startDateTime?: NullableOption<DateTimeTimeZone>;
type?: NullableOption<EventType>;
/**
* The event associated with the event message. The assumption for attendees or room resources is that the Calendar
* Attendant is set to automatically update the calendar with an event when meeting request event messages arrive.
* Navigation property. Read-only.
*/
event?: NullableOption<Event>;
}
export interface EventMessageRequest extends EventMessage {
/**
* True if the meeting organizer allows invitees to propose a new time when responding, false otherwise. Optional. Default
* is true.
*/
allowNewTimeProposals?: NullableOption<boolean>;
meetingRequestType?: NullableOption<MeetingRequestType>;
// If the meeting update changes the meeting end time, this property specifies the previous meeting end time.
previousEndDateTime?: NullableOption<DateTimeTimeZone>;
// If the meeting update changes the meeting location, this property specifies the previous meeting location.
previousLocation?: NullableOption<Location>;
// If the meeting update changes the meeting start time, this property specifies the previous meeting start time.
previousStartDateTime?: NullableOption<DateTimeTimeZone>;
// Set to true if the sender would like the invitee to send a response to the requested meeting.
responseRequested?: NullableOption<boolean>;
}
export interface EventMessageResponse extends EventMessage {
proposedNewTime?: NullableOption<TimeSlot>;
responseType?: NullableOption<ResponseType>;
}
export interface FileAttachment extends Attachment {
// The base64-encoded contents of the file.
contentBytes?: NullableOption<string>;
// The ID of the attachment in the Exchange store.
contentId?: NullableOption<string>;
// Do not use this property as it is not supported.
contentLocation?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
export interface InferenceClassificationOverride extends Entity {
/**
* Specifies how incoming messages from a specific sender should always be classified as. The possible values are:
* focused, other.
*/
classifyAs?: NullableOption<InferenceClassificationType>;
// The email address information of the sender for whom the override is created.
senderEmailAddress?: NullableOption<EmailAddress>;
}
// tslint:disable-next-line: interface-name
export interface ItemAttachment extends Attachment {
// The attached message or event. Navigation property.
item?: NullableOption<OutlookItem>;
}
export interface MessageRule extends Entity {
// Actions to be taken on a message when the corresponding conditions are fulfilled.
actions?: NullableOption<MessageRuleActions>;
// Conditions that when fulfilled, will trigger the corresponding actions for that rule.
conditions?: NullableOption<MessageRulePredicates>;
// The display name of the rule.
displayName?: NullableOption<string>;
// Exception conditions for the rule.
exceptions?: NullableOption<MessageRulePredicates>;
// Indicates whether the rule is in an error condition. Read-only.
hasError?: NullableOption<boolean>;
// Indicates whether the rule is enabled to be applied to messages.
isEnabled?: NullableOption<boolean>;
// Indicates if the rule is read-only and cannot be modified or deleted by the rules REST API.
isReadOnly?: NullableOption<boolean>;
// Indicates the order in which the rule is executed, among other rules.
sequence?: NullableOption<number>;
}
export interface MailSearchFolder extends MailFolder {
// The OData query to filter the messages.
filterQuery?: NullableOption<string>;
/**
* Indicates how the mailbox folder hierarchy should be traversed in the search. true means that a deep search should be
* done to include child folders in the hierarchy of each folder explicitly specified in sourceFolderIds. false means a
* shallow search of only each of the folders explicitly specified in sourceFolderIds.
*/
includeNestedFolders?: NullableOption<boolean>;
// Indicates whether a search folder is editable using REST APIs.
isSupported?: NullableOption<boolean>;
// The mailbox folders that should be mined.
sourceFolderIds?: NullableOption<string[]>;
}
export interface OpenTypeExtension extends Extension {
// A unique text identifier for an open type data extension. Optional.
extensionName?: string;
}
export interface OutlookCategory extends Entity {
/**
* A pre-set color constant that characterizes a category, and that is mapped to one of 25 predefined colors. For more
* details, see the following note.
*/
color?: NullableOption<CategoryColor>;
/**
* A unique name that identifies a category in the user's mailbox. After a category is created, the name cannot be
* changed. Read-only.
*/
displayName?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface ReferenceAttachment extends Attachment {}
export interface SharepointSettings extends Entity {
// Collection of trusted domain GUIDs for the OneDrive sync app.
allowedDomainGuidsForSyncApp?: NullableOption<string[]>;
// Collection of managed paths available for site creation. Read-only.
availableManagedPathsForSiteCreation?: string[];
// The number of days for preserving a deleted user's OneDrive.
deletedUserPersonalSiteRetentionPeriodInDays?: NullableOption<number>;
// Collection of file extensions not uploaded by the OneDrive sync app.
excludedFileExtensionsForSyncApp?: NullableOption<string[]>;
// Specifies the idle session sign-out policies for the tenant.
idleSessionSignOut?: NullableOption<IdleSessionSignOut>;
// Specifies the image tagging option for the tenant. Possible values are: disabled, basic, enhanced.
imageTaggingOption?: NullableOption<ImageTaggingChoice>;
// Indicates whether comments are allowed on modern site pages in SharePoint.
isCommentingOnSitePagesEnabled?: NullableOption<boolean>;
// Indicates whether push notifications are enabled for OneDrive events.
isFileActivityNotificationEnabled?: NullableOption<boolean>;
// Indicates whether legacy authentication protocols are enabled for the tenant.
isLegacyAuthProtocolsEnabled?: NullableOption<boolean>;
// Indicates whether if Fluid Framework is allowed on SharePoint sites.
isLoopEnabled?: NullableOption<boolean>;
// Indicates whether files can be synced using the OneDrive sync app for Mac.
isMacSyncAppEnabled?: NullableOption<boolean>;
// Indicates whether guests must sign in using the same account to which sharing invitations are sent.
isRequireAcceptingUserToMatchInvitedUserEnabled?: NullableOption<boolean>;
// Indicates whether guests are allowed to reshare files, folders, and sites they don't own.
isResharingByExternalUsersEnabled?: NullableOption<boolean>;
// Indicates whether mobile push notifications are enabled for SharePoint.
isSharePointMobileNotificationEnabled?: NullableOption<boolean>;
// Indicates whether the newsfeed is allowed on the modern site pages in SharePoint.
isSharePointNewsfeedEnabled?: NullableOption<boolean>;
// Indicates whether users are allowed to create sites.
isSiteCreationEnabled?: NullableOption<boolean>;
// Indicates whether the UI commands for creating sites are shown.
isSiteCreationUIEnabled?: NullableOption<boolean>;
// Indicates whether creating new modern pages is allowed on SharePoint sites.
isSitePagesCreationEnabled?: NullableOption<boolean>;
// Indicates whether site storage space is automatically managed or if specific storage limits are set per site.
isSitesStorageLimitAutomatic?: NullableOption<boolean>;
// Indicates whether the sync button in OneDrive is hidden.
isSyncButtonHiddenOnPersonalSite?: NullableOption<boolean>;
// Indicates whether users are allowed to sync files only on PCs joined to specific domains.
isUnmanagedSyncAppForTenantRestricted?: NullableOption<boolean>;
/**
* The default OneDrive storage limit for all new and existing users who are assigned a qualifying license. Measured in
* megabytes (MB).
*/
personalSiteDefaultStorageLimitInMB?: NullableOption<number>;
// Collection of email domains that are allowed for sharing outside the organization.
sharingAllowedDomainList?: NullableOption<string[]>;
// Collection of email domains that are blocked for sharing outside the organization.
sharingBlockedDomainList?: NullableOption<string[]>;
/**
* Sharing capability for the tenant. Possible values are: disabled, externalUserSharingOnly, externalUserAndGuestSharing,
* existingExternalUserSharingOnly.
*/
sharingCapability?: NullableOption<SharingCapabilities>;
// Specifies the external sharing mode for domains. Possible values are: none, allowList, blockList.
sharingDomainRestrictionMode?: NullableOption<SharingDomainRestrictionMode>;
// The value of the team site managed path. This is the path under which new team sites will be created.
siteCreationDefaultManagedPath?: string;
// The default storage quota for a new site upon creation. Measured in megabytes (MB).
siteCreationDefaultStorageLimitInMB?: NullableOption<number>;
/**
* The default timezone of a tenant for newly created sites. For a list of possible values, see
* SPRegionalSettings.TimeZones property.
*/
tenantDefaultTimezone?: NullableOption<string>;
}
export interface ColumnLink extends Entity {
// The name of the column in this content type.
name?: NullableOption<string>;
}
export interface ListItemVersion extends BaseItemVersion {
// A collection of the fields and values for this version of the list item.
fields?: NullableOption<FieldValueSet>;
}
export interface DocumentSetVersion extends ListItemVersion {
// Comment about the captured version.
comment?: NullableOption<string>;
// User who captured the version.
createdBy?: NullableOption<IdentitySet>;
// Date and time when this version was created.
createdDateTime?: NullableOption<string>;
// Items within the document set that are captured as part of this version.
items?: NullableOption<DocumentSetVersionItem[]>;
/**
* If true, minor versions of items are also captured; otherwise, only major versions will be captured. Default value is
* false.
*/
shouldCaptureMinorVersion?: NullableOption<boolean>;
}
// tslint:disable-next-line: no-empty-interface
export interface FieldValueSet extends Entity {}
// tslint:disable-next-line: interface-name
export interface ItemActivity extends Entity {
// An item was accessed.
access?: NullableOption<AccessAction>;
// Details about when the activity took place. Read-only.
activityDateTime?: NullableOption<string>;
// Identity of who performed the action. Read-only.
actor?: NullableOption<IdentitySet>;
// Exposes the driveItem that was the target of this activity.
driveItem?: NullableOption<DriveItem>;
}
// tslint:disable-next-line: interface-name
export interface ItemActivityStat extends Entity {
// Statistics about the access actions in this interval. Read-only.
access?: NullableOption<ItemActionStat>;
// Statistics about the create actions in this interval. Read-only.
create?: NullableOption<ItemActionStat>;
// Statistics about the delete actions in this interval. Read-only.
delete?: NullableOption<ItemActionStat>;
// Statistics about the edit actions in this interval. Read-only.
edit?: NullableOption<ItemActionStat>;
// When the interval ends. Read-only.
endDateTime?: NullableOption<string>;
// Indicates that the statistics in this interval are based on incomplete data. Read-only.
incompleteData?: NullableOption<IncompleteData>;
// Indicates whether the item is 'trending.' Read-only.
isTrending?: NullableOption<boolean>;
// Statistics about the move actions in this interval. Read-only.
move?: NullableOption<ItemActionStat>;
// When the interval starts. Read-only.
startDateTime?: NullableOption<string>;
// Exposes the itemActivities represented in this itemActivityStat resource.
activities?: NullableOption<ItemActivity[]>;
}
export interface SharedDriveItem extends BaseItem {
// Information about the owner of the shared item being referenced.
owner?: NullableOption<IdentitySet>;
// Used to access the underlying driveItem
driveItem?: NullableOption<DriveItem>;
// All driveItems contained in the sharing root. This collection cannot be enumerated.
items?: NullableOption<DriveItem[]>;
// Used to access the underlying list
list?: NullableOption<List>;
// Used to access the underlying listItem
listItem?: NullableOption<ListItem>;
// Used to access the permission representing the underlying sharing link
permission?: NullableOption<Permission>;
// Used to access the underlying driveItem. Deprecated -- use driveItem instead.
root?: NullableOption<DriveItem>;
// Used to access the underlying site
site?: NullableOption<Site>;
}
export interface MeetingAttendanceReport extends Entity {
// UTC time when the meeting ended. Read-only.
meetingEndDateTime?: NullableOption<string>;
// UTC time when the meeting started. Read-only.
meetingStartDateTime?: NullableOption<string>;
// Total number of participants. Read-only.
totalParticipantCount?: NullableOption<number>;
// List of attendance records of an attendance report. Read-only.
attendanceRecords?: NullableOption<AttendanceRecord[]>;
}
export interface SchemaExtension extends Entity {
// Description for the schema extension. Supports $filter (eq).
description?: NullableOption<string>;
/**
* The appId of the application that is the owner of the schema extension. The owner of the schema definition must be
* explicitly specified during the Create and Update operations, or it will be implied and auto-assigned by Azure AD as
* follows: In delegated access: The signed-in user must be the owner of the app that calls Microsoft Graph to create the
* schema extension definition. If the signed-in user isn't the owner of the calling app, they must explicitly specify the
* owner property, and assign it the appId of an app that they own. In app-only access: The owner property isn't required
* in the request body. Instead, the calling app is assigned ownership of the schema extension. So, for example, if
* creating a new schema extension definition using Graph Explorer, you must supply the owner property. Once set, this
* property is read-only and cannot be changed. Supports $filter (eq).
*/
owner?: string;
// The collection of property names and types that make up the schema extension definition.
properties?: ExtensionSchemaProperty[];
/**
* The lifecycle state of the schema extension. Possible states are InDevelopment, Available, and Deprecated.
* Automatically set to InDevelopment on creation. For more information about the possible state transitions and
* behaviors, see Schema extensions lifecycle. Supports $filter (eq).
*/
status?: string;
/**
* Set of Microsoft Graph types (that can support extensions) that the schema extension can be applied to. Select from
* administrativeUnit, contact, device, event, group, message, organization, post, todoTask, todoTaskList, or user.
*/
targetTypes?: string[];
}
export interface AttributeMappingFunctionSchema extends Entity {
parameters?: NullableOption<AttributeMappingParameterSchema[]>;
}
export interface DirectoryDefinition extends Entity {
discoverabilities?: DirectoryDefinitionDiscoverabilities;
discoveryDateTime?: NullableOption<string>;
name?: NullableOption<string>;
objects?: NullableOption<ObjectDefinition[]>;
readOnly?: boolean;
version?: NullableOption<string>;
}
export interface FilterOperatorSchema extends Entity {
arity?: ScopeOperatorType;
multivaluedComparisonType?: ScopeOperatorMultiValuedComparisonType;
supportedAttributeTypes?: AttributeType[];
}
export interface SynchronizationJob extends Entity {
schedule?: NullableOption<SynchronizationSchedule>;
status?: NullableOption<SynchronizationStatus>;
synchronizationJobSettings?: NullableOption<KeyValuePair[]>;
templateId?: NullableOption<string>;
schema?: NullableOption<SynchronizationSchema>;
}
export interface SynchronizationTemplate extends Entity {
applicationId?: string;
default?: boolean;
description?: NullableOption<string>;
discoverable?: boolean;
factoryTag?: NullableOption<string>;
metadata?: NullableOption<SynchronizationMetadataEntry[]>;
schema?: NullableOption<SynchronizationSchema>;
}
export interface SynchronizationSchema extends Entity {
synchronizationRules?: NullableOption<SynchronizationRule[]>;
version?: NullableOption<string>;
directories?: NullableOption<DirectoryDefinition[]>;
}
export interface CloudCommunications {
callRecords?: NullableOption<CallRecords.CallRecord[]>;
calls?: NullableOption<Call[]>;
onlineMeetings?: NullableOption<OnlineMeeting[]>;
presences?: NullableOption<Presence[]>;
}
export interface Call extends Entity {
// The callback URL on which callbacks will be delivered. Must be https.
callbackUri?: string;
/**
* A unique identifier for all the participant calls in a conference or a unique identifier for two participant calls in a
* P2P call. This needs to be copied over from Microsoft.Graph.Call.CallChainId.
*/
callChainId?: NullableOption<string>;
// Contains the optional features for the call.
callOptions?: NullableOption<CallOptions>;
// The routing information on how the call was retargeted. Read-only.
callRoutes?: NullableOption<CallRoute[]>;
// The chat information. Required information for joining a meeting.
chatInfo?: NullableOption<ChatInfo>;
// The direction of the call. The possible value are incoming or outgoing. Read-only.
direction?: NullableOption<CallDirection>;
// Call context associated with an incoming call.
incomingContext?: NullableOption<IncomingContext>;
// The media configuration. Required.
mediaConfig?: NullableOption<MediaConfig>;
// Read-only. The call media state.
mediaState?: NullableOption<CallMediaState>;
// The meeting information. Required information for meeting scenarios.
meetingInfo?: NullableOption<MeetingInfo>;
myParticipantId?: NullableOption<string>;
// The list of requested modalities. Possible values are: unknown, audio, video, videoBasedScreenSharing, data.
requestedModalities?: NullableOption<Modality[]>;
// The result information. For example can hold termination reason. Read-only.
resultInfo?: NullableOption<ResultInfo>;
// The originator of the call.
source?: NullableOption<ParticipantInfo>;
/**
* The call state. Possible values are: incoming, establishing, ringing, established, hold, transferring,
* transferAccepted, redirecting, terminating, terminated. Read-only.
*/
state?: NullableOption<CallState>;
// The subject of the conversation.
subject?: NullableOption<string>;
// The targets of the call. Required information for creating peer to peer call.
targets?: NullableOption<InvitationParticipantInfo[]>;
tenantId?: NullableOption<string>;
toneInfo?: NullableOption<ToneInfo>;
// The transcription information for the call. Read-only.
transcription?: NullableOption<CallTranscriptionInfo>;
audioRoutingGroups?: NullableOption<AudioRoutingGroup[]>;
contentSharingSessions?: NullableOption<ContentSharingSession[]>;
operations?: NullableOption<CommsOperation[]>;
participants?: NullableOption<Participant[]>;
}
export interface AccessReviewHistoryDefinition extends Entity {
// User who created this review history definition.
createdBy?: UserIdentity;
// Timestamp when the access review definition was created.
createdDateTime?: string;
/**
* Determines which review decisions will be included in the fetched review history data if specified. Optional on create.
* All decisions will be included by default if no decisions are provided on create. Possible values are: approve, deny,
* dontKnow, notReviewed, and notNotified.
*/
decisions?: NullableOption<AccessReviewHistoryDecisionFilter[]>;
// Name for the access review history data collection. Required.
displayName?: string;
/**
* A timestamp. Reviews ending on or before this date will be included in the fetched history data. Only required if
* scheduleSettings is not defined.
*/
reviewHistoryPeriodEndDateTime?: string;
/**
* A timestamp. Reviews starting on or before this date will be included in the fetched history data. Only required if
* scheduleSettings is not defined.
*/
reviewHistoryPeriodStartDateTime?: string;
/**
* The settings for a recurring access review history definition series. Only required if reviewHistoryPeriodStartDateTime
* or reviewHistoryPeriodEndDateTime are not defined. Not supported yet.
*/
scheduleSettings?: NullableOption<AccessReviewHistoryScheduleSettings>;
/**
* Used to scope what reviews are included in the fetched history data. Fetches reviews whose scope matches with this
* provided scope. Required.
*/
scopes?: AccessReviewScope[];
/**
* Represents the status of the review history data collection. The possible values are: done, inProgress, error,
* requested, unknownFutureValue.
*/
status?: NullableOption<AccessReviewHistoryStatus>;
/**
* If the accessReviewHistoryDefinition is a recurring definition, instances represent each recurrence. A definition that
* does not recur will have exactly one instance.
*/
instances?: NullableOption<AccessReviewHistoryInstance[]>;
}
export interface AccessReviewHistoryInstance extends Entity {
/**
* Uri which can be used to retrieve review history data. This URI will be active for 24 hours after being generated.
* Required.
*/
downloadUri?: NullableOption<string>;
// Timestamp when this instance and associated data expires and the history is deleted. Required.
expirationDateTime?: string;
/**
* Timestamp when all of the available data for this instance was collected. This will be set after this instance's status
* is set to done. Required.
*/
fulfilledDateTime?: NullableOption<string>;
// Timestamp, reviews ending on or before this date will be included in the fetched history data.
reviewHistoryPeriodEndDateTime?: NullableOption<string>;
// Timestamp, reviews starting on or after this date will be included in the fetched history data.
reviewHistoryPeriodStartDateTime?: NullableOption<string>;
// Timestamp when the instance's history data is scheduled to be generated.
runDateTime?: string;
/**
* Represents the status of the review history data collection. The possible values are: done, inProgress, error,
* requested, unknownFutureValue. Once the status has been marked as done, a link can be generated to retrieve the
* instance's data by calling generateDownloadUri method.
*/
status?: NullableOption<AccessReviewHistoryStatus>;
}
export interface AccessReviewInstance extends Entity {
/**
* DateTime when review instance is scheduled to end.The DatetimeOffset type represents date and time information using
* ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Supports
* $select. Read-only.
*/
endDateTime?: NullableOption<string>;
/**
* This collection of reviewer scopes is used to define the list of fallback reviewers. These fallback reviewers will be
* notified to take action if no users are found from the list of reviewers specified. This could occur when either the
* group owner is specified as the reviewer but the group owner does not exist, or manager is specified as reviewer but a
* user's manager does not exist. Supports $select.
*/
fallbackReviewers?: NullableOption<AccessReviewReviewerScope[]>;
/**
* This collection of access review scopes is used to define who the reviewers are. Supports $select. For examples of
* options for assigning reviewers, see Assign reviewers to your access review definition using the Microsoft Graph API.
*/
reviewers?: NullableOption<AccessReviewReviewerScope[]>;
/**
* Created based on scope and instanceEnumerationScope at the accessReviewScheduleDefinition level. Defines the scope of
* users reviewed in a group. Supports $select and $filter (contains only). Read-only.
*/
scope?: NullableOption<AccessReviewScope>;
/**
* DateTime when review instance is scheduled to start. May be in the future. The DateTimeOffset type represents date and
* time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is
* 2014-01-01T00:00:00Z. Supports $select. Read-only.
*/
startDateTime?: NullableOption<string>;
/**
* Specifies the status of an accessReview. Possible values: Initializing, NotStarted, Starting, InProgress, Completing,
* Completed, AutoReviewing, and AutoReviewed. Supports $select, $orderby, and $filter (eq only). Read-only.
*/
status?: NullableOption<string>;
/**
* Returns the collection of reviewers who were contacted to complete this review. While the reviewers and
* fallbackReviewers properties of the accessReviewScheduleDefinition might specify group owners or managers as reviewers,
* contactedReviewers returns their individual identities. Supports $select. Read-only.
*/
contactedReviewers?: NullableOption<AccessReviewReviewer[]>;
/**
* Each user reviewed in an accessReviewInstance has a decision item representing if they were approved, denied, or not
* yet reviewed.
*/
decisions?: NullableOption<AccessReviewInstanceDecisionItem[]>;
/**
* If the instance has multiple stages, this returns the collection of stages. A new stage will only be created when the
* previous stage ends. The existence, number, and settings of stages on a review instance are created based on the
* accessReviewStageSettings on the parent accessReviewScheduleDefinition.
*/
stages?: NullableOption<AccessReviewStage[]>;
}
export interface AccessReviewReviewer extends Entity {
// The date when the reviewer was added for the access review.
createdDateTime?: NullableOption<string>;
// Name of reviewer.
displayName?: NullableOption<string>;
// User principal name of the reviewer.
userPrincipalName?: NullableOption<string>;
}
export interface AccessReviewInstanceDecisionItem extends Entity {
// The identifier of the accessReviewInstance parent. Supports $select. Read-only.
accessReviewId?: string;
// The identifier of the user who applied the decision. Read-only.
appliedBy?: NullableOption<UserIdentity>;
/**
* The timestamp when the approval decision was applied.00000000-0000-0000-0000-000000000000 if the assigned reviewer
* hasn't applied the decision or it was automatically applied. The DatetimeOffset type represents date and time
* information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is
* 2014-01-01T00:00:00Z. Supports $select. Read-only.
*/
appliedDateTime?: NullableOption<string>;
/**
* The result of applying the decision. Possible values: New, AppliedSuccessfully, AppliedWithUnknownFailure,
* AppliedSuccessfullyButObjectNotFound and ApplyNotSupported. Supports $select, $orderby, and $filter (eq only).
* Read-only.
*/
applyResult?: NullableOption<string>;
/**
* Result of the review. Possible values: Approve, Deny, NotReviewed, or DontKnow. Supports $select, $orderby, and $filter
* (eq only).
*/
decision?: NullableOption<string>;
// Justification left by the reviewer when they made the decision.
justification?: NullableOption<string>;
/**
* Every decision item in an access review represents a principal's access to a resource. This property represents details
* of the principal. For example, if a decision item represents access of User 'Bob' to Group 'Sales' - The principal is
* 'Bob' and the resource is 'Sales'. Principals can be of two types - userIdentity and servicePrincipalIdentity. Supports
* $select. Read-only.
*/
principal?: NullableOption<Identity>;
/**
* A link to the principal object. For example,
* https://graph.microsoft.com/v1.0/users/a6c7aecb-cbfd-4763-87ef-e91b4bd509d9. Read-only.
*/
principalLink?: NullableOption<string>;
/**
* A system-generated recommendation for the approval decision based off last interactive sign-in to tenant. Recommend
* approve if sign-in is within thirty days of start of review. Recommend deny if sign-in is greater than thirty days of
* start of review. Recommendation not available otherwise. Possible values: Approve, Deny, or NoInfoAvailable. Supports
* $select, $orderby, and $filter (eq only). Read-only.
*/
recommendation?: NullableOption<string>;
/**
* Every decision item in an access review represents a principal's access to a resource. This property represents details
* of the resource. For example, if a decision item represents access of User 'Bob' to Group 'Sales' - The principal is
* Bob and the resource is 'Sales'. Resources can be of multiple types. See accessReviewInstanceDecisionItemResource.
* Read-only.
*/
resource?: NullableOption<AccessReviewInstanceDecisionItemResource>;
/**
* A link to the resource. For example,
* https://graph.microsoft.com/v1.0/servicePrincipals/c86300f3-8695-4320-9f6e-32a2555f5ff8. Supports $select. Read-only.
*/
resourceLink?: NullableOption<string>;
/**
* The identifier of the reviewer.00000000-0000-0000-0000-000000000000 if the assigned reviewer hasn't reviewed. Supports
* $select. Read-only.
*/
reviewedBy?: NullableOption<UserIdentity>;
// The timestamp when the review decision occurred. Supports $select. Read-only.
reviewedDateTime?: NullableOption<string>;
}
export interface AccessReviewStage extends Entity {
/**
* The date and time in ISO 8601 format and UTC time when the review stage is scheduled to end. This property is the
* cumulative total of the durationInDays for all stages. Read-only.
*/
endDateTime?: NullableOption<string>;
/**
* This collection of reviewer scopes is used to define the list of fallback reviewers. These fallback reviewers will be
* notified to take action if no users are found from the list of reviewers specified. This could occur when either the
* group owner is specified as the reviewer but the group owner does not exist, or manager is specified as reviewer but a
* user's manager does not exist.
*/
fallbackReviewers?: NullableOption<AccessReviewReviewerScope[]>;
/**
* This collection of access review scopes is used to define who the reviewers are. For examples of options for assigning
* reviewers, see Assign reviewers to your access review definition using the Microsoft Graph API.
*/
reviewers?: NullableOption<AccessReviewReviewerScope[]>;
// The date and time in ISO 8601 format and UTC time when the review stage is scheduled to start. Read-only.
startDateTime?: NullableOption<string>;
/**
* Specifies the status of an accessReviewStage. Possible values: Initializing, NotStarted, Starting, InProgress,
* Completing, Completed, AutoReviewing, and AutoReviewed. Supports $orderby, and $filter (eq only). Read-only.
*/
status?: NullableOption<string>;
/**
* Each user reviewed in an accessReviewStage has a decision item representing if they were approved, denied, or not yet
* reviewed.
*/
decisions?: NullableOption<AccessReviewInstanceDecisionItem[]>;
}
export interface AccessReviewScheduleDefinition extends Entity {
// Defines the list of additional users or group members to be notified of the access review progress.
additionalNotificationRecipients?: NullableOption<AccessReviewNotificationRecipientItem[]>;
// User who created this review. Read-only.
createdBy?: NullableOption<UserIdentity>;
// Timestamp when the access review series was created. Supports $select. Read-only.
createdDateTime?: NullableOption<string>;
// Description provided by review creators to provide more context of the review to admins. Supports $select.
descriptionForAdmins?: NullableOption<string>;
/**
* Description provided by review creators to provide more context of the review to reviewers. Reviewers will see this
* description in the email sent to them requesting their review. Email notifications support up to 256 characters.
* Supports $select.
*/
descriptionForReviewers?: NullableOption<string>;
// Name of the access review series. Supports $select and $orderBy. Required on create.
displayName?: NullableOption<string>;
/**
* This collection of reviewer scopes is used to define the list of fallback reviewers. These fallback reviewers will be
* notified to take action if no users are found from the list of reviewers specified. This could occur when either the
* group owner is specified as the reviewer but the group owner does not exist, or manager is specified as reviewer but a
* user's manager does not exist. See accessReviewReviewerScope. Replaces backupReviewers. Supports $select. NOTE: The
* value of this property will be ignored if fallback reviewers are assigned through the stageSettings property.
*/
fallbackReviewers?: NullableOption<AccessReviewReviewerScope[]>;
/**
* This property is required when scoping a review to guest users' access across all Microsoft 365 groups and determines
* which Microsoft 365 groups are reviewed. Each group will become a unique accessReviewInstance of the access review
* series. For supported scopes, see accessReviewScope. Supports $select. For examples of options for configuring
* instanceEnumerationScope, see Configure the scope of your access review definition using the Microsoft Graph API.
*/
instanceEnumerationScope?: NullableOption<AccessReviewScope>;
// Timestamp when the access review series was last modified. Supports $select. Read-only.
lastModifiedDateTime?: NullableOption<string>;
/**
* This collection of access review scopes is used to define who are the reviewers. The reviewers property is only
* updatable if individual users are assigned as reviewers. Required on create. Supports $select. For examples of options
* for assigning reviewers, see Assign reviewers to your access review definition using the Microsoft Graph API. NOTE: The
* value of this property will be ignored if reviewers are assigned through the stageSettings property.
*/
reviewers?: NullableOption<AccessReviewReviewerScope[]>;
/**
* Defines the entities whose access is reviewed. For supported scopes, see accessReviewScope. Required on create.
* Supports $select and $filter (contains only). For examples of options for configuring scope, see Configure the scope of
* your access review definition using the Microsoft Graph API.
*/
scope?: NullableOption<AccessReviewScope>;
// The settings for an access review series, see type definition below. Supports $select. Required on create.
settings?: NullableOption<AccessReviewScheduleSettings>;
/**
* Required only for a multi-stage access review to define the stages and their settings. You can break down each review
* instance into up to three sequential stages, where each stage can have a different set of reviewers, fallback
* reviewers, and settings. Stages will be created sequentially based on the dependsOn property. Optional. When this
* property is defined, its settings are used instead of the corresponding settings in the accessReviewScheduleDefinition
* object and its settings, reviewers, and fallbackReviewers properties.
*/
stageSettings?: NullableOption<AccessReviewStageSettings[]>;
/**
* This read-only field specifies the status of an access review. The typical states include Initializing, NotStarted,
* Starting, InProgress, Completing, Completed, AutoReviewing, and AutoReviewed. Supports $select, $orderby, and $filter
* (eq only). Read-only.
*/
status?: NullableOption<string>;
/**
* If the accessReviewScheduleDefinition is a recurring access review, instances represent each recurrence. A review that
* does not recur will have exactly one instance. Instances also represent each unique resource under review in the
* accessReviewScheduleDefinition. If a review has multiple resources and multiple instances, each resource will have a
* unique instance for each recurrence.
*/
instances?: NullableOption<AccessReviewInstance[]>;
}
export interface AccessReviewSet extends Entity {
// Represents the template and scheduling for an access review.
definitions?: NullableOption<AccessReviewScheduleDefinition[]>;
// Represents a collection of access review history data and the scopes used to collect that data.
historyDefinitions?: NullableOption<AccessReviewHistoryDefinition[]>;
}
export interface AppConsentApprovalRoute extends Entity {
// A collection of userConsentRequest objects for a specific application.
appConsentRequests?: NullableOption<AppConsentRequest[]>;
}
export interface AppConsentRequest extends Entity {
// The display name of the app for which consent is requested. Required. Supports $filter (eq only) and $orderby.
appDisplayName?: NullableOption<string>;
// The identifier of the application. Required. Supports $filter (eq only) and $orderby.
appId?: string;
// A list of pending scopes waiting for approval. Required.
pendingScopes?: NullableOption<AppConsentRequestScope[]>;
// A list of pending user consent requests. Supports $filter (eq).
userConsentRequests?: NullableOption<UserConsentRequest[]>;
}
export interface UserConsentRequest extends Request {
// The user's justification for requiring access to the app. Supports $filter (eq only) and $orderby.
reason?: NullableOption<string>;
// Approval decisions associated with a request.
approval?: NullableOption<Approval>;
}
export interface Approval extends Entity {
// A collection of stages in the approval decision.
stages?: NullableOption<ApprovalStage[]>;
}
export interface ApprovalStage extends Entity {
// Indicates whether the stage is assigned to the calling user to review. Read-only.
assignedToMe?: NullableOption<boolean>;
// The label provided by the policy creator to identify an approval stage. Read-only.
displayName?: NullableOption<string>;
// The justification associated with the approval stage decision.
justification?: NullableOption<string>;
/**
* The identifier of the reviewer. 00000000-0000-0000-0000-000000000000 if the assigned reviewer hasn't reviewed.
* Read-only.
*/
reviewedBy?: NullableOption<Identity>;
/**
* The date and time when a decision was recorded. The date and time information uses ISO 8601 format and is always in UTC
* time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Read-only.
*/
reviewedDateTime?: NullableOption<string>;
// The result of this approval record. Possible values include: NotReviewed, Approved, Denied.
reviewResult?: NullableOption<string>;
// The stage status. Possible values: InProgress, Initializing, Completed, Expired. Read-only.
status?: NullableOption<string>;
}
export interface EntitlementManagement extends Entity {
// Approval stages for decisions associated with access package assignment requests.
accessPackageAssignmentApprovals?: NullableOption<Approval[]>;
/**
* Access packages define the collection of resource roles and the policies for which subjects can request or be assigned
* access to those resources.
*/
accessPackages?: NullableOption<AccessPackage[]>;
/**
* Access package assignment policies govern which subjects can request or be assigned an access package via an access
* package assignment.
*/
assignmentPolicies?: NullableOption<AccessPackageAssignmentPolicy[]>;
// Access package assignment requests created by or on behalf of a subject.
assignmentRequests?: NullableOption<AccessPackageAssignmentRequest[]>;
// The assignment of an access package to a subject for a period of time.
assignments?: NullableOption<AccessPackageAssignment[]>;
// A container for access packages.
catalogs?: NullableOption<AccessPackageCatalog[]>;
// References to a directory or domain of another organization whose users can request access.
connectedOrganizations?: NullableOption<ConnectedOrganization[]>;
// The settings that control the behavior of Azure AD entitlement management.
settings?: NullableOption<EntitlementManagementSettings>;
}
export interface AccessPackage extends Entity {
/**
* 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 is 2014-01-01T00:00:00Z. Read-only.
*/
createdDateTime?: NullableOption<string>;
// The description of the access package.
description?: NullableOption<string>;
// The display name of the access package. Supports $filter (eq, contains).
displayName?: NullableOption<string>;
// Whether the access package is hidden from the requestor.
isHidden?: NullableOption<boolean>;
/**
* 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 is 2014-01-01T00:00:00Z. Read-only.
*/
modifiedDateTime?: NullableOption<string>;
// The access packages that are incompatible with this package. Read-only.
accessPackagesIncompatibleWith?: NullableOption<AccessPackage[]>;
assignmentPolicies?: NullableOption<AccessPackageAssignmentPolicy[]>;
catalog?: NullableOption<AccessPackageCatalog>;
// The access packages whose assigned users are ineligible to be assigned this access package.
incompatibleAccessPackages?: NullableOption<AccessPackage[]>;
// The groups whose members are ineligible to be assigned this access package.
incompatibleGroups?: NullableOption<Group[]>;
}
export interface AccessPackageAssignmentPolicy extends Entity {
/**
* Principals that can be assigned the access package through this policy. The possible values are: notSpecified,
* specificDirectoryUsers, specificConnectedOrganizationUsers, specificDirectoryServicePrincipals, allMemberUsers,
* allDirectoryUsers, allDirectoryServicePrincipals, allConfiguredConnectedOrganizationUsers, allExternalUsers,
* unknownFutureValue.
*/
allowedTargetScope?: NullableOption<AllowedTargetScope>;
// This property is only present for an auto assignment policy; if absent, this is a request-based policy.
automaticRequestSettings?: NullableOption<AccessPackageAutomaticRequestSettings>;
/**
* 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 is 2014-01-01T00:00:00Z.
*/
createdDateTime?: NullableOption<string>;
// The description of the policy.
description?: NullableOption<string>;
// The display name of the policy.
displayName?: NullableOption<string>;
// The expiration date for assignments created in this policy.
expiration?: NullableOption<ExpirationPattern>;
/**
* 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 is 2014-01-01T00:00:00Z.
*/
modifiedDateTime?: NullableOption<string>;
/**
* Specifies the settings for approval of requests for an access package assignment through this policy. For example, if
* approval is required for new requests.
*/
requestApprovalSettings?: NullableOption<AccessPackageAssignmentApprovalSettings>;
/**
* Provides additional settings to select who can create a request for an access package assignment through this policy,
* and what they can include in their request.
*/
requestorSettings?: NullableOption<AccessPackageAssignmentRequestorSettings>;
// Settings for access reviews of assignments through this policy.
reviewSettings?: NullableOption<AccessPackageAssignmentReviewSettings>;
// The principals that can be assigned access from an access package through this policy.
specificAllowedTargets?: NullableOption<SubjectSet[]>;
// Access package containing this policy. Read-only.
accessPackage?: NullableOption<AccessPackage>;
// Catalog of the access package containing this policy. Read-only.
catalog?: NullableOption<AccessPackageCatalog>;
// Questions that are posed to the requestor.
questions?: NullableOption<AccessPackageQuestion[]>;
}
export interface AccessPackageAssignmentRequest extends Entity {
// Answers provided by the requestor to accessPackageQuestions asked of them at the time of request.
answers?: NullableOption<AccessPackageAnswer[]>;
/**
* The date of the end of processing, either successful or failure, of a request. 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 is
* 2014-01-01T00:00:00Z. Read-only.
*/
completedDateTime?: NullableOption<string>;
/**
* 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 is 2014-01-01T00:00:00Z. Read-only. Supports $filter.
*/
createdDateTime?: NullableOption<string>;
/**
* The type of the request. The possible values are: notSpecified, userAdd, UserExtend, userUpdate, userRemove, adminAdd,
* adminUpdate, adminRemove, systemAdd, systemUpdate, systemRemove, onBehalfAdd (not supported), unknownFutureValue. A
* request from the user themselves would have requestType of userAdd, userUpdate or userRemove. This property cannot be
* changed once set.
*/
requestType?: NullableOption<AccessPackageRequestType>;
// The range of dates that access is to be assigned to the requestor. This property cannot be changed once set.
schedule?: NullableOption<EntitlementManagementSchedule>;
/**
* The state of the request. The possible values are: submitted, pendingApproval, delivering, delivered, deliveryFailed,
* denied, scheduled, canceled, partiallyDelivered, unknownFutureValue. Read-only. Supports $filter (eq).
*/
state?: NullableOption<AccessPackageRequestState>;
// More information on the request processing status. Read-only.
status?: NullableOption<string>;
/**
* The access package associated with the accessPackageAssignmentRequest. An access package defines the collections of
* resource roles and the policies for how one or more users can get access to those resources. Read-only. Nullable.
* Supports $expand.
*/
accessPackage?: NullableOption<AccessPackage>;
/**
* For a requestType of userAdd or adminAdd, this is an access package assignment requested to be created. For a
* requestType of userRemove, adminRemove or systemRemove, this has the id property of an existing assignment to be
* removed. Supports $expand.
*/
assignment?: NullableOption<AccessPackageAssignment>;
// The subject who requested or, if a direct assignment, was assigned. Read-only. Nullable. Supports $expand.
requestor?: NullableOption<AccessPackageSubject>;
}
export interface AccessPackageAssignment extends Entity {
/**
* 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 is 2014-01-01T00:00:00Z. Read-only.
*/
expiredDateTime?: NullableOption<string>;
// When the access assignment is to be in place. Read-only.
schedule?: NullableOption<EntitlementManagementSchedule>;
/**
* The state of the access package assignment. The possible values are: delivering, partiallyDelivered, delivered,
* expired, deliveryFailed, unknownFutureValue. Read-only. Supports $filter (eq).
*/
state?: NullableOption<AccessPackageAssignmentState>;
/**
* More information about the assignment lifecycle. Possible values include Delivering, Delivered,
* NearExpiry1DayNotificationTriggered, or ExpiredNotificationTriggered. Read-only.
*/
status?: NullableOption<string>;
// Read-only. Nullable. Supports $filter (eq) on the id property and $expand query parameters.
accessPackage?: NullableOption<AccessPackage>;
// Read-only. Supports $filter (eq) on the id property and $expand query parameters.
assignmentPolicy?: NullableOption<AccessPackageAssignmentPolicy>;
// The subject of the access package assignment. Read-only. Nullable. Supports $expand. Supports $filter (eq) on objectId.
target?: NullableOption<AccessPackageSubject>;
}
export interface AccessPackageCatalog extends Entity {
/**
* Whether the catalog is created by a user or entitlement management. The possible values are: userManaged,
* serviceDefault, serviceManaged, unknownFutureValue.
*/
catalogType?: NullableOption<AccessPackageCatalogType>;
/**
* 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 is 2014-01-01T00:00:00Z. Read-only.
*/
createdDateTime?: NullableOption<string>;
// The description of the access package catalog.
description?: NullableOption<string>;
// The display name of the access package catalog.
displayName?: NullableOption<string>;
// Whether the access packages in this catalog can be requested by users outside of the tenant.
isExternallyVisible?: NullableOption<boolean>;
/**
* 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 is 2014-01-01T00:00:00Z. Read-only.
*/
modifiedDateTime?: NullableOption<string>;
/**
* Has the value published if the access packages are available for management. The possible values are: unpublished,
* published, unknownFutureValue.
*/
state?: NullableOption<AccessPackageCatalogState>;
// The access packages in this catalog. Read-only. Nullable.
accessPackages?: NullableOption<AccessPackage[]>;
}
export interface ConnectedOrganization extends Entity {
/**
* 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 is 2014-01-01T00:00:00Z. Read-only.
*/
createdDateTime?: NullableOption<string>;
// The description of the connected organization.
description?: NullableOption<string>;
// The display name of the connected organization. Supports $filter (eq).
displayName?: NullableOption<string>;
/**
* The identity sources in this connected organization, one of azureActiveDirectoryTenant, domainIdentitySource,
* externalDomainFederation or crossCloudAzureActiveDirectoryTenant. Nullable.
*/
identitySources?: NullableOption<IdentitySource[]>;
/**
* 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 is 2014-01-01T00:00:00Z. Read-only.
*/
modifiedDateTime?: NullableOption<string>;
/**
* The state of a connected organization defines whether assignment policies with requestor scope type
* AllConfiguredConnectedOrganizationSubjects are applicable or not. The possible values are: configured, proposed,
* unknownFutureValue.
*/
state?: NullableOption<ConnectedOrganizationState>;
externalSponsors?: NullableOption<DirectoryObject[]>;
internalSponsors?: NullableOption<DirectoryObject[]>;
}
export interface EntitlementManagementSettings extends Entity {
/**
* If externalUserLifecycleAction is blockSignInAndDelete, the duration, typically a number of days, after an external
* user is blocked from sign in before their account is deleted.
*/
durationUntilExternalUserDeletedAfterBlocked?: NullableOption<string>;
/**
* Automatic action that the service should take when an external user's last access package assignment is removed. The
* possible values are: none, blockSignIn, blockSignInAndDelete, unknownFutureValue.
*/
externalUserLifecycleAction?: NullableOption<AccessPackageExternalUserLifecycleAction>;
}
// tslint:disable-next-line: interface-name
export interface IdentityGovernance {
accessReviews?: NullableOption<AccessReviewSet>;
appConsent?: NullableOption<AppConsentApprovalRoute>;
termsOfUse?: NullableOption<TermsOfUseContainer>;
entitlementManagement?: NullableOption<EntitlementManagement>;
}
export interface TermsOfUseContainer extends Entity {
// Represents the current status of a user's response to a company's customizable terms of use agreement.
agreementAcceptances?: NullableOption<AgreementAcceptance[]>;
/**
* Represents a tenant's customizable terms of use agreement that's created and managed with Azure Active Directory (Azure
* AD).
*/
agreements?: NullableOption<Agreement[]>;
}
export interface Agreement extends Entity {
/**
* Display name of the agreement. The display name is used for internal tracking of the agreement but is not shown to end
* users who view the agreement. Supports $filter (eq).
*/
displayName?: NullableOption<string>;
/**
* Indicates whether end users are required to accept this agreement on every device that they access it from. The end
* user is required to register their device in Azure AD, if they haven't already done so. Supports $filter (eq).
*/
isPerDeviceAcceptanceRequired?: NullableOption<boolean>;
// Indicates whether the user has to expand the agreement before accepting. Supports $filter (eq).
isViewingBeforeAcceptanceRequired?: NullableOption<boolean>;
// Expiration schedule and frequency of agreement for all users. Supports $filter (eq).
termsExpiration?: NullableOption<TermsExpiration>;
/**
* The duration after which the user must re-accept the terms of use. The value is represented in ISO 8601 format for
* durations. Supports $filter (eq).
*/
userReacceptRequiredFrequency?: NullableOption<string>;
// Read-only. Information about acceptances of this agreement.
acceptances?: NullableOption<AgreementAcceptance[]>;
// Default PDF linked to this agreement.
file?: NullableOption<AgreementFile>;
/**
* PDFs linked to this agreement. This property is in the process of being deprecated. Use the file property instead.
* Supports $expand.
*/
files?: NullableOption<AgreementFileLocalization[]>;
}
export interface AgreementFileProperties extends Entity {
/**
* The date time representing when the file was created.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 is 2014-01-01T00:00:00Z.
*/
createdDateTime?: NullableOption<string>;
/**
* Localized display name of the policy file of an agreement. The localized display name is shown to end users who view
* the agreement.
*/
displayName?: NullableOption<string>;
// Data that represents the terms of use PDF document. Read-only.
fileData?: NullableOption<AgreementFileData>;
// Name of the agreement file (for example, TOU.pdf). Read-only.
fileName?: NullableOption<string>;
/**
* If none of the languages matches the client preference, indicates whether this is the default agreement file . If none
* of the files are marked as default, the first one is treated as the default. Read-only.
*/
isDefault?: NullableOption<boolean>;
/**
* Indicates whether the agreement file is a major version update. Major version updates invalidate the agreement's
* acceptances on the corresponding language.
*/
isMajorVersion?: NullableOption<boolean>;
/**
* The language of the agreement file in the format 'languagecode2-country/regioncode2'. 'languagecode2' is a lowercase
* two-letter code derived from ISO 639-1, while 'country/regioncode2' is derived from ISO 3166 and usually consists of
* two uppercase letters, or a BCP-47 language tag. For example, U.S. English is en-US. Read-only.
*/
language?: NullableOption<string>;
}
export interface AgreementFile extends AgreementFileProperties {
// The localized version of the terms of use agreement files attached to the agreement.
localizations?: NullableOption<AgreementFileLocalization[]>;
}
export interface AgreementFileLocalization extends AgreementFileProperties {
// Read-only. Customized versions of the terms of use agreement in the Azure AD tenant.
versions?: NullableOption<AgreementFileVersion[]>;
}
// tslint:disable-next-line: no-empty-interface
export interface AgreementFileVersion extends AgreementFileProperties {}
export interface CountryNamedLocation extends NamedLocation {
// List of countries and/or regions in two-letter format specified by ISO 3166-2. Required.
countriesAndRegions?: string[];
/**
* Determines what method is used to decide which country the user is located in. Possible values are
* clientIpAddress(default) and authenticatorAppGps. Note: authenticatorAppGps is not yet supported in the Microsoft Cloud
* for US Government.
*/
countryLookupMethod?: NullableOption<CountryLookupMethodType>;
/**
* true if IP addresses that don't map to a country or region should be included in the named location. Optional. Default
* value is false.
*/
includeUnknownCountriesAndRegions?: boolean;
}
// tslint:disable-next-line: interface-name
export interface IdentityProtectionRoot {
// Risk detection in Azure AD Identity Protection and the associated information about the detection.
riskDetections?: NullableOption<RiskDetection[]>;
// Azure AD service principals that are at risk.
riskyServicePrincipals?: NullableOption<RiskyServicePrincipal[]>;
// Users that are flagged as at-risk by Azure AD Identity Protection.
riskyUsers?: NullableOption<RiskyUser[]>;
// Represents information about detected at-risk service principals in an Azure AD tenant.
servicePrincipalRiskDetections?: NullableOption<ServicePrincipalRiskDetection[]>;
}
export interface RiskDetection extends Entity {
// Indicates the activity type the detected risk is linked to. Possible values are: signin, user, unknownFutureValue.
activity?: NullableOption<ActivityType>;
/**
* Date and time that the risky activity occurred. The DateTimeOffset type represents date and time information using ISO
* 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is look like this: 2014-01-01T00:00:00Z
*/
activityDateTime?: NullableOption<string>;
/**
* Additional information associated with the risk detection in JSON format. For example,
* '[{/'Key/':/'userAgent/',/'Value/':/'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
* Chrome/68.0.3440.106 Safari/537.36/'}]'. Possible keys in the additionalInfo JSON string are: userAgent, alertUrl,
* relatedEventTimeInUtc, relatedUserAgent, deviceInformation, relatedLocation, requestId, correlationId,
* lastActivityTimeInUtc, malwareName, clientLocation, clientIp, riskReasons. For more information about riskReasons and
* possible values, see riskReasons values.
*/
additionalInfo?: NullableOption<string>;
/**
* Correlation ID of the sign-in associated with the risk detection. This property is null if the risk detection is not
* associated with a sign-in.
*/
correlationId?: NullableOption<string>;
/**
* Date and time that the risk was detected. The DateTimeOffset type represents date and time information using ISO 8601
* format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 looks like this: 2014-01-01T00:00:00Z
*/
detectedDateTime?: NullableOption<string>;
/**
* Timing of the detected risk (real-time/offline). Possible values are: notDefined, realtime, nearRealtime, offline,
* unknownFutureValue.
*/
detectionTimingType?: NullableOption<RiskDetectionTimingType>;
// Provides the IP address of the client from where the risk occurred.
ipAddress?: NullableOption<string>;
/**
* Date and time that the risk detection was last updated. The DateTimeOffset type represents date and time information
* using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is look like this:
* 2014-01-01T00:00:00Z
*/
lastUpdatedDateTime?: NullableOption<string>;
// Location of the sign-in.
location?: NullableOption<SignInLocation>;
/**
* Request ID of the sign-in associated with the risk detection. This property is null if the risk detection is not
* associated with a sign-in.
*/
requestId?: NullableOption<string>;
/**
* Details of the detected risk. The possible values are: none, adminGeneratedTemporaryPassword,
* userPerformedSecuredPasswordChange, userPerformedSecuredPasswordReset, adminConfirmedSigninSafe, aiConfirmedSigninSafe,
* userPassedMFADrivenByRiskBasedPolicy, adminDismissedAllRiskForUser, adminConfirmedSigninCompromised, hidden,
* adminConfirmedUserCompromised, unknownFutureValue, m365DAdminDismissedDetection. Note that you must use the Prefer:
* include - unknown -enum-members request header to get the following value(s) in this evolvable enum:
* m365DAdminDismissedDetection.
*/
riskDetail?: NullableOption<RiskDetail>;
/**
* The type of risk event detected. The possible values are unlikelyTravel, anonymizedIPAddress, maliciousIPAddress,
* unfamiliarFeatures, malwareInfectedIPAddress, suspiciousIPAddress, leakedCredentials, investigationsThreatIntelligence,
* generic,adminConfirmedUserCompromised, passwordSpray, impossibleTravel, newCountry, anomalousToken,
* tokenIssuerAnomaly,suspiciousBrowser, riskyIPAddress, mcasSuspiciousInboxManipulationRules, suspiciousInboxForwarding,
* and anomalousUserActivity. If the risk detection is a premium detection, will show generic. For more information about
* each value, see riskEventType values.
*/
riskEventType?: NullableOption<string>;
// Level of the detected risk. Possible values are: low, medium, high, hidden, none, unknownFutureValue.
riskLevel?: NullableOption<RiskLevel>;
/**
* The state of a detected risky user or sign-in. Possible values are: none, confirmedSafe, remediated, dismissed, atRisk,
* confirmedCompromised, unknownFutureValue.
*/
riskState?: NullableOption<RiskState>;
// Source of the risk detection. For example, activeDirectory.
source?: NullableOption<string>;
/**
* Indicates the type of token issuer for the detected sign-in risk. Possible values are: AzureAD, ADFederationServices,
* UnknownFutureValue.
*/
tokenIssuerType?: NullableOption<TokenIssuerType>;
// The user principal name (UPN) of the user.
userDisplayName?: NullableOption<string>;
// Unique ID of the user.
userId?: NullableOption<string>;
// The user principal name (UPN) of the user.
userPrincipalName?: NullableOption<string>;
}
export interface RiskyServicePrincipal extends Entity {
// The globally unique identifier for the associated application (its appId property), if any.
appId?: NullableOption<string>;
// The display name for the service principal.
displayName?: NullableOption<string>;
// true if the service principal account is enabled; otherwise, false.
isEnabled?: NullableOption<boolean>;
// Indicates whether Azure AD is currently processing the service principal's risky state.
isProcessing?: NullableOption<boolean>;
/**
* Details of the detected risk. Note: Details for this property are only available for Workload Identities Premium
* customers. Events in tenants without this license will be returned hidden. The possible values are: none, hidden,
* unknownFutureValue, adminConfirmedServicePrincipalCompromised, adminDismissedAllRiskForServicePrincipal. Note that you
* must use the Prefer: include-unknown-enum-members request header to get the following value(s) in this evolvable enum:
* adminConfirmedServicePrincipalCompromised , adminDismissedAllRiskForServicePrincipal.
*/
riskDetail?: NullableOption<RiskDetail>;
/**
* The date and time that the risk state was last updated. The DateTimeOffset type represents date and time information
* using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2021 is 2021-01-01T00:00:00Z.
* Supports $filter (eq).
*/
riskLastUpdatedDateTime?: NullableOption<string>;
/**
* Level of the detected risky workload identity. The possible values are: low, medium, high, hidden, none,
* unknownFutureValue. Supports $filter (eq).
*/
riskLevel?: NullableOption<RiskLevel>;
/**
* State of the service principal's risk. The possible values are: none, confirmedSafe, remediated, dismissed, atRisk,
* confirmedCompromised, unknownFutureValue.
*/
riskState?: NullableOption<RiskState>;
/**
* Identifies whether the service principal represents an Application, a ManagedIdentity, or a legacy application
* (socialIdp). This is set by Azure AD internally and is inherited from servicePrincipal.
*/
servicePrincipalType?: NullableOption<string>;
// Represents the risk history of Azure AD service principals.
history?: NullableOption<RiskyServicePrincipalHistoryItem[]>;
}
export interface RiskyUser extends Entity {
// Indicates whether the user is deleted. Possible values are: true, false.
isDeleted?: NullableOption<boolean>;
// Indicates whether a user's risky state is being processed by the backend.
isProcessing?: NullableOption<boolean>;
/**
* Details of the detected risk. Possible values are: none, adminGeneratedTemporaryPassword,
* userPerformedSecuredPasswordChange, userPerformedSecuredPasswordReset, adminConfirmedSigninSafe, aiConfirmedSigninSafe,
* userPassedMFADrivenByRiskBasedPolicy, adminDismissedAllRiskForUser, adminConfirmedSigninCompromised, hidden,
* adminConfirmedUserCompromised, unknownFutureValue.
*/
riskDetail?: NullableOption<RiskDetail>;
/**
* The date and time that the risky user was last updated. The DateTimeOffset type represents date and time information
* using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
*/
riskLastUpdatedDateTime?: NullableOption<string>;
// Level of the detected risky user. Possible values are: low, medium, high, hidden, none, unknownFutureValue.
riskLevel?: NullableOption<RiskLevel>;
/**
* State of the user's risk. Possible values are: none, confirmedSafe, remediated, dismissed, atRisk,
* confirmedCompromised, unknownFutureValue.
*/
riskState?: NullableOption<RiskState>;
// Risky user display name.
userDisplayName?: NullableOption<string>;
// Risky user principal name.
userPrincipalName?: NullableOption<string>;
// The activity related to user risk level change
history?: NullableOption<RiskyUserHistoryItem[]>;
}
export interface ServicePrincipalRiskDetection extends Entity {
/**
* Indicates the activity type the detected risk is linked to. The possible values are: signin, servicePrincipal. Note
* that you must use the Prefer: include-unknown-enum-members request header to get the following value(s) in this
* evolvable enum: servicePrincipal.
*/
activity?: NullableOption<ActivityType>;
/**
* Date and time when the risky activity occurred. The DateTimeOffset type represents date and time information using ISO
* 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
*/
activityDateTime?: NullableOption<string>;
/**
* Additional information associated with the risk detection. This string value is represented as a JSON object with the
* quotations escaped.
*/
additionalInfo?: NullableOption<string>;
// The unique identifier for the associated application.
appId?: NullableOption<string>;
/**
* Correlation ID of the sign-in activity associated with the risk detection. This property is null if the risk detection
* is not associated with a sign-in activity.
*/
correlationId?: NullableOption<string>;
/**
* Date and time when the risk was detected. The DateTimeOffset type represents date and time information using ISO 8601
* format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
*/
detectedDateTime?: NullableOption<string>;
/**
* Timing of the detected risk , whether real-time or offline. The possible values are: notDefined, realtime,
* nearRealtime, offline, unknownFutureValue.
*/
detectionTimingType?: NullableOption<RiskDetectionTimingType>;
// Provides the IP address of the client from where the risk occurred.
ipAddress?: NullableOption<string>;
// The unique identifier for the key credential associated with the risk detection.
keyIds?: NullableOption<string[]>;
// Date and time when the risk detection was last updated.
lastUpdatedDateTime?: NullableOption<string>;
// Location from where the sign-in was initiated.
location?: NullableOption<SignInLocation>;
/**
* Request identifier of the sign-in activity associated with the risk detection. This property is null if the risk
* detection is not associated with a sign-in activity. Supports $filter (eq).
*/
requestId?: NullableOption<string>;
/**
* Details of the detected risk. Note: Details for this property are only available for Workload Identities Premium
* customers. Events in tenants without this license will be returned hidden. The possible values are: none, hidden,
* adminConfirmedServicePrincipalCompromised, adminDismissedAllRiskForServicePrincipal. Note that you must use the Prefer:
* include-unknown-enum-members request header to get the following value(s) in this evolvable enum:
* adminConfirmedServicePrincipalCompromised , adminDismissedAllRiskForServicePrincipal.
*/
riskDetail?: NullableOption<RiskDetail>;
/**
* The type of risk event detected. The possible values are: investigationsThreatIntelligence, generic,
* adminConfirmedServicePrincipalCompromised, suspiciousSignins, leakedCredentials, anomalousServicePrincipalActivity,
* maliciousApplication, suspiciousApplication.
*/
riskEventType?: NullableOption<string>;
/**
* Level of the detected risk. Note: Details for this property are only available for Workload Identities Premium
* customers. Events in tenants without this license will be returned hidden. The possible values are: low, medium, high,
* hidden, none.
*/
riskLevel?: NullableOption<RiskLevel>;
/**
* The state of a detected risky service principal or sign-in activity. The possible values are: none, dismissed, atRisk,
* confirmedCompromised.
*/
riskState?: NullableOption<RiskState>;
// The display name for the service principal.
servicePrincipalDisplayName?: NullableOption<string>;
// The unique identifier for the service principal. Supports $filter (eq).
servicePrincipalId?: NullableOption<string>;
// Source of the risk detection. For example, identityProtection.
source?: NullableOption<string>;
// Indicates the type of token issuer for the detected sign-in risk. The possible values are: AzureAD.
tokenIssuerType?: NullableOption<TokenIssuerType>;
}
// tslint:disable-next-line: interface-name
export interface IpNamedLocation extends NamedLocation {
/**
* List of IP address ranges in IPv4 CIDR format (e.g. 1.2.3.4/32) or any allowable IPv6 format from IETF RFC5969.
* Required.
*/
ipRanges?: IpRange[];
// true if this location is explicitly trusted. Optional. Default value is false.
isTrusted?: boolean;
}
export interface RiskyServicePrincipalHistoryItem extends RiskyServicePrincipal {
// The activity related to service principal risk level change.
activity?: NullableOption<RiskServicePrincipalActivity>;
// The identifier of the actor of the operation.
initiatedBy?: NullableOption<string>;
}
export interface RiskyUserHistoryItem extends RiskyUser {
// The activity related to user risk level change.
activity?: NullableOption<RiskUserActivity>;
// The ID of actor that does the operation.
initiatedBy?: NullableOption<string>;
// The ID of the user.
userId?: NullableOption<string>;
}
export interface AccessPackageQuestion extends Entity {
/**
* Specifies whether the requestor is allowed to edit answers to questions for an assignment by posting an update to
* accessPackageAssignmentRequest.
*/
isAnswerEditable?: NullableOption<boolean>;
// Whether the requestor is required to supply an answer or not.
isRequired?: NullableOption<boolean>;
// The text of the question represented in a format for a specific locale.
localizations?: NullableOption<AccessPackageLocalizedText[]>;
// Relative position of this question when displaying a list of questions to the requestor.
sequence?: NullableOption<number>;
// The text of the question to show to the requestor.
text?: NullableOption<string>;
}
export interface AccessPackageSubject extends Entity {
// The display name of the subject.
displayName?: NullableOption<string>;
// The email address of the subject.
email?: NullableOption<string>;
// The object identifier of the subject. null if the subject is not yet a user in the tenant.
objectId?: NullableOption<string>;
/**
* A string representation of the principal's security identifier, if known, or null if the subject does not have a
* security identifier.
*/
onPremisesSecurityIdentifier?: NullableOption<string>;
// The principal name, if known, of the subject.
principalName?: NullableOption<string>;
// The resource type of the subject. The possible values are: notSpecified, user, servicePrincipal, unknownFutureValue.
subjectType?: NullableOption<AccessPackageSubjectType>;
// The connected organization of the subject. Read-only. Nullable.
connectedOrganization?: NullableOption<ConnectedOrganization>;
}
export interface AccessPackageMultipleChoiceQuestion extends AccessPackageQuestion {
// List of answer choices.
choices?: NullableOption<AccessPackageAnswerChoice[]>;
// Indicates whether requestor can select multiple choices as their answer.
isMultipleSelectionAllowed?: NullableOption<boolean>;
}
export interface AccessPackageTextInputQuestion extends AccessPackageQuestion {
// Indicates whether the answer will be in single or multiple line format.
isSingleLineQuestion?: NullableOption<boolean>;
// The regular expression pattern which any answer to this question must match.
regexPattern?: NullableOption<string>;
}
export interface MobileApp extends Entity {
// The date and time the app was created.
createdDateTime?: string;
// The description of the app.
description?: NullableOption<string>;
// The developer of the app.
developer?: NullableOption<string>;
// The admin provided or imported title of the app.
displayName?: NullableOption<string>;
// The more information Url.
informationUrl?: NullableOption<string>;
// The value indicating whether the app is marked as featured by the admin.
isFeatured?: boolean;
// The large icon, to be displayed in the app details and used for upload of the icon.
largeIcon?: NullableOption<MimeContent>;
// The date and time the app was last modified.
lastModifiedDateTime?: string;
// Notes for the app.
notes?: NullableOption<string>;
// The owner of the app.
owner?: NullableOption<string>;
// The privacy statement Url.
privacyInformationUrl?: NullableOption<string>;
// The publisher of the app.
publisher?: NullableOption<string>;
/**
* The publishing state for the app. The app cannot be assigned unless the app is published. Possible values are:
* notPublished, processing, published.
*/
publishingState?: MobileAppPublishingState;
// The list of group assignments for this mobile app.
assignments?: NullableOption<MobileAppAssignment[]>;
// The list of categories for this app.
categories?: NullableOption<MobileAppCategory[]>;
}
export interface MobileLobApp extends MobileApp {
// The internal committed content version.
committedContentVersion?: NullableOption<string>;
// The name of the main Lob application file.
fileName?: NullableOption<string>;
// The total size, including all uploaded files.
size?: number;
// The list of content versions for this app.
contentVersions?: NullableOption<MobileAppContent[]>;
}
export interface AndroidLobApp extends MobileLobApp {
// The value for the minimum applicable operating system.
minimumSupportedOperatingSystem?: NullableOption<AndroidMinimumOperatingSystem>;
// The package identifier.
packageId?: NullableOption<string>;
// The version code of Android Line of Business (LoB) app.
versionCode?: NullableOption<string>;
// The version name of Android Line of Business (LoB) app.
versionName?: NullableOption<string>;
}
export interface AndroidStoreApp extends MobileApp {
// The Android app store URL.
appStoreUrl?: NullableOption<string>;
// The value for the minimum applicable operating system.
minimumSupportedOperatingSystem?: NullableOption<AndroidMinimumOperatingSystem>;
// The package identifier.
packageId?: NullableOption<string>;
}
export interface DeviceAppManagement extends Entity {
// Whether the account is enabled for syncing applications from the Microsoft Store for Business.
isEnabledForMicrosoftStoreForBusiness?: boolean;
/**
* The locale information used to sync applications from the Microsoft Store for Business. Cultures that are specific to a
* country/region. The names of these cultures follow RFC 4646 (Windows Vista and later). The format is
* -&amp;lt;country/regioncode2&amp;gt;, where is a lowercase two-letter code derived from ISO 639-1 and
* &amp;lt;country/regioncode2&amp;gt; is an uppercase two-letter code derived from ISO 3166. For example, en-US for
* English (United States) is a specific culture.
*/
microsoftStoreForBusinessLanguage?: NullableOption<string>;
// The last time an application sync from the Microsoft Store for Business was completed.
microsoftStoreForBusinessLastCompletedApplicationSyncTime?: string;
// The last time the apps from the Microsoft Store for Business were synced successfully for the account.
microsoftStoreForBusinessLastSuccessfulSyncDateTime?: string;
// The Managed eBook.
managedEBooks?: NullableOption<ManagedEBook[]>;
// The mobile app categories.
mobileAppCategories?: NullableOption<MobileAppCategory[]>;
// The Managed Device Mobile Application Configurations.
mobileAppConfigurations?: NullableOption<ManagedDeviceMobileAppConfiguration[]>;
// The mobile apps.
mobileApps?: NullableOption<MobileApp[]>;
// List of Vpp tokens for this organization.
vppTokens?: NullableOption<VppToken[]>;
// Android managed app policies.
androidManagedAppProtections?: NullableOption<AndroidManagedAppProtection[]>;
// Default managed app policies.
defaultManagedAppProtections?: NullableOption<DefaultManagedAppProtection[]>;
// iOS managed app policies.
iosManagedAppProtections?: NullableOption<IosManagedAppProtection[]>;
// Managed app policies.
managedAppPolicies?: NullableOption<ManagedAppPolicy[]>;
// The managed app registrations.
managedAppRegistrations?: NullableOption<ManagedAppRegistration[]>;
// The managed app statuses.
managedAppStatuses?: NullableOption<ManagedAppStatus[]>;
// Windows information protection for apps running on devices which are MDM enrolled.
mdmWindowsInformationProtectionPolicies?: NullableOption<MdmWindowsInformationProtectionPolicy[]>;
// Targeted managed app configurations.
targetedManagedAppConfigurations?: NullableOption<TargetedManagedAppConfiguration[]>;
// Windows information protection for apps running on devices which are not MDM enrolled.
windowsInformationProtectionPolicies?: NullableOption<WindowsInformationProtectionPolicy[]>;
}
export interface ManagedEBook extends Entity {
// The date and time when the eBook file was created.
createdDateTime?: string;
// Description.
description?: NullableOption<string>;
// Name of the eBook.
displayName?: string;
// The more information Url.
informationUrl?: NullableOption<string>;
// Book cover.
largeCover?: NullableOption<MimeContent>;
// The date and time when the eBook was last modified.
lastModifiedDateTime?: string;
// The privacy statement Url.
privacyInformationUrl?: NullableOption<string>;
// The date and time when the eBook was published.
publishedDateTime?: string;
// Publisher.
publisher?: NullableOption<string>;
// The list of assignments for this eBook.
assignments?: NullableOption<ManagedEBookAssignment[]>;
// The list of installation states for this eBook.
deviceStates?: NullableOption<DeviceInstallState[]>;
// Mobile App Install Summary.
installSummary?: NullableOption<EBookInstallSummary>;
// The list of installation states for this eBook.
userStateSummary?: NullableOption<UserInstallStateSummary[]>;
}
export interface MobileAppCategory extends Entity {
// The name of the app category.
displayName?: NullableOption<string>;
// The date and time the mobileAppCategory was last modified.
lastModifiedDateTime?: string;
}
export interface ManagedDeviceMobileAppConfiguration extends Entity {
// DateTime the object was created.
createdDateTime?: string;
// Admin provided description of the Device Configuration.
description?: NullableOption<string>;
// Admin provided name of the device configuration.
displayName?: string;
// DateTime the object was last modified.
lastModifiedDateTime?: string;
// the associated app.
targetedMobileApps?: NullableOption<string[]>;
// Version of the device configuration.
version?: number;
// The list of group assignemenets for app configration.
assignments?: NullableOption<ManagedDeviceMobileAppConfigurationAssignment[]>;
// List of ManagedDeviceMobileAppConfigurationDeviceStatus.
deviceStatuses?: NullableOption<ManagedDeviceMobileAppConfigurationDeviceStatus[]>;
// App configuration device status summary.
deviceStatusSummary?: NullableOption<ManagedDeviceMobileAppConfigurationDeviceSummary>;
// List of ManagedDeviceMobileAppConfigurationUserStatus.
userStatuses?: NullableOption<ManagedDeviceMobileAppConfigurationUserStatus[]>;
// App configuration user status summary.
userStatusSummary?: NullableOption<ManagedDeviceMobileAppConfigurationUserSummary>;
}
export interface VppToken extends Entity {
// The apple Id associated with the given Apple Volume Purchase Program Token.
appleId?: NullableOption<string>;
// Whether or not apps for the VPP token will be automatically updated.
automaticallyUpdateApps?: boolean;
// Whether or not apps for the VPP token will be automatically updated.
countryOrRegion?: NullableOption<string>;
// The expiration date time of the Apple Volume Purchase Program Token.
expirationDateTime?: string;
// Last modification date time associated with the Apple Volume Purchase Program Token.
lastModifiedDateTime?: string;
/**
* The last time when an application sync was done with the Apple volume purchase program service using the the Apple
* Volume Purchase Program Token.
*/
lastSyncDateTime?: string;
/**
* Current sync status of the last application sync which was triggered using the Apple Volume Purchase Program Token.
* Possible values are: none, inProgress, completed, failed. Possible values are: none, inProgress, completed, failed.
*/
lastSyncStatus?: VppTokenSyncStatus;
// The organization associated with the Apple Volume Purchase Program Token
organizationName?: NullableOption<string>;
/**
* Current state of the Apple Volume Purchase Program Token. Possible values are: unknown, valid, expired, invalid,
* assignedToExternalMDM. Possible values are: unknown, valid, expired, invalid, assignedToExternalMDM.
*/
state?: VppTokenState;
// The Apple Volume Purchase Program Token string downloaded from the Apple Volume Purchase Program.
token?: NullableOption<string>;
/**
* The type of volume purchase program which the given Apple Volume Purchase Program Token is associated with. Possible
* values are: business, education. Possible values are: business, education.
*/
vppTokenAccountType?: VppTokenAccountType;
}
export interface ManagedAppPolicy extends Entity {
// The date and time the policy was created.
createdDateTime?: string;
// The policy's description.
description?: NullableOption<string>;
// Policy display name.
displayName?: string;
// Last time the policy was modified.
lastModifiedDateTime?: string;
// Version of the entity.
version?: NullableOption<string>;
}
export interface ManagedAppProtection extends ManagedAppPolicy {
// Data storage locations where a user may store managed data.
allowedDataStorageLocations?: ManagedAppDataStorageLocation[];
// Sources from which data is allowed to be transferred. Possible values are: allApps, managedApps, none.
allowedInboundDataTransferSources?: ManagedAppDataTransferLevel;
/**
* The level to which the clipboard may be shared between apps on the managed device. Possible values are: allApps,
* managedAppsWithPasteIn, managedApps, blocked.
*/
allowedOutboundClipboardSharingLevel?: ManagedAppClipboardSharingLevel;
// Destinations to which data is allowed to be transferred. Possible values are: allApps, managedApps, none.
allowedOutboundDataTransferDestinations?: ManagedAppDataTransferLevel;
// Indicates whether contacts can be synced to the user's device.
contactSyncBlocked?: boolean;
// Indicates whether the backup of a managed app's data is blocked.
dataBackupBlocked?: boolean;
// Indicates whether device compliance is required.
deviceComplianceRequired?: boolean;
// Indicates whether use of the app pin is required if the device pin is set.
disableAppPinIfDevicePinIsSet?: boolean;
// Indicates whether use of the fingerprint reader is allowed in place of a pin if PinRequired is set to True.
fingerprintBlocked?: boolean;
/**
* Indicates in which managed browser(s) that internet links should be opened. When this property is configured,
* ManagedBrowserToOpenLinksRequired should be true. Possible values are: notConfigured, microsoftEdge.
*/
managedBrowser?: ManagedBrowserType;
/**
* Indicates whether internet links should be opened in the managed browser app, or any custom browser specified by
* CustomBrowserProtocol (for iOS) or CustomBrowserPackageId/CustomBrowserDisplayName (for Android)
*/
managedBrowserToOpenLinksRequired?: boolean;
// Maximum number of incorrect pin retry attempts before the managed app is either blocked or wiped.
maximumPinRetries?: number;
// Minimum pin length required for an app-level pin if PinRequired is set to True
minimumPinLength?: number;
// Versions less than the specified version will block the managed app from accessing company data.
minimumRequiredAppVersion?: NullableOption<string>;
// Versions less than the specified version will block the managed app from accessing company data.
minimumRequiredOsVersion?: NullableOption<string>;
// Versions less than the specified version will result in warning message on the managed app.
minimumWarningAppVersion?: NullableOption<string>;
// Versions less than the specified version will result in warning message on the managed app from accessing company data.
minimumWarningOsVersion?: NullableOption<string>;
// Indicates whether organizational credentials are required for app use.
organizationalCredentialsRequired?: boolean;
// TimePeriod before the all-level pin must be reset if PinRequired is set to True.
periodBeforePinReset?: string;
// The period after which access is checked when the device is not connected to the internet.
periodOfflineBeforeAccessCheck?: string;
// The amount of time an app is allowed to remain disconnected from the internet before all managed data it is wiped.
periodOfflineBeforeWipeIsEnforced?: string;
// The period after which access is checked when the device is connected to the internet.
periodOnlineBeforeAccessCheck?: string;
/**
* Character set which may be used for an app-level pin if PinRequired is set to True. Possible values are: numeric,
* alphanumericAndSymbol.
*/
pinCharacterSet?: ManagedAppPinCharacterSet;
// Indicates whether an app-level pin is required.
pinRequired?: boolean;
// Indicates whether printing is allowed from managed apps.
printBlocked?: boolean;
// Indicates whether users may use the 'Save As' menu item to save a copy of protected files.
saveAsBlocked?: boolean;
// Indicates whether simplePin is blocked.
simplePinBlocked?: boolean;
}
export interface TargetedManagedAppProtection extends ManagedAppProtection {
// Indicates if the policy is deployed to any inclusion groups or not.
isAssigned?: boolean;
// Navigation property to list of inclusion and exclusion groups to which the policy is deployed.
assignments?: NullableOption<TargetedManagedAppPolicyAssignment[]>;
}
export interface AndroidManagedAppProtection extends TargetedManagedAppProtection {
/**
* Friendly name of the preferred custom browser to open weblink on Android. When this property is configured,
* ManagedBrowserToOpenLinksRequired should be true.
*/
customBrowserDisplayName?: NullableOption<string>;
/**
* Unique identifier of the preferred custom browser to open weblink on Android. When this property is configured,
* ManagedBrowserToOpenLinksRequired should be true.
*/
customBrowserPackageId?: NullableOption<string>;
// Count of apps to which the current policy is deployed.
deployedAppCount?: number;
// When this setting is enabled, app level encryption is disabled if device level encryption is enabled
disableAppEncryptionIfDeviceEncryptionIsEnabled?: boolean;
// Indicates whether application data for managed apps should be encrypted
encryptAppData?: boolean;
// Define the oldest required Android security patch level a user can have to gain secure access to the app.
minimumRequiredPatchVersion?: NullableOption<string>;
// Define the oldest recommended Android security patch level a user can have for secure access to the app.
minimumWarningPatchVersion?: NullableOption<string>;
// Indicates whether a managed user can take screen captures of managed apps
screenCaptureBlocked?: boolean;
// List of apps to which the policy is deployed.
apps?: NullableOption<ManagedMobileApp[]>;
// Navigation property to deployment summary of the configuration.
deploymentSummary?: NullableOption<ManagedAppPolicyDeploymentSummary>;
}
export interface DefaultManagedAppProtection extends ManagedAppProtection {
/**
* Type of encryption which should be used for data in a managed app. (iOS Only). Possible values are: useDeviceSettings,
* afterDeviceRestart, whenDeviceLockedExceptOpenFiles, whenDeviceLocked.
*/
appDataEncryptionType?: ManagedAppDataEncryptionType;
// A set of string key and string value pairs to be sent to the affected users, unalterned by this service
customSettings?: KeyValuePair[];
// Count of apps to which the current policy is deployed.
deployedAppCount?: number;
// When this setting is enabled, app level encryption is disabled if device level encryption is enabled. (Android only)
disableAppEncryptionIfDeviceEncryptionIsEnabled?: boolean;
// Indicates whether managed-app data should be encrypted. (Android only)
encryptAppData?: boolean;
// Indicates whether use of the FaceID is allowed in place of a pin if PinRequired is set to True. (iOS Only)
faceIdBlocked?: boolean;
/**
* Define the oldest required Android security patch level a user can have to gain secure access to the app. (Android
* only)
*/
minimumRequiredPatchVersion?: NullableOption<string>;
// Versions less than the specified version will block the managed app from accessing company data. (iOS Only)
minimumRequiredSdkVersion?: NullableOption<string>;
// Define the oldest recommended Android security patch level a user can have for secure access to the app. (Android only)
minimumWarningPatchVersion?: NullableOption<string>;
// Indicates whether screen capture is blocked. (Android only)
screenCaptureBlocked?: boolean;
// List of apps to which the policy is deployed.
apps?: NullableOption<ManagedMobileApp[]>;
// Navigation property to deployment summary of the configuration.
deploymentSummary?: NullableOption<ManagedAppPolicyDeploymentSummary>;
}
// tslint:disable-next-line: interface-name
export interface IosManagedAppProtection extends TargetedManagedAppProtection {
/**
* Type of encryption which should be used for data in a managed app. Possible values are: useDeviceSettings,
* afterDeviceRestart, whenDeviceLockedExceptOpenFiles, whenDeviceLocked.
*/
appDataEncryptionType?: ManagedAppDataEncryptionType;
/**
* A custom browser protocol to open weblink on iOS. When this property is configured, ManagedBrowserToOpenLinksRequired
* should be true.
*/
customBrowserProtocol?: NullableOption<string>;
// Count of apps to which the current policy is deployed.
deployedAppCount?: number;
// Indicates whether use of the FaceID is allowed in place of a pin if PinRequired is set to True.
faceIdBlocked?: boolean;
// Versions less than the specified version will block the managed app from accessing company data.
minimumRequiredSdkVersion?: NullableOption<string>;
// List of apps to which the policy is deployed.
apps?: NullableOption<ManagedMobileApp[]>;
// Navigation property to deployment summary of the configuration.
deploymentSummary?: NullableOption<ManagedAppPolicyDeploymentSummary>;
}
export interface ManagedAppStatus extends Entity {
// Friendly name of the status report.
displayName?: NullableOption<string>;
// Version of the entity.
version?: NullableOption<string>;
}
export interface WindowsInformationProtection extends ManagedAppPolicy {
// Specifies whether to allow Azure RMS encryption for WIP
azureRightsManagementServicesAllowed?: boolean;
/**
* Specifies a recovery certificate that can be used for data recovery of encrypted files. This is the same as the data
* recovery agent(DRA) certificate for encrypting file system(EFS)
*/
dataRecoveryCertificate?: NullableOption<WindowsInformationProtectionDataRecoveryCertificate>;
/**
* WIP enforcement level.See the Enum definition for supported values. Possible values are: noProtection,
* encryptAndAuditOnly, encryptAuditAndPrompt, encryptAuditAndBlock.
*/
enforcementLevel?: WindowsInformationProtectionEnforcementLevel;
// Primary enterprise domain
enterpriseDomain?: NullableOption<string>;
/**
* This is the comma-separated list of internal proxy servers. For example, '157.54.14.28, 157.54.11.118, 10.202.14.167,
* 157.53.14.163, 157.69.210.59'. These proxies have been configured by the admin to connect to specific resources on the
* Internet. They are considered to be enterprise network locations. The proxies are only leveraged in configuring the
* EnterpriseProxiedDomains policy to force traffic to the matched domains through these proxies
*/
enterpriseInternalProxyServers?: NullableOption<WindowsInformationProtectionResourceCollection[]>;
/**
* Sets the enterprise IP ranges that define the computers in the enterprise network. Data that comes from those computers
* will be considered part of the enterprise and protected. These locations will be considered a safe destination for
* enterprise data to be shared to
*/
enterpriseIPRanges?: NullableOption<WindowsInformationProtectionIPRangeCollection[]>;
/**
* Boolean value that tells the client to accept the configured list and not to use heuristics to attempt to find other
* subnets. Default is false
*/
enterpriseIPRangesAreAuthoritative?: boolean;
/**
* This is the list of domains that comprise the boundaries of the enterprise. Data from one of these domains that is sent
* to a device will be considered enterprise data and protected These locations will be considered a safe destination for
* enterprise data to be shared to
*/
enterpriseNetworkDomainNames?: NullableOption<WindowsInformationProtectionResourceCollection[]>;
// List of enterprise domains to be protected
enterpriseProtectedDomainNames?: NullableOption<WindowsInformationProtectionResourceCollection[]>;
/**
* Contains a list of Enterprise resource domains hosted in the cloud that need to be protected. Connections to these
* resources are considered enterprise data. If a proxy is paired with a cloud resource, traffic to the cloud resource
* will be routed through the enterprise network via the denoted proxy server (on Port 80). A proxy server used for this
* purpose must also be configured using the EnterpriseInternalProxyServers policy
*/
enterpriseProxiedDomains?: NullableOption<WindowsInformationProtectionProxiedDomainCollection[]>;
// This is a list of proxy servers. Any server not on this list is considered non-enterprise
enterpriseProxyServers?: NullableOption<WindowsInformationProtectionResourceCollection[]>;
/**
* Boolean value that tells the client to accept the configured list of proxies and not try to detect other work proxies.
* Default is false
*/
enterpriseProxyServersAreAuthoritative?: boolean;
/**
* Exempt applications can also access enterprise data, but the data handled by those applications are not protected. This
* is because some critical enterprise applications may have compatibility problems with encrypted data.
*/
exemptApps?: NullableOption<WindowsInformationProtectionApp[]>;
/**
* Determines whether overlays are added to icons for WIP protected files in Explorer and enterprise only app tiles in the
* Start menu. Starting in Windows 10, version 1703 this setting also configures the visibility of the WIP icon in the
* title bar of a WIP-protected app
*/
iconsVisible?: boolean;
// This switch is for the Windows Search Indexer, to allow or disallow indexing of items
indexingEncryptedStoresOrItemsBlocked?: boolean;
// Indicates if the policy is deployed to any inclusion groups or not.
isAssigned?: boolean;
// List of domain names that can used for work or personal resource
neutralDomainResources?: NullableOption<WindowsInformationProtectionResourceCollection[]>;
/**
* Protected applications can access enterprise data and the data handled by those applications are protected with
* encryption
*/
protectedApps?: NullableOption<WindowsInformationProtectionApp[]>;
// Specifies whether the protection under lock feature (also known as encrypt under pin) should be configured
protectionUnderLockConfigRequired?: boolean;
/**
* This policy controls whether to revoke the WIP keys when a device unenrolls from the management service. If set to 1
* (Don't revoke keys), the keys will not be revoked and the user will continue to have access to protected files after
* unenrollment. If the keys are not revoked, there will be no revoked file cleanup subsequently.
*/
revokeOnUnenrollDisabled?: boolean;
/**
* TemplateID GUID to use for RMS encryption. The RMS template allows the IT admin to configure the details about who has
* access to RMS-protected file and how long they have access
*/
rightsManagementServicesTemplateId?: NullableOption<string>;
/**
* Specifies a list of file extensions, so that files with these extensions are encrypted when copying from an SMB share
* within the corporate boundary
*/
smbAutoEncryptedFileExtensions?: NullableOption<WindowsInformationProtectionResourceCollection[]>;
// Navigation property to list of security groups targeted for policy.
assignments?: NullableOption<TargetedManagedAppPolicyAssignment[]>;
// Another way to input exempt apps through xml files
exemptAppLockerFiles?: NullableOption<WindowsInformationProtectionAppLockerFile[]>;
// Another way to input protected apps through xml files
protectedAppLockerFiles?: NullableOption<WindowsInformationProtectionAppLockerFile[]>;
}
// tslint:disable-next-line: no-empty-interface
export interface MdmWindowsInformationProtectionPolicy extends WindowsInformationProtection {}
export interface ManagedAppConfiguration extends ManagedAppPolicy {
/**
* A set of string key and string value pairs to be sent to apps for users to whom the configuration is scoped, unalterned
* by this service
*/
customSettings?: KeyValuePair[];
}
export interface TargetedManagedAppConfiguration extends ManagedAppConfiguration {
// Count of apps to which the current policy is deployed.
deployedAppCount?: number;
// Indicates if the policy is deployed to any inclusion groups or not.
isAssigned?: boolean;
// List of apps to which the policy is deployed.
apps?: NullableOption<ManagedMobileApp[]>;
// Navigation property to list of inclusion and exclusion groups to which the policy is deployed.
assignments?: NullableOption<TargetedManagedAppPolicyAssignment[]>;
// Navigation property to deployment summary of the configuration.
deploymentSummary?: NullableOption<ManagedAppPolicyDeploymentSummary>;
}
export interface WindowsInformationProtectionPolicy extends WindowsInformationProtection {
// Offline interval before app data is wiped (days)
daysWithoutContactBeforeUnenroll?: number;
// Enrollment url for the MDM
mdmEnrollmentUrl?: NullableOption<string>;
/**
* Specifies the maximum amount of time (in minutes) allowed after the device is idle that will cause the device to become
* PIN or password locked. Range is an integer X where 0 &amp;lt;= X &amp;lt;= 999.
*/
minutesOfInactivityBeforeDeviceLock?: number;
/**
* Integer value that specifies the number of past PINs that can be associated to a user account that can't be reused. The
* largest number you can configure for this policy setting is 50. The lowest number you can configure for this policy
* setting is 0. If this policy is set to 0, then storage of previous PINs is not required. This node was added in Windows
* 10, version 1511. Default is 0.
*/
numberOfPastPinsRemembered?: number;
/**
* The number of authentication failures allowed before the device will be wiped. A value of 0 disables device wipe
* functionality. Range is an integer X where 4 &amp;lt;= X &amp;lt;= 16 for desktop and 0 &amp;lt;= X &amp;lt;= 999 for
* mobile devices.
*/
passwordMaximumAttemptCount?: number;
/**
* Integer value specifies the period of time (in days) that a PIN can be used before the system requires the user to
* change it. The largest number you can configure for this policy setting is 730. The lowest number you can configure for
* this policy setting is 0. If this policy is set to 0, then the user's PIN will never expire. This node was added in
* Windows 10, version 1511. Default is 0.
*/
pinExpirationDays?: number;
/**
* Integer value that configures the use of lowercase letters in the Windows Hello for Business PIN. Default is NotAllow.
* Possible values are: notAllow, requireAtLeastOne, allow.
*/
pinLowercaseLetters?: WindowsInformationProtectionPinCharacterRequirements;
/**
* Integer value that sets the minimum number of characters required for the PIN. Default value is 4. The lowest number
* you can configure for this policy setting is 4. The largest number you can configure must be less than the number
* configured in the Maximum PIN length policy setting or the number 127, whichever is the lowest.
*/
pinMinimumLength?: number;
/**
* Integer value that configures the use of special characters in the Windows Hello for Business PIN. Valid special
* characters for Windows Hello for Business PIN gestures include: ! ' # $ % &amp; ' ( ) + , - . / : ; &amp;lt; = &amp;gt;
* ? @ [ / ] ^ ` {
*/
pinSpecialCharacters?: WindowsInformationProtectionPinCharacterRequirements;
/**
* Integer value that configures the use of uppercase letters in the Windows Hello for Business PIN. Default is NotAllow.
* Possible values are: notAllow, requireAtLeastOne, allow.
*/
pinUppercaseLetters?: WindowsInformationProtectionPinCharacterRequirements;
// New property in RS2, pending documentation
revokeOnMdmHandoffDisabled?: boolean;
// Boolean value that sets Windows Hello for Business as a method for signing into Windows.
windowsHelloForBusinessBlocked?: boolean;
}
export interface EnterpriseCodeSigningCertificate extends Entity {
/**
* The Windows Enterprise Code-Signing Certificate in the raw data format. Set to null once certificate has been uploaded
* and other properties have been populated.
*/
content?: NullableOption<string>;
/**
* The cert expiration date and time (using ISO 8601 format, in UTC time). Uploading a valid cert file through the Intune
* admin console will automatically populate this value in the HTTP response. Supports: $filter, $select, $top, $OrderBy,
* $skip. $Search is not supported.
*/
expirationDateTime?: string;
/**
* The issuer value for the cert. This might contain information such as country (C), state or province (S), locality (L),
* common name of the cert (CN), organization (O), and organizational unit (OU). Uploading a valid cert file through the
* Intune admin console will automatically populate this value in the HTTP response. Supports: $filter, $select, $top,
* $OrderBy, $skip. $Search is not supported.
*/
issuer?: NullableOption<string>;
/**
* The issuer name for the cert. This might contain information such as country (C), state or province (S), locality (L),
* common name of the cert (CN), organization (O), and organizational unit (OU). Uploading a valid cert file through the
* Intune admin console will automatically populate this value in the HTTP response. Supports: $filter, $select, $top,
* $OrderBy, $skip. $Search is not supported.
*/
issuerName?: NullableOption<string>;
/**
* Whether the Certificate Status Provisioned or not Provisioned. Possible values are: notProvisioned, provisioned.
* Default is notProvisioned. Uploading a valid cert file through the Intune admin console will automatically populate
* this value in the HTTP response. Supports: $filter, $select, $top, $OrderBy, $skip. $Search is not supported. Possible
* values are: notProvisioned, provisioned.
*/
status?: CertificateStatus;
/**
* The subject value for the cert. This might contain information such as country (C), state or province (S), locality
* (L), common name of the cert (CN), organization (O), and organizational unit (OU). Uploading a valid cert file through
* the Intune admin console will automatically populate this value in the HTTP response. Supports: $filter, $select, $top,
* $OrderBy, $skip. $Search is not supported.
*/
subject?: NullableOption<string>;
/**
* The subject name for the cert. This might contain information such as country (C), state or province (S), locality (L),
* common name of the cert (CN), organization (O), and organizational unit (OU). Uploading a valid cert file through the
* Intune admin console will automatically populate this value in the HTTP response. Supports: $filter, $select, $top,
* $OrderBy, $skip. $Search is not supported.
*/
subjectName?: NullableOption<string>;
/**
* The date time of CodeSigning Cert when it is uploaded (using ISO 8601 format, in UTC time). Uploading a valid cert file
* through the Intune admin console will automatically populate this value in the HTTP response. Supports: $filter,
* $select, $top, $OrderBy, $skip. $Search is not supported.
*/
uploadDateTime?: string;
}
// tslint:disable-next-line: interface-name
export interface IosiPadOSWebClip extends MobileApp {
// Indicates iOS/iPadOS web clip app URL. Example: 'https://www.contoso.com'
appUrl?: NullableOption<string>;
/**
* Whether or not to use managed browser. When TRUE, the app will be required to be opened in Microsoft Edge. When FALSE,
* the app will not be required to be opened in Microsoft Edge. By default, this property is set to FALSE.
*/
useManagedBrowser?: boolean;
}
// tslint:disable-next-line: interface-name
export interface IosLobApp extends MobileLobApp {
// The iOS architecture for which this app can run on.
applicableDeviceType?: IosDeviceType;
// The build number of iOS Line of Business (LoB) app.
buildNumber?: NullableOption<string>;
// The Identity Name.
bundleId?: NullableOption<string>;
// The expiration time.
expirationDateTime?: NullableOption<string>;
// The value for the minimum applicable operating system.
minimumSupportedOperatingSystem?: NullableOption<IosMinimumOperatingSystem>;
// The version number of iOS Line of Business (LoB) app.
versionNumber?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
export interface IosLobAppProvisioningConfigurationAssignment extends Entity {
// The target group assignment defined by the admin.
target?: NullableOption<DeviceAndAppManagementAssignmentTarget>;
}
// tslint:disable-next-line: interface-name
export interface IosMobileAppConfiguration extends ManagedDeviceMobileAppConfiguration {
// mdm app configuration Base64 binary.
encodedSettingXml?: NullableOption<string>;
// app configuration setting items.
settings?: NullableOption<AppConfigurationSettingItem[]>;
}
// tslint:disable-next-line: interface-name
export interface IosStoreApp extends MobileApp {
// The iOS architecture for which this app can run on.
applicableDeviceType?: IosDeviceType;
// The Apple App Store URL
appStoreUrl?: NullableOption<string>;
// The Identity Name.
bundleId?: NullableOption<string>;
// The value for the minimum applicable operating system.
minimumSupportedOperatingSystem?: NullableOption<IosMinimumOperatingSystem>;
}
// tslint:disable-next-line: interface-name
export interface IosVppApp extends MobileApp {
// The applicable iOS Device Type.
applicableDeviceType?: NullableOption<IosDeviceType>;
// The store URL.
appStoreUrl?: NullableOption<string>;
// The Identity Name.
bundleId?: NullableOption<string>;
// The supported License Type.
licensingType?: NullableOption<VppLicensingType>;
// The VPP application release date and time.
releaseDateTime?: NullableOption<string>;
// The total number of VPP licenses.
totalLicenseCount?: number;
// The number of VPP licenses in use.
usedLicenseCount?: number;
/**
* The type of volume purchase program which the given Apple Volume Purchase Program Token is associated with. Possible
* values are: business, education. Possible values are: business, education.
*/
vppTokenAccountType?: VppTokenAccountType;
// The Apple Id associated with the given Apple Volume Purchase Program Token.
vppTokenAppleId?: NullableOption<string>;
// The organization associated with the Apple Volume Purchase Program Token
vppTokenOrganizationName?: NullableOption<string>;
}
export interface MacOSLobApp extends MobileLobApp {
// The build number of the package. This should match the package CFBundleShortVersionString of the .pkg file.
buildNumber?: NullableOption<string>;
// The primary bundleId of the package.
bundleId?: NullableOption<string>;
// List of ComplexType macOSLobChildApp objects. Represents the apps expected to be installed by the package.
childApps?: NullableOption<MacOSLobChildApp[]>;
/**
* When TRUE, indicates that the app's version will NOT be used to detect if the app is installed on a device. When FALSE,
* indicates that the app's version will be used to detect if the app is installed on a device. Set this to true for apps
* that use a self update feature.
*/
ignoreVersionDetection?: boolean;
/**
* When TRUE, indicates that the app will be installed as managed (requires macOS 11.0 and other managed package
* restrictions). When FALSE, indicates that the app will be installed as unmanaged.
*/
installAsManaged?: boolean;
/**
* The MD5 hash codes. This is empty if the package was uploaded directly. If the Intune App Wrapping Tool is used to
* create a .intunemac, this value can be found inside the Detection.xml file.
*/
md5Hash?: NullableOption<string[]>;
/**
* The chunk size for MD5 hash. This is '0' or empty if the package was uploaded directly. If the Intune App Wrapping Tool
* is used to create a .intunemac, this value can be found inside the Detection.xml file.
*/
md5HashChunkSize?: number;
// ComplexType macOSMinimumOperatingSystem that indicates the minimum operating system applicable for the application.
minimumSupportedOperatingSystem?: NullableOption<MacOSMinimumOperatingSystem>;
// The version number of the package. This should match the package CFBundleVersion in the packageinfo file.
versionNumber?: NullableOption<string>;
}
export interface MacOSMicrosoftEdgeApp extends MobileApp {
// The channel to install on target devices. Possible values are: dev, beta, stable, unknownFutureValue.
channel?: MicrosoftEdgeChannel;
}
// tslint:disable-next-line: no-empty-interface
export interface MacOSOfficeSuiteApp extends MobileApp {}
export interface ManagedApp extends MobileApp {
// The Application's availability. Possible values are: global, lineOfBusiness.
appAvailability?: ManagedAppAvailability;
// The Application's version.
version?: NullableOption<string>;
}
export interface ManagedMobileLobApp extends ManagedApp {
// The internal committed content version.
committedContentVersion?: NullableOption<string>;
// The name of the main Lob application file.
fileName?: NullableOption<string>;
// The total size, including all uploaded files.
size?: number;
// The list of content versions for this app.
contentVersions?: NullableOption<MobileAppContent[]>;
}
export interface ManagedAndroidLobApp extends ManagedMobileLobApp {
// The value for the minimum applicable operating system.
minimumSupportedOperatingSystem?: NullableOption<AndroidMinimumOperatingSystem>;
// The package identifier.
packageId?: NullableOption<string>;
// The version code of managed Android Line of Business (LoB) app.
versionCode?: NullableOption<string>;
// The version name of managed Android Line of Business (LoB) app.
versionName?: NullableOption<string>;
}
export interface ManagedAndroidStoreApp extends ManagedApp {
// The Android AppStoreUrl.
appStoreUrl?: string;
// The value for the minimum supported operating system.
minimumSupportedOperatingSystem?: AndroidMinimumOperatingSystem;
// The app's package ID.
packageId?: NullableOption<string>;
}
export interface ManagedDeviceMobileAppConfigurationAssignment extends Entity {
// Assignment target that the T&amp;C policy is assigned to.
target?: NullableOption<DeviceAndAppManagementAssignmentTarget>;
}
export interface ManagedDeviceMobileAppConfigurationDeviceStatus extends Entity {
// The DateTime when device compliance grace period expires
complianceGracePeriodExpirationDateTime?: string;
// Device name of the DevicePolicyStatus.
deviceDisplayName?: NullableOption<string>;
// The device model that is being reported
deviceModel?: NullableOption<string>;
// Last modified date time of the policy report.
lastReportedDateTime?: string;
/**
* Compliance status of the policy report. Possible values are: unknown, notApplicable, compliant, remediated,
* nonCompliant, error, conflict, notAssigned.
*/
status?: ComplianceStatus;
// The User Name that is being reported
userName?: NullableOption<string>;
// UserPrincipalName.
userPrincipalName?: NullableOption<string>;
}
export interface ManagedDeviceMobileAppConfigurationDeviceSummary extends Entity {
// Version of the policy for that overview
configurationVersion?: number;
// Number of error devices
errorCount?: number;
// Number of failed devices
failedCount?: number;
// Last update time
lastUpdateDateTime?: string;
// Number of not applicable devices
notApplicableCount?: number;
// Number of pending devices
pendingCount?: number;
// Number of succeeded devices
successCount?: number;
}
export interface ManagedDeviceMobileAppConfigurationUserStatus extends Entity {
// Devices count for that user.
devicesCount?: number;
// Last modified date time of the policy report.
lastReportedDateTime?: string;
/**
* Compliance status of the policy report. Possible values are: unknown, notApplicable, compliant, remediated,
* nonCompliant, error, conflict, notAssigned.
*/
status?: ComplianceStatus;
// User name of the DevicePolicyStatus.
userDisplayName?: NullableOption<string>;
// UserPrincipalName.
userPrincipalName?: NullableOption<string>;
}
export interface ManagedDeviceMobileAppConfigurationUserSummary extends Entity {
// Version of the policy for that overview
configurationVersion?: number;
// Number of error Users
errorCount?: number;
// Number of failed Users
failedCount?: number;
// Last update time
lastUpdateDateTime?: string;
// Number of not applicable users
notApplicableCount?: number;
// Number of pending Users
pendingCount?: number;
// Number of succeeded Users
successCount?: number;
}
export interface ManagedIOSLobApp extends ManagedMobileLobApp {
// The iOS architecture for which this app can run on.
applicableDeviceType?: IosDeviceType;
// The build number of managed iOS Line of Business (LoB) app.
buildNumber?: NullableOption<string>;
// The Identity Name.
bundleId?: NullableOption<string>;
// The expiration time.
expirationDateTime?: NullableOption<string>;
// The value for the minimum applicable operating system.
minimumSupportedOperatingSystem?: NullableOption<IosMinimumOperatingSystem>;
// The version number of managed iOS Line of Business (LoB) app.
versionNumber?: NullableOption<string>;
}
export interface ManagedIOSStoreApp extends ManagedApp {
// The iOS architecture for which this app can run on.
applicableDeviceType?: IosDeviceType;
// The Apple AppStoreUrl.
appStoreUrl?: string;
// The app's Bundle ID.
bundleId?: NullableOption<string>;
// The value for the minimum supported operating system.
minimumSupportedOperatingSystem?: IosMinimumOperatingSystem;
}
export interface MobileAppContent extends Entity {
// The collection of contained apps in a MobileLobApp acting as a package.
containedApps?: NullableOption<MobileContainedApp[]>;
// The list of files for this app content version.
files?: NullableOption<MobileAppContentFile[]>;
}
export interface MicrosoftStoreForBusinessApp extends MobileApp {
// The app license type. Possible values are: offline, online.
licenseType?: MicrosoftStoreForBusinessLicenseType;
// The app package identifier
packageIdentityName?: NullableOption<string>;
// The app product key
productKey?: NullableOption<string>;
// The total number of Microsoft Store for Business licenses.
totalLicenseCount?: number;
// The number of Microsoft Store for Business licenses in use.
usedLicenseCount?: number;
}
export interface MobileAppAssignment extends Entity {
/**
* The install intent defined by the admin. Possible values are: available, required, uninstall,
* availableWithoutEnrollment.
*/
intent?: InstallIntent;
// The settings for target assignment defined by the admin.
settings?: NullableOption<MobileAppAssignmentSettings>;
// The target group assignment defined by the admin.
target?: NullableOption<DeviceAndAppManagementAssignmentTarget>;
}
// tslint:disable-next-line: no-empty-interface
export interface MobileContainedApp extends Entity {}
export interface MobileAppContentFile extends Entity {
// The Azure Storage URI.
azureStorageUri?: NullableOption<string>;
// The time the Azure storage Uri expires.
azureStorageUriExpirationDateTime?: NullableOption<string>;
// The time the file was created.
createdDateTime?: string;
// A value indicating whether the file is committed.
isCommitted?: boolean;
// The manifest information.
manifest?: NullableOption<string>;
// the file name.
name?: NullableOption<string>;
// The size of the file prior to encryption.
size?: number;
// The size of the file after encryption.
sizeEncrypted?: number;
/**
* The state of the current upload request. Possible values are: success, transientError, error, unknown,
* azureStorageUriRequestSuccess, azureStorageUriRequestPending, azureStorageUriRequestFailed,
* azureStorageUriRequestTimedOut, azureStorageUriRenewalSuccess, azureStorageUriRenewalPending,
* azureStorageUriRenewalFailed, azureStorageUriRenewalTimedOut, commitFileSuccess, commitFilePending, commitFileFailed,
* commitFileTimedOut.
*/
uploadState?: MobileAppContentFileUploadState;
}
export interface WebApp extends MobileApp {
// The web app URL. This property cannot be PATCHed.
appUrl?: NullableOption<string>;
// Whether or not to use managed browser. This property is only applicable for Android and IOS.
useManagedBrowser?: boolean;
}
export interface Win32LobApp extends MobileLobApp {
// The Windows architecture(s) for which this app can run on. Possible values are: none, x86, x64, arm, neutral.
applicableArchitectures?: WindowsArchitecture;
// The command line to install this app
installCommandLine?: NullableOption<string>;
// The install experience for this app.
installExperience?: NullableOption<Win32LobAppInstallExperience>;
// The value for the minimum CPU speed which is required to install this app.
minimumCpuSpeedInMHz?: NullableOption<number>;
// The value for the minimum free disk space which is required to install this app.
minimumFreeDiskSpaceInMB?: NullableOption<number>;
// The value for the minimum physical memory which is required to install this app.
minimumMemoryInMB?: NullableOption<number>;
// The value for the minimum number of processors which is required to install this app.
minimumNumberOfProcessors?: NullableOption<number>;
// The value for the minimum supported windows release.
minimumSupportedWindowsRelease?: NullableOption<string>;
// The MSI details if this Win32 app is an MSI app.
msiInformation?: NullableOption<Win32LobAppMsiInformation>;
// The return codes for post installation behavior.
returnCodes?: NullableOption<Win32LobAppReturnCode[]>;
// The detection and requirement rules for this app.
rules?: NullableOption<Win32LobAppRule[]>;
// The relative path of the setup file in the encrypted Win32LobApp package.
setupFilePath?: NullableOption<string>;
// The command line to uninstall this app
uninstallCommandLine?: NullableOption<string>;
}
export interface WindowsAppX extends MobileLobApp {
/**
* The Windows architecture(s) on which this app can run. Possible values are: none, x86, x64, arm, neutral; default value
* is none. Possible values are: none, x86, x64, arm, neutral.
*/
applicableArchitectures?: WindowsArchitecture;
// The identity name of the uploaded app package. For example: 'Contoso.DemoApp'.
identityName?: NullableOption<string>;
/**
* The identity publisher hash of the uploaded app package. This is the hash of the publisher from the manifest. For
* example: 'AB82CD0XYZ'.
*/
identityPublisherHash?: string;
// The identity resource identifier of the uploaded app package. For example: 'TestResourceId'.
identityResourceIdentifier?: NullableOption<string>;
// The identity version of the uploaded app package. For example: '1.0.0.0'.
identityVersion?: NullableOption<string>;
/**
* When TRUE, indicates that the app is a bundle. When FALSE, indicates that the app is not a bundle. By default, property
* is set to FALSE.
*/
isBundle?: boolean;
/**
* The value for the minimum applicable operating system. Valid values for a WindowsAppX app include v8_0, v8_1 and v10_0.
* If the app is a bundle, the minimum supported OS has to be at least v8_1.
*/
minimumSupportedOperatingSystem?: WindowsMinimumOperatingSystem;
}
export interface WindowsMicrosoftEdgeApp extends MobileApp {
/**
* The channel to install on target devices. The possible values are dev, beta, and stable. By default, this property is
* set to dev. Possible values are: dev, beta, stable, unknownFutureValue.
*/
channel?: MicrosoftEdgeChannel;
// The language locale to use when the Edge app displays text to the user.
displayLanguageLocale?: NullableOption<string>;
}
export interface WindowsMobileMSI extends MobileLobApp {
// The command line.
commandLine?: NullableOption<string>;
/**
* A boolean to control whether the app's version will be used to detect the app after it is installed on a device. Set
* this to true for Windows Mobile MSI Line of Business (LoB) apps that use a self update feature.
*/
ignoreVersionDetection?: boolean;
// The product code.
productCode?: NullableOption<string>;
// The product version of Windows Mobile MSI Line of Business (LoB) app.
productVersion?: NullableOption<string>;
}
export interface WindowsUniversalAppX extends MobileLobApp {
// The Windows architecture(s) for which this app can run on. Possible values are: none, x86, x64, arm, neutral.
applicableArchitectures?: WindowsArchitecture;
/**
* The Windows device type(s) for which this app can run on. Possible values are: none, desktop, mobile, holographic,
* team.
*/
applicableDeviceTypes?: WindowsDeviceType;
// The Identity Name.
identityName?: NullableOption<string>;
// The Identity Publisher Hash.
identityPublisherHash?: string;
// The Identity Resource Identifier.
identityResourceIdentifier?: NullableOption<string>;
// The identity version.
identityVersion?: NullableOption<string>;
// Whether or not the app is a bundle.
isBundle?: boolean;
// The value for the minimum applicable operating system.
minimumSupportedOperatingSystem?: WindowsMinimumOperatingSystem;
// The collection of contained apps in the committed mobileAppContent of a windowsUniversalAppX app.
committedContainedApps?: NullableOption<MobileContainedApp[]>;
}
export interface WindowsUniversalAppXContainedApp extends MobileContainedApp {
// The app user model ID of the contained app of a WindowsUniversalAppX app.
appUserModelId?: NullableOption<string>;
}
export interface WindowsWebApp extends MobileApp {
// Indicates the Windows web app URL. Example: 'https://www.contoso.com'
appUrl?: NullableOption<string>;
}
export interface AuditEvent extends Entity {
// Friendly name of the activity.
activity?: NullableOption<string>;
// The date time in UTC when the activity was performed.
activityDateTime?: string;
// The HTTP operation type of the activity.
activityOperationType?: NullableOption<string>;
// The result of the activity.
activityResult?: NullableOption<string>;
// The type of activity that was being performed.
activityType?: NullableOption<string>;
// AAD user and application that are associated with the audit event.
actor?: NullableOption<AuditActor>;
// Audit category.
category?: NullableOption<string>;
// Component name.
componentName?: NullableOption<string>;
// The client request Id that is used to correlate activity within the system.
correlationId?: string;
// Event display name.
displayName?: NullableOption<string>;
// Resources being modified.
resources?: NullableOption<AuditResource[]>;
}
export interface DeviceManagement extends Entity {
// Intune Account Id for given tenant
intuneAccountId?: string;
// Account level settings.
settings?: NullableOption<DeviceManagementSettings>;
/**
* intuneBrand contains data which is used in customizing the appearance of the Company Portal applications as well as the
* end user web portal.
*/
intuneBrand?: NullableOption<IntuneBrand>;
/**
* Tenant mobile device management subscription state. Possible values are: pending, active, warning, disabled, deleted,
* blocked, lockedOut.
*/
subscriptionState?: DeviceManagementSubscriptionState;
// The terms and conditions associated with device management of the company.
termsAndConditions?: NullableOption<TermsAndConditions[]>;
// The Audit Events
auditEvents?: NullableOption<AuditEvent[]>;
// The device compliance policies.
deviceCompliancePolicies?: NullableOption<DeviceCompliancePolicy[]>;
// The device compliance state summary for this account.
deviceCompliancePolicyDeviceStateSummary?: NullableOption<DeviceCompliancePolicyDeviceStateSummary>;
// The summary states of compliance policy settings for this account.
deviceCompliancePolicySettingStateSummaries?: NullableOption<DeviceCompliancePolicySettingStateSummary[]>;
// The device configuration device state summary for this account.
deviceConfigurationDeviceStateSummaries?: NullableOption<DeviceConfigurationDeviceStateSummary>;
// The device configurations.
deviceConfigurations?: NullableOption<DeviceConfiguration[]>;
// The IOS software update installation statuses for this account.
iosUpdateStatuses?: NullableOption<IosUpdateDeviceStatus[]>;
// The software update status summary.
softwareUpdateStatusSummary?: NullableOption<SoftwareUpdateStatusSummary>;
// The list of Compliance Management Partners configured by the tenant.
complianceManagementPartners?: NullableOption<ComplianceManagementPartner[]>;
/**
* The Exchange on premises conditional access settings. On premises conditional access will require devices to be both
* enrolled and compliant for mail access
*/
conditionalAccessSettings?: NullableOption<OnPremisesConditionalAccessSettings>;
// The list of device categories with the tenant.
deviceCategories?: NullableOption<DeviceCategory[]>;
// The list of device enrollment configurations
deviceEnrollmentConfigurations?: NullableOption<DeviceEnrollmentConfiguration[]>;
// The list of Device Management Partners configured by the tenant.
deviceManagementPartners?: NullableOption<DeviceManagementPartner[]>;
// The list of Exchange Connectors configured by the tenant.
exchangeConnectors?: NullableOption<DeviceManagementExchangeConnector[]>;
// The list of Mobile threat Defense connectors configured by the tenant.
mobileThreatDefenseConnectors?: NullableOption<MobileThreatDefenseConnector[]>;
// Apple push notification certificate.
applePushNotificationCertificate?: NullableOption<ApplePushNotificationCertificate>;
// The list of detected apps associated with a device.
detectedApps?: NullableOption<DetectedApp[]>;
// Device overview
managedDeviceOverview?: NullableOption<ManagedDeviceOverview>;
// The list of managed devices.
managedDevices?: NullableOption<ManagedDevice[]>;
// Collection of imported Windows autopilot devices.
importedWindowsAutopilotDeviceIdentities?: NullableOption<ImportedWindowsAutopilotDeviceIdentity[]>;
// The Windows autopilot device identities contained collection.
windowsAutopilotDeviceIdentities?: NullableOption<WindowsAutopilotDeviceIdentity[]>;
// The Notification Message Templates.
notificationMessageTemplates?: NullableOption<NotificationMessageTemplate[]>;
// The Resource Operations.
resourceOperations?: NullableOption<ResourceOperation[]>;
// The Role Assignments.
roleAssignments?: NullableOption<DeviceAndAppManagementRoleAssignment[]>;
// The Role Definitions.
roleDefinitions?: NullableOption<RoleDefinition[]>;
// The remote assist partners.
remoteAssistancePartners?: NullableOption<RemoteAssistancePartner[]>;
// Reports singleton
reports?: NullableOption<DeviceManagementReports>;
// The telecom expense management partners.
telecomExpenseManagementPartners?: NullableOption<TelecomExpenseManagementPartner[]>;
// The list of troubleshooting events for the tenant.
troubleshootingEvents?: NullableOption<DeviceManagementTroubleshootingEvent[]>;
// The windows information protection app learning summaries.
windowsInformationProtectionAppLearningSummaries?: NullableOption<WindowsInformationProtectionAppLearningSummary[]>;
// The windows information protection network learning summaries.
windowsInformationProtectionNetworkLearningSummaries?: NullableOption<WindowsInformationProtectionNetworkLearningSummary[]>;
}
export interface TermsAndConditions extends Entity {
/**
* Administrator-supplied explanation of the terms and conditions, typically describing what it means to accept the terms
* and conditions set out in the T&amp;C policy. This is shown to the user on prompts to accept the T&amp;C policy.
*/
acceptanceStatement?: NullableOption<string>;
/**
* Administrator-supplied body text of the terms and conditions, typically the terms themselves. This is shown to the user
* on prompts to accept the T&amp;C policy.
*/
bodyText?: NullableOption<string>;
// DateTime the object was created.
createdDateTime?: string;
// Administrator-supplied description of the T&amp;C policy.
description?: NullableOption<string>;
// Administrator-supplied name for the T&amp;C policy.
displayName?: string;
// DateTime the object was last modified.
lastModifiedDateTime?: string;
/**
* Administrator-supplied title of the terms and conditions. This is shown to the user on prompts to accept the T&amp;C
* policy.
*/
title?: NullableOption<string>;
/**
* Integer indicating the current version of the terms. Incremented when an administrator makes a change to the terms and
* wishes to require users to re-accept the modified T&amp;C policy.
*/
version?: number;
// The list of acceptance statuses for this T&amp;C policy.
acceptanceStatuses?: NullableOption<TermsAndConditionsAcceptanceStatus[]>;
// The list of assignments for this T&amp;C policy.
assignments?: NullableOption<TermsAndConditionsAssignment[]>;
}
export interface DeviceCompliancePolicy extends Entity {
// DateTime the object was created.
createdDateTime?: string;
// Admin provided description of the Device Configuration.
description?: NullableOption<string>;
// Admin provided name of the device configuration.
displayName?: string;
// DateTime the object was last modified.
lastModifiedDateTime?: string;
// Version of the device configuration.
version?: number;
// The collection of assignments for this compliance policy.
assignments?: NullableOption<DeviceCompliancePolicyAssignment[]>;
// Compliance Setting State Device Summary
deviceSettingStateSummaries?: NullableOption<SettingStateDeviceSummary[]>;
// List of DeviceComplianceDeviceStatus.
deviceStatuses?: NullableOption<DeviceComplianceDeviceStatus[]>;
// Device compliance devices status overview
deviceStatusOverview?: NullableOption<DeviceComplianceDeviceOverview>;
/**
* The list of scheduled action per rule for this compliance policy. This is a required property when creating any
* individual per-platform compliance policies.
*/
scheduledActionsForRule?: NullableOption<DeviceComplianceScheduledActionForRule[]>;
// List of DeviceComplianceUserStatus.
userStatuses?: NullableOption<DeviceComplianceUserStatus[]>;
// Device compliance users status overview
userStatusOverview?: NullableOption<DeviceComplianceUserOverview>;
}
export interface DeviceCompliancePolicyDeviceStateSummary extends Entity {
// Number of compliant devices
compliantDeviceCount?: number;
// Number of devices that have compliance managed by System Center Configuration Manager
configManagerCount?: number;
// Number of conflict devices
conflictDeviceCount?: number;
// Number of error devices
errorDeviceCount?: number;
// Number of devices that are in grace period
inGracePeriodCount?: number;
// Number of NonCompliant devices
nonCompliantDeviceCount?: number;
// Number of not applicable devices
notApplicableDeviceCount?: number;
// Number of remediated devices
remediatedDeviceCount?: number;
// Number of unknown devices
unknownDeviceCount?: number;
}
export interface DeviceCompliancePolicySettingStateSummary extends Entity {
// Number of compliant devices
compliantDeviceCount?: number;
// Number of conflict devices
conflictDeviceCount?: number;
// Number of error devices
errorDeviceCount?: number;
// Number of NonCompliant devices
nonCompliantDeviceCount?: number;
// Number of not applicable devices
notApplicableDeviceCount?: number;
/**
* Setting platform. Possible values are: android, iOS, macOS, windowsPhone81, windows81AndLater, windows10AndLater,
* androidWorkProfile, all.
*/
platformType?: PolicyPlatformType;
// Number of remediated devices
remediatedDeviceCount?: number;
// The setting class name and property name.
setting?: NullableOption<string>;
// Name of the setting.
settingName?: NullableOption<string>;
// Number of unknown devices
unknownDeviceCount?: number;
// Not yet documented
deviceComplianceSettingStates?: NullableOption<DeviceComplianceSettingState[]>;
}
export interface DeviceConfigurationDeviceStateSummary extends Entity {
// Number of compliant devices
compliantDeviceCount?: number;
// Number of conflict devices
conflictDeviceCount?: number;
// Number of error devices
errorDeviceCount?: number;
// Number of NonCompliant devices
nonCompliantDeviceCount?: number;
// Number of not applicable devices
notApplicableDeviceCount?: number;
// Number of remediated devices
remediatedDeviceCount?: number;
// Number of unknown devices
unknownDeviceCount?: number;
}
export interface DeviceConfiguration extends Entity {
// DateTime the object was created.
createdDateTime?: string;
// Admin provided description of the Device Configuration.
description?: NullableOption<string>;
// Admin provided name of the device configuration.
displayName?: string;
// DateTime the object was last modified.
lastModifiedDateTime?: string;
// Version of the device configuration.
version?: number;
// The list of assignments for the device configuration profile.
assignments?: NullableOption<DeviceConfigurationAssignment[]>;
// Device Configuration Setting State Device Summary
deviceSettingStateSummaries?: NullableOption<SettingStateDeviceSummary[]>;
// Device configuration installation status by device.
deviceStatuses?: NullableOption<DeviceConfigurationDeviceStatus[]>;
// Device Configuration devices status overview
deviceStatusOverview?: NullableOption<DeviceConfigurationDeviceOverview>;
// Device configuration installation status by user.
userStatuses?: NullableOption<DeviceConfigurationUserStatus[]>;
// Device Configuration users status overview
userStatusOverview?: NullableOption<DeviceConfigurationUserOverview>;
}
// tslint:disable-next-line: interface-name
export interface IosUpdateDeviceStatus extends Entity {
// The DateTime when device compliance grace period expires
complianceGracePeriodExpirationDateTime?: string;
// Device name of the DevicePolicyStatus.
deviceDisplayName?: NullableOption<string>;
// The device id that is being reported.
deviceId?: NullableOption<string>;
// The device model that is being reported
deviceModel?: NullableOption<string>;
/**
* The installation status of the policy report. Possible values are: success, available, idle, unknown, downloading,
* downloadFailed, downloadRequiresComputer, downloadInsufficientSpace, downloadInsufficientPower,
* downloadInsufficientNetwork, installing, installInsufficientSpace, installInsufficientPower,
* installPhoneCallInProgress, installFailed, notSupportedOperation, sharedDeviceUserLoggedInError,
* deviceOsHigherThanDesiredOsVersion.
*/
installStatus?: IosUpdatesInstallStatus;
// Last modified date time of the policy report.
lastReportedDateTime?: string;
// The device version that is being reported.
osVersion?: NullableOption<string>;
/**
* Compliance status of the policy report. Possible values are: unknown, notApplicable, compliant, remediated,
* nonCompliant, error, conflict, notAssigned.
*/
status?: ComplianceStatus;
// The User id that is being reported.
userId?: NullableOption<string>;
// The User Name that is being reported
userName?: NullableOption<string>;
// UserPrincipalName.
userPrincipalName?: NullableOption<string>;
}
export interface SoftwareUpdateStatusSummary extends Entity {
// Number of compliant devices.
compliantDeviceCount?: number;
// Number of compliant users.
compliantUserCount?: number;
// Number of conflict devices.
conflictDeviceCount?: number;
// Number of conflict users.
conflictUserCount?: number;
// The name of the policy.
displayName?: NullableOption<string>;
// Number of devices had error.
errorDeviceCount?: number;
// Number of users had error.
errorUserCount?: number;
// Number of non compliant devices.
nonCompliantDeviceCount?: number;
// Number of non compliant users.
nonCompliantUserCount?: number;
// Number of not applicable devices.
notApplicableDeviceCount?: number;
// Number of not applicable users.
notApplicableUserCount?: number;
// Number of remediated devices.
remediatedDeviceCount?: number;
// Number of remediated users.
remediatedUserCount?: number;
// Number of unknown devices.
unknownDeviceCount?: number;
// Number of unknown users.
unknownUserCount?: number;
}
export interface ComplianceManagementPartner extends Entity {
// User groups which enroll Android devices through partner.
androidEnrollmentAssignments?: NullableOption<ComplianceManagementPartnerAssignment[]>;
// Partner onboarded for Android devices.
androidOnboarded?: boolean;
// Partner display name
displayName?: NullableOption<string>;
// User groups which enroll ios devices through partner.
iosEnrollmentAssignments?: NullableOption<ComplianceManagementPartnerAssignment[]>;
// Partner onboarded for ios devices.
iosOnboarded?: boolean;
// Timestamp of last heartbeat after admin onboarded to the compliance management partner
lastHeartbeatDateTime?: string;
// User groups which enroll Mac devices through partner.
macOsEnrollmentAssignments?: NullableOption<ComplianceManagementPartnerAssignment[]>;
// Partner onboarded for Mac devices.
macOsOnboarded?: boolean;
// Partner state of this tenant. Possible values are: unknown, unavailable, enabled, terminated, rejected, unresponsive.
partnerState?: DeviceManagementPartnerTenantState;
}
export interface OnPremisesConditionalAccessSettings extends Entity {
// Indicates if on premises conditional access is enabled for this organization
enabled?: boolean;
/**
* User groups that will be exempt by on premises conditional access. All users in these groups will be exempt from the
* conditional access policy.
*/
excludedGroups?: string[];
/**
* User groups that will be targeted by on premises conditional access. All users in these groups will be required to have
* mobile device managed and compliant for mail access.
*/
includedGroups?: string[];
// Override the default access rule when allowing a device to ensure access is granted.
overrideDefaultRule?: boolean;
}
export interface DeviceCategory extends Entity {
// Optional description for the device category.
description?: NullableOption<string>;
// Display name for the device category.
displayName?: NullableOption<string>;
}
export interface DeviceEnrollmentConfiguration extends Entity {
// Created date time in UTC of the device enrollment configuration
createdDateTime?: string;
// The description of the device enrollment configuration
description?: NullableOption<string>;
// The display name of the device enrollment configuration
displayName?: NullableOption<string>;
// Last modified date time in UTC of the device enrollment configuration
lastModifiedDateTime?: string;
/**
* Priority is used when a user exists in multiple groups that are assigned enrollment configuration. Users are subject
* only to the configuration with the lowest priority value.
*/
priority?: number;
// The version of the device enrollment configuration
version?: number;
// The list of group assignments for the device configuration profile
assignments?: NullableOption<EnrollmentConfigurationAssignment[]>;
}
export interface DeviceManagementPartner extends Entity {
// Partner display name
displayName?: NullableOption<string>;
// User groups that specifies whether enrollment is through partner.
groupsRequiringPartnerEnrollment?: NullableOption<DeviceManagementPartnerAssignment[]>;
// Whether device management partner is configured or not
isConfigured?: boolean;
// Timestamp of last heartbeat after admin enabled option Connect to Device management Partner
lastHeartbeatDateTime?: string;
// Partner App type. Possible values are: unknown, singleTenantApp, multiTenantApp.
partnerAppType?: DeviceManagementPartnerAppType;
// Partner state of this tenant. Possible values are: unknown, unavailable, enabled, terminated, rejected, unresponsive.
partnerState?: DeviceManagementPartnerTenantState;
// Partner Single tenant App id
singleTenantAppId?: NullableOption<string>;
// DateTime in UTC when PartnerDevices will be marked as NonCompliant
whenPartnerDevicesWillBeMarkedAsNonCompliantDateTime?: NullableOption<string>;
// DateTime in UTC when PartnerDevices will be removed
whenPartnerDevicesWillBeRemovedDateTime?: NullableOption<string>;
}
export interface DeviceManagementExchangeConnector extends Entity {
// The name of the server hosting the Exchange Connector.
connectorServerName?: NullableOption<string>;
// An alias assigned to the Exchange server
exchangeAlias?: NullableOption<string>;
/**
* The type of Exchange Connector Configured. Possible values are: onPremises, hosted, serviceToService, dedicated,
* unknownFutureValue.
*/
exchangeConnectorType?: DeviceManagementExchangeConnectorType;
// Exchange Organization to the Exchange server
exchangeOrganization?: NullableOption<string>;
// Last sync time for the Exchange Connector
lastSyncDateTime?: string;
// Email address used to configure the Service To Service Exchange Connector.
primarySmtpAddress?: NullableOption<string>;
// The name of the Exchange server.
serverName?: NullableOption<string>;
// Exchange Connector Status. Possible values are: none, connectionPending, connected, disconnected, unknownFutureValue.
status?: DeviceManagementExchangeConnectorStatus;
// The version of the ExchangeConnectorAgent
version?: NullableOption<string>;
}
export interface MobileThreatDefenseConnector extends Entity {
/**
* When TRUE, indicates the Mobile Threat Defense partner may collect metadata about installed applications from Intune
* for IOS devices. When FALSE, indicates the Mobile Threat Defense partner may not collect metadata about installed
* applications from Intune for IOS devices. Default value is FALSE.
*/
allowPartnerToCollectIOSApplicationMetadata?: boolean;
/**
* When TRUE, indicates the Mobile Threat Defense partner may collect metadata about personally installed applications
* from Intune for IOS devices. When FALSE, indicates the Mobile Threat Defense partner may not collect metadata about
* personally installed applications from Intune for IOS devices. Default value is FALSE.
*/
allowPartnerToCollectIOSPersonalApplicationMetadata?: boolean;
/**
* For Android, set whether Intune must receive data from the Mobile Threat Defense partner prior to marking a device
* compliant
*/
androidDeviceBlockedOnMissingPartnerData?: boolean;
// For Android, set whether data from the Mobile Threat Defense partner should be used during compliance evaluations
androidEnabled?: boolean;
/**
* When TRUE, inidicates that data from the Mobile Threat Defense partner can be used during Mobile Application Management
* (MAM) evaluations for Android devices. When FALSE, inidicates that data from the Mobile Threat Defense partner should
* not be used during Mobile Application Management (MAM) evaluations for Android devices. Only one partner per platform
* may be enabled for Mobile Application Management (MAM) evaluation. Default value is FALSE.
*/
androidMobileApplicationManagementEnabled?: boolean;
/**
* For IOS, set whether Intune must receive data from the Mobile Threat Defense partner prior to marking a device
* compliant
*/
iosDeviceBlockedOnMissingPartnerData?: boolean;
// For IOS, get or set whether data from the Mobile Threat Defense partner should be used during compliance evaluations
iosEnabled?: boolean;
/**
* When TRUE, inidicates that data from the Mobile Threat Defense partner can be used during Mobile Application Management
* (MAM) evaluations for IOS devices. When FALSE, inidicates that data from the Mobile Threat Defense partner should not
* be used during Mobile Application Management (MAM) evaluations for IOS devices. Only one partner per platform may be
* enabled for Mobile Application Management (MAM) evaluation. Default value is FALSE.
*/
iosMobileApplicationManagementEnabled?: boolean;
// DateTime of last Heartbeat recieved from the Mobile Threat Defense partner
lastHeartbeatDateTime?: string;
/**
* When TRUE, inidicates that configuration profile management via Microsoft Defender for Endpoint is enabled. When FALSE,
* inidicates that configuration profile management via Microsoft Defender for Endpoint is disabled. Default value is
* FALSE.
*/
microsoftDefenderForEndpointAttachEnabled?: boolean;
/**
* Mobile Threat Defense partner state for this account. Possible values are: unavailable, available, enabled,
* unresponsive.
*/
partnerState?: MobileThreatPartnerTenantState;
// Get or Set days the per tenant tolerance to unresponsiveness for this partner integration
partnerUnresponsivenessThresholdInDays?: number;
/**
* Get or set whether to block devices on the enabled platforms that do not meet the minimum version requirements of the
* Mobile Threat Defense partner
*/
partnerUnsupportedOsVersionBlocked?: boolean;
/**
* When TRUE, inidicates that Intune must receive data from the Mobile Threat Defense partner prior to marking a device
* compliant for Windows. When FALSE, inidicates that Intune may make a device compliant without receiving data from the
* Mobile Threat Defense partner for Windows. Default value is FALSE.
*/
windowsDeviceBlockedOnMissingPartnerData?: boolean;
/**
* When TRUE, inidicates that data from the Mobile Threat Defense partner can be used during compliance evaluations for
* Windows. When FALSE, inidicates that data from the Mobile Threat Defense partner should not be used during compliance
* evaluations for Windows. Default value is FALSE.
*/
windowsEnabled?: boolean;
}
export interface ApplePushNotificationCertificate extends Entity {
// Apple Id of the account used to create the MDM push certificate.
appleIdentifier?: NullableOption<string>;
// Not yet documented
certificate?: NullableOption<string>;
// Certificate serial number. This property is read-only.
certificateSerialNumber?: NullableOption<string>;
// The reason the certificate upload failed.
certificateUploadFailureReason?: NullableOption<string>;
// The certificate upload status.
certificateUploadStatus?: NullableOption<string>;
// The expiration date and time for Apple push notification certificate.
expirationDateTime?: string;
// Last modified date and time for Apple push notification certificate.
lastModifiedDateTime?: string;
// Topic Id.
topicIdentifier?: NullableOption<string>;
}
export interface DetectedApp extends Entity {
// The number of devices that have installed this application
deviceCount?: number;
// Name of the discovered application. Read-only
displayName?: NullableOption<string>;
/**
* Indicates the operating system / platform of the discovered application. Some possible values are Windows, iOS, macOS.
* The default value is unknown (0). Possible values are: unknown, windows, windowsMobile, windowsHolographic, ios, macOS,
* chromeOS, androidOSP, androidDeviceAdministrator, androidWorkProfile, androidDedicatedAndFullyManaged,
* unknownFutureValue.
*/
platform?: DetectedAppPlatformType;
// Indicates the publisher of the discovered application. For example: 'Microsoft'. The default value is an empty string.
publisher?: NullableOption<string>;
// Discovered application size in bytes. Read-only
sizeInByte?: number;
// Version of the discovered application. Read-only
version?: NullableOption<string>;
// The devices that have the discovered application installed
managedDevices?: NullableOption<ManagedDevice[]>;
}
export interface ManagedDeviceOverview extends Entity {
// Distribution of Exchange Access State in Intune
deviceExchangeAccessStateSummary?: NullableOption<DeviceExchangeAccessStateSummary>;
// Device operating system summary.
deviceOperatingSystemSummary?: NullableOption<DeviceOperatingSystemSummary>;
// The number of devices enrolled in both MDM and EAS
dualEnrolledDeviceCount?: number;
// Total enrolled device count. Does not include PC devices managed via Intune PC Agent
enrolledDeviceCount?: number;
// The number of devices enrolled in MDM
mdmEnrolledCount?: number;
}
// tslint:disable-next-line: interface-name
export interface ImportedWindowsAutopilotDeviceIdentity extends Entity {
// UPN of the user the device will be assigned
assignedUserPrincipalName?: NullableOption<string>;
// Group Tag of the Windows autopilot device.
groupTag?: NullableOption<string>;
// Hardware Blob of the Windows autopilot device.
hardwareIdentifier?: NullableOption<string>;
// The Import Id of the Windows autopilot device.
importId?: NullableOption<string>;
// Product Key of the Windows autopilot device.
productKey?: NullableOption<string>;
// Serial number of the Windows autopilot device.
serialNumber?: NullableOption<string>;
// Current state of the imported device.
state?: NullableOption<ImportedWindowsAutopilotDeviceIdentityState>;
}
export interface WindowsAutopilotDeviceIdentity extends Entity {
// Addressable user name.
addressableUserName?: NullableOption<string>;
// AAD Device ID - to be deprecated
azureActiveDirectoryDeviceId?: NullableOption<string>;
// Display Name
displayName?: NullableOption<string>;
/**
* Intune enrollment state of the Windows autopilot device. Possible values are: unknown, enrolled, pendingReset, failed,
* notContacted.
*/
enrollmentState?: EnrollmentState;
// Group Tag of the Windows autopilot device.
groupTag?: NullableOption<string>;
// Intune Last Contacted Date Time of the Windows autopilot device.
lastContactedDateTime?: string;
// Managed Device ID
managedDeviceId?: NullableOption<string>;
// Oem manufacturer of the Windows autopilot device.
manufacturer?: NullableOption<string>;
// Model name of the Windows autopilot device.
model?: NullableOption<string>;
// Product Key of the Windows autopilot device.
productKey?: NullableOption<string>;
// Purchase Order Identifier of the Windows autopilot device.
purchaseOrderIdentifier?: NullableOption<string>;
// Resource Name.
resourceName?: NullableOption<string>;
// Serial number of the Windows autopilot device.
serialNumber?: NullableOption<string>;
// SKU Number
skuNumber?: NullableOption<string>;
// System Family
systemFamily?: NullableOption<string>;
// User Principal Name.
userPrincipalName?: NullableOption<string>;
}
export interface NotificationMessageTemplate extends Entity {
/**
* The Message Template Branding Options. Branding is defined in the Intune Admin Console. Possible values are: none,
* includeCompanyLogo, includeCompanyName, includeContactInformation, includeCompanyPortalLink, includeDeviceDetails,
* unknownFutureValue.
*/
brandingOptions?: NotificationTemplateBrandingOptions;
// The default locale to fallback onto when the requested locale is not available.
defaultLocale?: NullableOption<string>;
// Display name for the Notification Message Template.
displayName?: string;
// DateTime the object was last modified.
lastModifiedDateTime?: string;
// List of Scope Tags for this Entity instance.
roleScopeTagIds?: NullableOption<string[]>;
// The list of localized messages for this Notification Message Template.
localizedNotificationMessages?: NullableOption<LocalizedNotificationMessage[]>;
}
export interface ResourceOperation extends Entity {
/**
* Type of action this operation is going to perform. The actionName should be concise and limited to as few words as
* possible.
*/
actionName?: NullableOption<string>;
/**
* Description of the resource operation. The description is used in mouse-over text for the operation when shown in the
* Azure Portal.
*/
description?: NullableOption<string>;
// Name of the Resource this operation is performed on.
resourceName?: NullableOption<string>;
}
export interface RoleAssignment extends Entity {
// Description of the Role Assignment.
description?: NullableOption<string>;
// The display or friendly name of the role Assignment.
displayName?: NullableOption<string>;
// List of ids of role scope member security groups. These are IDs from Azure Active Directory.
resourceScopes?: NullableOption<string[]>;
// Role definition this assignment is part of.
roleDefinition?: NullableOption<RoleDefinition>;
}
export interface DeviceAndAppManagementRoleAssignment extends RoleAssignment {
// The list of ids of role member security groups. These are IDs from Azure Active Directory.
members?: NullableOption<string[]>;
}
export interface RoleDefinition extends Entity {
// Description of the Role definition.
description?: NullableOption<string>;
// Display Name of the Role definition.
displayName?: NullableOption<string>;
// Type of Role. Set to True if it is built-in, or set to False if it is a custom role definition.
isBuiltIn?: boolean;
/**
* List of Role Permissions this role is allowed to perform. These must match the actionName that is defined as part of
* the rolePermission.
*/
rolePermissions?: NullableOption<RolePermission[]>;
// List of Role assignments for this role definition.
roleAssignments?: NullableOption<RoleAssignment[]>;
}
export interface RemoteAssistancePartner extends Entity {
// Display name of the partner.
displayName?: NullableOption<string>;
// Timestamp of the last request sent to Intune by the TEM partner.
lastConnectionDateTime?: string;
/**
* A friendly description of the current TeamViewer connector status. Possible values are: notOnboarded, onboarding,
* onboarded.
*/
onboardingStatus?: RemoteAssistanceOnboardingStatus;
// URL of the partner's onboarding portal, where an administrator can configure their Remote Assistance service.
onboardingUrl?: NullableOption<string>;
}
export interface DeviceManagementReports extends Entity {
// Entity representing a job to export a report
exportJobs?: NullableOption<DeviceManagementExportJob[]>;
}
export interface TelecomExpenseManagementPartner extends Entity {
// Whether the partner's AAD app has been authorized to access Intune.
appAuthorized?: boolean;
// Display name of the TEM partner.
displayName?: NullableOption<string>;
// Whether Intune's connection to the TEM service is currently enabled or disabled.
enabled?: boolean;
// Timestamp of the last request sent to Intune by the TEM partner.
lastConnectionDateTime?: string;
// URL of the TEM partner's administrative control panel, where an administrator can configure their TEM service.
url?: NullableOption<string>;
}
export interface WindowsInformationProtectionAppLearningSummary extends Entity {
// Application Name
applicationName?: NullableOption<string>;
// Application Type. Possible values are: universal, desktop.
applicationType?: ApplicationType;
// Device Count
deviceCount?: number;
}
export interface WindowsInformationProtectionNetworkLearningSummary extends Entity {
// Device Count
deviceCount?: number;
// Website url
url?: NullableOption<string>;
}
export interface DeviceInstallState extends Entity {
// Device Id.
deviceId?: NullableOption<string>;
// Device name.
deviceName?: NullableOption<string>;
// The error code for install failures.
errorCode?: NullableOption<string>;
/**
* The install state of the eBook. Possible values are: notApplicable, installed, failed, notInstalled, uninstallFailed,
* unknown.
*/
installState?: InstallState;
// Last sync date and time.
lastSyncDateTime?: string;
// OS Description.
osDescription?: NullableOption<string>;
// OS Version.
osVersion?: NullableOption<string>;
// Device User Name.
userName?: NullableOption<string>;
}
export interface EBookInstallSummary extends Entity {
// Number of Devices that have failed to install this book.
failedDeviceCount?: number;
// Number of Users that have 1 or more device that failed to install this book.
failedUserCount?: number;
// Number of Devices that have successfully installed this book.
installedDeviceCount?: number;
// Number of Users whose devices have all succeeded to install this book.
installedUserCount?: number;
// Number of Devices that does not have this book installed.
notInstalledDeviceCount?: number;
// Number of Users that did not install this book.
notInstalledUserCount?: number;
}
// tslint:disable-next-line: interface-name
export interface IosVppEBook extends ManagedEBook {
// The Apple ID associated with Vpp token.
appleId?: NullableOption<string>;
// Genres.
genres?: NullableOption<string[]>;
// Language.
language?: NullableOption<string>;
// Seller.
seller?: NullableOption<string>;
// Total license count.
totalLicenseCount?: number;
// Used license count.
usedLicenseCount?: number;
// The Vpp token's organization name.
vppOrganizationName?: NullableOption<string>;
// The Vpp token ID.
vppTokenId?: string;
}
export interface ManagedEBookAssignment extends Entity {
// The install intent for eBook. Possible values are: available, required, uninstall, availableWithoutEnrollment.
installIntent?: InstallIntent;
// The assignment target for eBook.
target?: NullableOption<DeviceAndAppManagementAssignmentTarget>;
}
// tslint:disable-next-line: interface-name no-empty-interface
export interface IosVppEBookAssignment extends ManagedEBookAssignment {}
export interface UserInstallStateSummary extends Entity {
// Failed Device Count.
failedDeviceCount?: number;
// Installed Device Count.
installedDeviceCount?: number;
// Not installed device count.
notInstalledDeviceCount?: number;
// User name.
userName?: NullableOption<string>;
// The install state of the eBook.
deviceStates?: NullableOption<DeviceInstallState[]>;
}
export interface TermsAndConditionsAcceptanceStatus extends Entity {
// DateTime when the terms were last accepted by the user.
acceptedDateTime?: string;
// Most recent version number of the T&amp;C accepted by the user.
acceptedVersion?: number;
// Display name of the user whose acceptance the entity represents.
userDisplayName?: NullableOption<string>;
// The userPrincipalName of the User that accepted the term.
userPrincipalName?: NullableOption<string>;
// Navigation link to the terms and conditions that are assigned.
termsAndConditions?: NullableOption<TermsAndConditions>;
}
export interface TermsAndConditionsAssignment extends Entity {
// Assignment target that the T&amp;C policy is assigned to.
target?: NullableOption<DeviceAndAppManagementAssignmentTarget>;
}
export interface AndroidCompliancePolicy extends DeviceCompliancePolicy {
// Require that devices have enabled device threat protection.
deviceThreatProtectionEnabled?: boolean;
/**
* Require Mobile Threat Protection minimum risk level to report noncompliance. Possible values are: unavailable, secured,
* low, medium, high, notSet.
*/
deviceThreatProtectionRequiredSecurityLevel?: DeviceThreatProtectionLevel;
// Minimum Android security patch level.
minAndroidSecurityPatchLevel?: NullableOption<string>;
// Maximum Android version.
osMaximumVersion?: NullableOption<string>;
// Minimum Android version.
osMinimumVersion?: NullableOption<string>;
// Number of days before the password expires. Valid values 1 to 365
passwordExpirationDays?: NullableOption<number>;
// Minimum password length. Valid values 4 to 16
passwordMinimumLength?: NullableOption<number>;
// Minutes of inactivity before a password is required.
passwordMinutesOfInactivityBeforeLock?: NullableOption<number>;
// Number of previous passwords to block. Valid values 1 to 24
passwordPreviousPasswordBlockCount?: NullableOption<number>;
// Require a password to unlock device.
passwordRequired?: boolean;
/**
* Type of characters in password. Possible values are: deviceDefault, alphabetic, alphanumeric, alphanumericWithSymbols,
* lowSecurityBiometric, numeric, numericComplex, any.
*/
passwordRequiredType?: AndroidRequiredPasswordType;
// Devices must not be jailbroken or rooted.
securityBlockJailbrokenDevices?: boolean;
// Disable USB debugging on Android devices.
securityDisableUsbDebugging?: boolean;
// Require that devices disallow installation of apps from unknown sources.
securityPreventInstallAppsFromUnknownSources?: boolean;
// Require the device to pass the Company Portal client app runtime integrity check.
securityRequireCompanyPortalAppIntegrity?: boolean;
// Require Google Play Services to be installed and enabled on the device.
securityRequireGooglePlayServices?: boolean;
// Require the device to pass the SafetyNet basic integrity check.
securityRequireSafetyNetAttestationBasicIntegrity?: boolean;
// Require the device to pass the SafetyNet certified device check.
securityRequireSafetyNetAttestationCertifiedDevice?: boolean;
/**
* Require the device to have up to date security providers. The device will require Google Play Services to be enabled
* and up to date.
*/
securityRequireUpToDateSecurityProviders?: boolean;
// Require the Android Verify apps feature is turned on.
securityRequireVerifyApps?: boolean;
// Require encryption on Android devices.
storageRequireEncryption?: boolean;
}
export interface AndroidCustomConfiguration extends DeviceConfiguration {
// OMA settings. This collection can contain a maximum of 1000 elements.
omaSettings?: NullableOption<OmaSetting[]>;
}
export interface AndroidGeneralDeviceConfiguration extends DeviceConfiguration {
// Indicates whether or not to block clipboard sharing to copy and paste between applications.
appsBlockClipboardSharing?: boolean;
// Indicates whether or not to block copy and paste within applications.
appsBlockCopyPaste?: boolean;
// Indicates whether or not to block the YouTube app.
appsBlockYouTube?: boolean;
// List of apps to be hidden on the KNOX device. This collection can contain a maximum of 500 elements.
appsHideList?: NullableOption<AppListItem[]>;
// List of apps which can be installed on the KNOX device. This collection can contain a maximum of 500 elements.
appsInstallAllowList?: NullableOption<AppListItem[]>;
/**
* List of apps which are blocked from being launched on the KNOX device. This collection can contain a maximum of 500
* elements.
*/
appsLaunchBlockList?: NullableOption<AppListItem[]>;
// Indicates whether or not to block Bluetooth.
bluetoothBlocked?: boolean;
// Indicates whether or not to block the use of the camera.
cameraBlocked?: boolean;
// Indicates whether or not to block data roaming.
cellularBlockDataRoaming?: boolean;
// Indicates whether or not to block SMS/MMS messaging.
cellularBlockMessaging?: boolean;
// Indicates whether or not to block voice roaming.
cellularBlockVoiceRoaming?: boolean;
// Indicates whether or not to block syncing Wi-Fi tethering.
cellularBlockWiFiTethering?: boolean;
// Type of list that is in the CompliantAppsList. Possible values are: none, appsInListCompliant, appsNotInListCompliant.
compliantAppListType?: AppListType;
/**
* List of apps in the compliance (either allow list or block list, controlled by CompliantAppListType). This collection
* can contain a maximum of 10000 elements.
*/
compliantAppsList?: NullableOption<AppListItem[]>;
// Indicates whether or not to allow device sharing mode.
deviceSharingAllowed?: boolean;
// Indicates whether or not to block diagnostic data submission.
diagnosticDataBlockSubmission?: boolean;
// Indicates whether or not to block user performing a factory reset.
factoryResetBlocked?: boolean;
// Indicates whether or not to block Google account auto sync.
googleAccountBlockAutoSync?: boolean;
// Indicates whether or not to block the Google Play store.
googlePlayStoreBlocked?: boolean;
/**
* A list of apps that will be allowed to run when the device is in Kiosk Mode. This collection can contain a maximum of
* 500 elements.
*/
kioskModeApps?: NullableOption<AppListItem[]>;
// Indicates whether or not to block the screen sleep button while in Kiosk Mode.
kioskModeBlockSleepButton?: boolean;
// Indicates whether or not to block the volume buttons while in Kiosk Mode.
kioskModeBlockVolumeButtons?: boolean;
// Indicates whether or not to block location services.
locationServicesBlocked?: boolean;
// Indicates whether or not to block Near-Field Communication.
nfcBlocked?: boolean;
// Indicates whether or not to block fingerprint unlock.
passwordBlockFingerprintUnlock?: boolean;
// Indicates whether or not to block Smart Lock and other trust agents.
passwordBlockTrustAgents?: boolean;
// Number of days before the password expires. Valid values 1 to 365
passwordExpirationDays?: NullableOption<number>;
// Minimum length of passwords. Valid values 4 to 16
passwordMinimumLength?: NullableOption<number>;
// Minutes of inactivity before the screen times out.
passwordMinutesOfInactivityBeforeScreenTimeout?: NullableOption<number>;
// Number of previous passwords to block. Valid values 0 to 24
passwordPreviousPasswordBlockCount?: NullableOption<number>;
// Indicates whether or not to require a password.
passwordRequired?: boolean;
/**
* Type of password that is required. Possible values are: deviceDefault, alphabetic, alphanumeric,
* alphanumericWithSymbols, lowSecurityBiometric, numeric, numericComplex, any.
*/
passwordRequiredType?: AndroidRequiredPasswordType;
// Number of sign in failures allowed before factory reset. Valid values 1 to 16
passwordSignInFailureCountBeforeFactoryReset?: NullableOption<number>;
// Indicates whether or not to block powering off the device.
powerOffBlocked?: boolean;
// Indicates whether or not to block screenshots.
screenCaptureBlocked?: boolean;
// Require the Android Verify apps feature is turned on.
securityRequireVerifyApps?: boolean;
// Indicates whether or not to block Google Backup.
storageBlockGoogleBackup?: boolean;
// Indicates whether or not to block removable storage usage.
storageBlockRemovableStorage?: boolean;
// Indicates whether or not to require device encryption.
storageRequireDeviceEncryption?: boolean;
// Indicates whether or not to require removable storage encryption.
storageRequireRemovableStorageEncryption?: boolean;
// Indicates whether or not to block the use of the Voice Assistant.
voiceAssistantBlocked?: boolean;
// Indicates whether or not to block voice dialing.
voiceDialingBlocked?: boolean;
// Indicates whether or not to block the web browser's auto fill feature.
webBrowserBlockAutofill?: boolean;
// Indicates whether or not to block the web browser.
webBrowserBlocked?: boolean;
// Indicates whether or not to block JavaScript within the web browser.
webBrowserBlockJavaScript?: boolean;
// Indicates whether or not to block popups within the web browser.
webBrowserBlockPopups?: boolean;
/**
* Cookie settings within the web browser. Possible values are: browserDefault, blockAlways, allowCurrentWebSite,
* allowFromWebsitesVisited, allowAlways.
*/
webBrowserCookieSettings?: WebBrowserCookieSettings;
// Indicates whether or not to block syncing Wi-Fi.
wiFiBlocked?: boolean;
}
export interface AndroidWorkProfileCompliancePolicy extends DeviceCompliancePolicy {
// Require that devices have enabled device threat protection.
deviceThreatProtectionEnabled?: boolean;
/**
* Require Mobile Threat Protection minimum risk level to report noncompliance. Possible values are: unavailable, secured,
* low, medium, high, notSet.
*/
deviceThreatProtectionRequiredSecurityLevel?: DeviceThreatProtectionLevel;
// Minimum Android security patch level.
minAndroidSecurityPatchLevel?: NullableOption<string>;
// Maximum Android version.
osMaximumVersion?: NullableOption<string>;
// Minimum Android version.
osMinimumVersion?: NullableOption<string>;
// Number of days before the password expires. Valid values 1 to 365
passwordExpirationDays?: NullableOption<number>;
// Minimum password length. Valid values 4 to 16
passwordMinimumLength?: NullableOption<number>;
// Minutes of inactivity before a password is required.
passwordMinutesOfInactivityBeforeLock?: NullableOption<number>;
// Number of previous passwords to block. Valid values 1 to 24
passwordPreviousPasswordBlockCount?: NullableOption<number>;
// Require a password to unlock device.
passwordRequired?: boolean;
/**
* Type of characters in password. Possible values are: deviceDefault, alphabetic, alphanumeric, alphanumericWithSymbols,
* lowSecurityBiometric, numeric, numericComplex, any.
*/
passwordRequiredType?: AndroidRequiredPasswordType;
// Devices must not be jailbroken or rooted.
securityBlockJailbrokenDevices?: boolean;
// Disable USB debugging on Android devices.
securityDisableUsbDebugging?: boolean;
// Require that devices disallow installation of apps from unknown sources.
securityPreventInstallAppsFromUnknownSources?: boolean;
// Require the device to pass the Company Portal client app runtime integrity check.
securityRequireCompanyPortalAppIntegrity?: boolean;
// Require Google Play Services to be installed and enabled on the device.
securityRequireGooglePlayServices?: boolean;
// Require the device to pass the SafetyNet basic integrity check.
securityRequireSafetyNetAttestationBasicIntegrity?: boolean;
// Require the device to pass the SafetyNet certified device check.
securityRequireSafetyNetAttestationCertifiedDevice?: boolean;
/**
* Require the device to have up to date security providers. The device will require Google Play Services to be enabled
* and up to date.
*/
securityRequireUpToDateSecurityProviders?: boolean;
// Require the Android Verify apps feature is turned on.
securityRequireVerifyApps?: boolean;
// Require encryption on Android devices.
storageRequireEncryption?: boolean;
}
export interface AndroidWorkProfileCustomConfiguration extends DeviceConfiguration {
// OMA settings. This collection can contain a maximum of 500 elements.
omaSettings?: NullableOption<OmaSetting[]>;
}
export interface AndroidWorkProfileGeneralDeviceConfiguration extends DeviceConfiguration {
// Indicates whether or not to block fingerprint unlock.
passwordBlockFingerprintUnlock?: boolean;
// Indicates whether or not to block Smart Lock and other trust agents.
passwordBlockTrustAgents?: boolean;
// Number of days before the password expires. Valid values 1 to 365
passwordExpirationDays?: NullableOption<number>;
// Minimum length of passwords. Valid values 4 to 16
passwordMinimumLength?: NullableOption<number>;
// Minutes of inactivity before the screen times out.
passwordMinutesOfInactivityBeforeScreenTimeout?: NullableOption<number>;
// Number of previous passwords to block. Valid values 0 to 24
passwordPreviousPasswordBlockCount?: NullableOption<number>;
/**
* Type of password that is required. Possible values are: deviceDefault, lowSecurityBiometric, required, atLeastNumeric,
* numericComplex, atLeastAlphabetic, atLeastAlphanumeric, alphanumericWithSymbols.
*/
passwordRequiredType?: AndroidWorkProfileRequiredPasswordType;
// Number of sign in failures allowed before factory reset. Valid values 1 to 16
passwordSignInFailureCountBeforeFactoryReset?: NullableOption<number>;
// Require the Android Verify apps feature is turned on.
securityRequireVerifyApps?: boolean;
// Block users from adding/removing accounts in work profile.
workProfileBlockAddingAccounts?: boolean;
// Block work profile camera.
workProfileBlockCamera?: boolean;
// Block display work profile caller ID in personal profile.
workProfileBlockCrossProfileCallerId?: boolean;
// Block work profile contacts availability in personal profile.
workProfileBlockCrossProfileContactsSearch?: boolean;
// Boolean that indicates if the setting disallow cross profile copy/paste is enabled.
workProfileBlockCrossProfileCopyPaste?: boolean;
// Indicates whether or not to block notifications while device locked.
workProfileBlockNotificationsWhileDeviceLocked?: boolean;
// Block screen capture in work profile.
workProfileBlockScreenCapture?: boolean;
// Allow bluetooth devices to access enterprise contacts.
workProfileBluetoothEnableContactSharing?: boolean;
/**
* Type of data sharing that is allowed. Possible values are: deviceDefault, preventAny, allowPersonalToWork,
* noRestrictions.
*/
workProfileDataSharingType?: AndroidWorkProfileCrossProfileDataSharingType;
// Type of password that is required. Possible values are: deviceDefault, prompt, autoGrant, autoDeny.
workProfileDefaultAppPermissionPolicy?: AndroidWorkProfileDefaultAppPermissionPolicyType;
// Indicates whether or not to block fingerprint unlock for work profile.
workProfilePasswordBlockFingerprintUnlock?: boolean;
// Indicates whether or not to block Smart Lock and other trust agents for work profile.
workProfilePasswordBlockTrustAgents?: boolean;
// Number of days before the work profile password expires. Valid values 1 to 365
workProfilePasswordExpirationDays?: NullableOption<number>;
// Minimum length of work profile password. Valid values 4 to 16
workProfilePasswordMinimumLength?: NullableOption<number>;
// Minimum # of letter characters required in work profile password. Valid values 1 to 10
workProfilePasswordMinLetterCharacters?: NullableOption<number>;
// Minimum # of lower-case characters required in work profile password. Valid values 1 to 10
workProfilePasswordMinLowerCaseCharacters?: NullableOption<number>;
// Minimum # of non-letter characters required in work profile password. Valid values 1 to 10
workProfilePasswordMinNonLetterCharacters?: NullableOption<number>;
// Minimum # of numeric characters required in work profile password. Valid values 1 to 10
workProfilePasswordMinNumericCharacters?: NullableOption<number>;
// Minimum # of symbols required in work profile password. Valid values 1 to 10
workProfilePasswordMinSymbolCharacters?: NullableOption<number>;
// Minimum # of upper-case characters required in work profile password. Valid values 1 to 10
workProfilePasswordMinUpperCaseCharacters?: NullableOption<number>;
// Minutes of inactivity before the screen times out.
workProfilePasswordMinutesOfInactivityBeforeScreenTimeout?: NullableOption<number>;
// Number of previous work profile passwords to block. Valid values 0 to 24
workProfilePasswordPreviousPasswordBlockCount?: NullableOption<number>;
/**
* Type of work profile password that is required. Possible values are: deviceDefault, lowSecurityBiometric, required,
* atLeastNumeric, numericComplex, atLeastAlphabetic, atLeastAlphanumeric, alphanumericWithSymbols.
*/
workProfilePasswordRequiredType?: AndroidWorkProfileRequiredPasswordType;
// Number of sign in failures allowed before work profile is removed and all corporate data deleted. Valid values 1 to 16
workProfilePasswordSignInFailureCountBeforeFactoryReset?: NullableOption<number>;
// Password is required or not for work profile
workProfileRequirePassword?: boolean;
}
// tslint:disable-next-line: no-empty-interface
export interface AppleDeviceFeaturesConfigurationBase extends DeviceConfiguration {}
export interface DeviceComplianceActionItem extends Entity {
/**
* What action to take. Possible values are: noAction, notification, block, retire, wipe, removeResourceAccessProfiles,
* pushNotification.
*/
actionType?: DeviceComplianceActionType;
// Number of hours to wait till the action will be enforced. Valid values 0 to 8760
gracePeriodHours?: number;
// A list of group IDs to speicify who to CC this notification message to.
notificationMessageCCList?: NullableOption<string[]>;
// What notification Message template to use
notificationTemplateId?: NullableOption<string>;
}
export interface DeviceComplianceDeviceOverview extends Entity {
// Version of the policy for that overview
configurationVersion?: number;
// Number of error devices
errorCount?: number;
// Number of failed devices
failedCount?: number;
// Last update time
lastUpdateDateTime?: string;
// Number of not applicable devices
notApplicableCount?: number;
// Number of pending devices
pendingCount?: number;
// Number of succeeded devices
successCount?: number;
}
export interface DeviceComplianceDeviceStatus extends Entity {
// The DateTime when device compliance grace period expires
complianceGracePeriodExpirationDateTime?: string;
// Device name of the DevicePolicyStatus.
deviceDisplayName?: NullableOption<string>;
// The device model that is being reported
deviceModel?: NullableOption<string>;
// Last modified date time of the policy report.
lastReportedDateTime?: string;
/**
* Compliance status of the policy report. Possible values are: unknown, notApplicable, compliant, remediated,
* nonCompliant, error, conflict, notAssigned.
*/
status?: ComplianceStatus;
// The User Name that is being reported
userName?: NullableOption<string>;
// UserPrincipalName.
userPrincipalName?: NullableOption<string>;
}
export interface DeviceCompliancePolicyAssignment extends Entity {
// Target for the compliance policy assignment.
target?: NullableOption<DeviceAndAppManagementAssignmentTarget>;
}
export interface SettingStateDeviceSummary extends Entity {
// Device Compliant count for the setting
compliantDeviceCount?: number;
// Device conflict error count for the setting
conflictDeviceCount?: number;
// Device error count for the setting
errorDeviceCount?: number;
// Name of the InstancePath for the setting
instancePath?: NullableOption<string>;
// Device NonCompliant count for the setting
nonCompliantDeviceCount?: number;
// Device Not Applicable count for the setting
notApplicableDeviceCount?: number;
// Device Compliant count for the setting
remediatedDeviceCount?: number;
// Name of the setting
settingName?: NullableOption<string>;
// Device Unkown count for the setting
unknownDeviceCount?: number;
}
export interface DeviceComplianceScheduledActionForRule extends Entity {
/**
* Name of the rule which this scheduled action applies to. Currently scheduled actions are created per policy instead of
* per rule, thus RuleName is always set to default value PasswordRequired.
*/
ruleName?: NullableOption<string>;
/**
* The list of scheduled action configurations for this compliance policy. Compliance policy must have one and only one
* block scheduled action.
*/
scheduledActionConfigurations?: NullableOption<DeviceComplianceActionItem[]>;
}
export interface DeviceComplianceUserStatus extends Entity {
// Devices count for that user.
devicesCount?: number;
// Last modified date time of the policy report.
lastReportedDateTime?: string;
/**
* Compliance status of the policy report. Possible values are: unknown, notApplicable, compliant, remediated,
* nonCompliant, error, conflict, notAssigned.
*/
status?: ComplianceStatus;
// User name of the DevicePolicyStatus.
userDisplayName?: NullableOption<string>;
// UserPrincipalName.
userPrincipalName?: NullableOption<string>;
}
export interface DeviceComplianceUserOverview extends Entity {
// Version of the policy for that overview
configurationVersion?: number;
// Number of error Users
errorCount?: number;
// Number of failed Users
failedCount?: number;
// Last update time
lastUpdateDateTime?: string;
// Number of not applicable users
notApplicableCount?: number;
// Number of pending Users
pendingCount?: number;
// Number of succeeded Users
successCount?: number;
}
export interface DeviceComplianceSettingState extends Entity {
// The DateTime when device compliance grace period expires
complianceGracePeriodExpirationDateTime?: string;
// The Device Id that is being reported
deviceId?: NullableOption<string>;
// The device model that is being reported
deviceModel?: NullableOption<string>;
// The Device Name that is being reported
deviceName?: NullableOption<string>;
// The setting class name and property name.
setting?: NullableOption<string>;
// The Setting Name that is being reported
settingName?: NullableOption<string>;
/**
* The compliance state of the setting. Possible values are: unknown, notApplicable, compliant, remediated, nonCompliant,
* error, conflict, notAssigned.
*/
state?: ComplianceStatus;
// The User email address that is being reported
userEmail?: NullableOption<string>;
// The user Id that is being reported
userId?: NullableOption<string>;
// The User Name that is being reported
userName?: NullableOption<string>;
// The User PrincipalName that is being reported
userPrincipalName?: NullableOption<string>;
}
export interface DeviceCompliancePolicyState extends Entity {
// The name of the policy for this policyBase
displayName?: NullableOption<string>;
// Platform type that the policy applies to
platformType?: PolicyPlatformType;
// Count of how many setting a policy holds
settingCount?: number;
settingStates?: NullableOption<DeviceCompliancePolicySettingState[]>;
// The compliance state of the policy
state?: ComplianceStatus;
// The version of the policy
version?: number;
}
export interface DeviceConfigurationAssignment extends Entity {
// The assignment target for the device configuration.
target?: NullableOption<DeviceAndAppManagementAssignmentTarget>;
}
export interface DeviceConfigurationDeviceStatus extends Entity {
// The DateTime when device compliance grace period expires
complianceGracePeriodExpirationDateTime?: string;
// Device name of the DevicePolicyStatus.
deviceDisplayName?: NullableOption<string>;
// The device model that is being reported
deviceModel?: NullableOption<string>;
// Last modified date time of the policy report.
lastReportedDateTime?: string;
/**
* Compliance status of the policy report. Possible values are: unknown, notApplicable, compliant, remediated,
* nonCompliant, error, conflict, notAssigned.
*/
status?: ComplianceStatus;
// The User Name that is being reported
userName?: NullableOption<string>;
// UserPrincipalName.
userPrincipalName?: NullableOption<string>;
}
export interface DeviceConfigurationDeviceOverview extends Entity {
// Version of the policy for that overview
configurationVersion?: number;
// Number of error devices
errorCount?: number;
// Number of failed devices
failedCount?: number;
// Last update time
lastUpdateDateTime?: string;
// Number of not applicable devices
notApplicableCount?: number;
// Number of pending devices
pendingCount?: number;
// Number of succeeded devices
successCount?: number;
}
export interface DeviceConfigurationUserStatus extends Entity {
// Devices count for that user.
devicesCount?: number;
// Last modified date time of the policy report.
lastReportedDateTime?: string;
/**
* Compliance status of the policy report. Possible values are: unknown, notApplicable, compliant, remediated,
* nonCompliant, error, conflict, notAssigned.
*/
status?: ComplianceStatus;
// User name of the DevicePolicyStatus.
userDisplayName?: NullableOption<string>;
// UserPrincipalName.
userPrincipalName?: NullableOption<string>;
}
export interface DeviceConfigurationUserOverview extends Entity {
// Version of the policy for that overview
configurationVersion?: number;
// Number of error Users
errorCount?: number;
// Number of failed Users
failedCount?: number;
// Last update time
lastUpdateDateTime?: string;
// Number of not applicable users
notApplicableCount?: number;
// Number of pending Users
pendingCount?: number;
// Number of succeeded Users
successCount?: number;
}
export interface DeviceConfigurationState extends Entity {
// The name of the policy for this policyBase
displayName?: NullableOption<string>;
// Platform type that the policy applies to
platformType?: PolicyPlatformType;
// Count of how many setting a policy holds
settingCount?: number;
settingStates?: NullableOption<DeviceConfigurationSettingState[]>;
// The compliance state of the policy
state?: ComplianceStatus;
// The version of the policy
version?: number;
}
export interface EditionUpgradeConfiguration extends DeviceConfiguration {
// Edition Upgrade License File Content.
license?: NullableOption<string>;
// Edition Upgrade License Type. Possible values are: productKey, licenseFile.
licenseType?: EditionUpgradeLicenseType;
// Edition Upgrade Product Key.
productKey?: NullableOption<string>;
/**
* Edition Upgrade Target Edition. Possible values are: windows10Enterprise, windows10EnterpriseN, windows10Education,
* windows10EducationN, windows10MobileEnterprise, windows10HolographicEnterprise, windows10Professional,
* windows10ProfessionalN, windows10ProfessionalEducation, windows10ProfessionalEducationN,
* windows10ProfessionalWorkstation, windows10ProfessionalWorkstationN.
*/
targetEdition?: Windows10EditionType;
}
// tslint:disable-next-line: interface-name no-empty-interface
export interface IosCertificateProfile extends DeviceConfiguration {}
// tslint:disable-next-line: interface-name
export interface IosCompliancePolicy extends DeviceCompliancePolicy {
// Require that devices have enabled device threat protection .
deviceThreatProtectionEnabled?: boolean;
/**
* Require Mobile Threat Protection minimum risk level to report noncompliance. Possible values are: unavailable, secured,
* low, medium, high, notSet.
*/
deviceThreatProtectionRequiredSecurityLevel?: DeviceThreatProtectionLevel;
// Indicates whether or not to require a managed email profile.
managedEmailProfileRequired?: boolean;
// Maximum IOS version.
osMaximumVersion?: NullableOption<string>;
// Minimum IOS version.
osMinimumVersion?: NullableOption<string>;
// Indicates whether or not to block simple passcodes.
passcodeBlockSimple?: boolean;
// Number of days before the passcode expires. Valid values 1 to 65535
passcodeExpirationDays?: NullableOption<number>;
// The number of character sets required in the password.
passcodeMinimumCharacterSetCount?: NullableOption<number>;
// Minimum length of passcode. Valid values 4 to 14
passcodeMinimumLength?: NullableOption<number>;
// Minutes of inactivity before a passcode is required.
passcodeMinutesOfInactivityBeforeLock?: NullableOption<number>;
// Number of previous passcodes to block. Valid values 1 to 24
passcodePreviousPasscodeBlockCount?: NullableOption<number>;
// Indicates whether or not to require a passcode.
passcodeRequired?: boolean;
// The required passcode type. Possible values are: deviceDefault, alphanumeric, numeric.
passcodeRequiredType?: RequiredPasswordType;
// Devices must not be jailbroken or rooted.
securityBlockJailbrokenDevices?: boolean;
}
// tslint:disable-next-line: interface-name
export interface IosCustomConfiguration extends DeviceConfiguration {
// Payload. (UTF8 encoded byte array)
payload?: string;
// Payload file name (.mobileconfig
payloadFileName?: NullableOption<string>;
// Name that is displayed to the user.
payloadName?: string;
}
// tslint:disable-next-line: interface-name
export interface IosDeviceFeaturesConfiguration extends AppleDeviceFeaturesConfigurationBase {
// Asset tag information for the device, displayed on the login window and lock screen.
assetTagTemplate?: NullableOption<string>;
// A list of app and folders to appear on the Home Screen Dock. This collection can contain a maximum of 500 elements.
homeScreenDockIcons?: NullableOption<IosHomeScreenItem[]>;
// A list of pages on the Home Screen. This collection can contain a maximum of 500 elements.
homeScreenPages?: NullableOption<IosHomeScreenPage[]>;
// A footnote displayed on the login window and lock screen. Available in iOS 9.3.1 and later.
lockScreenFootnote?: NullableOption<string>;
/**
* Notification settings for each bundle id. Applicable to devices in supervised mode only (iOS 9.3 and later). This
* collection can contain a maximum of 500 elements.
*/
notificationSettings?: NullableOption<IosNotificationSettings[]>;
}
// tslint:disable-next-line: interface-name
export interface IosGeneralDeviceConfiguration extends DeviceConfiguration {
// Indicates whether or not to allow account modification when the device is in supervised mode.
accountBlockModification?: boolean;
// Indicates whether or not to allow activation lock when the device is in the supervised mode.
activationLockAllowWhenSupervised?: boolean;
// Indicates whether or not to allow AirDrop when the device is in supervised mode.
airDropBlocked?: boolean;
// Indicates whether or not to cause AirDrop to be considered an unmanaged drop target (iOS 9.0 and later).
airDropForceUnmanagedDropTarget?: boolean;
// Indicates whether or not to enforce all devices receiving AirPlay requests from this device to use a pairing password.
airPlayForcePairingPasswordForOutgoingRequests?: boolean;
// Indicates whether or not to block the user from using News when the device is in supervised mode (iOS 9.0 and later).
appleNewsBlocked?: boolean;
// Indicates whether or not to allow Apple Watch pairing when the device is in supervised mode (iOS 9.0 and later).
appleWatchBlockPairing?: boolean;
// Indicates whether or not to force a paired Apple Watch to use Wrist Detection (iOS 8.2 and later).
appleWatchForceWristDetection?: boolean;
/**
* Gets or sets the list of iOS apps allowed to autonomously enter Single App Mode. Supervised only. iOS 7.0 and later.
* This collection can contain a maximum of 500 elements.
*/
appsSingleAppModeList?: NullableOption<AppListItem[]>;
/**
* Indicates whether or not to block the automatic downloading of apps purchased on other devices when the device is in
* supervised mode (iOS 9.0 and later).
*/
appStoreBlockAutomaticDownloads?: boolean;
// Indicates whether or not to block the user from using the App Store. Requires a supervised device for iOS 13 and later.
appStoreBlocked?: boolean;
// Indicates whether or not to block the user from making in app purchases.
appStoreBlockInAppPurchases?: boolean;
/**
* Indicates whether or not to block the App Store app, not restricting installation through Host apps. Applies to
* supervised mode only (iOS 9.0 and later).
*/
appStoreBlockUIAppInstallation?: boolean;
// Indicates whether or not to require a password when using the app store.
appStoreRequirePassword?: boolean;
/**
* List of apps in the visibility list (either visible/launchable apps list or hidden/unlaunchable apps list, controlled
* by AppsVisibilityListType) (iOS 9.3 and later). This collection can contain a maximum of 10000 elements.
*/
appsVisibilityList?: NullableOption<AppListItem[]>;
// Type of list that is in the AppsVisibilityList. Possible values are: none, appsInListCompliant, appsNotInListCompliant.
appsVisibilityListType?: AppListType;
/**
* Indicates whether or not to allow modification of Bluetooth settings when the device is in supervised mode (iOS 10.0
* and later).
*/
bluetoothBlockModification?: boolean;
/**
* Indicates whether or not to block the user from accessing the camera of the device. Requires a supervised device for
* iOS 13 and later.
*/
cameraBlocked?: boolean;
// Indicates whether or not to block data roaming.
cellularBlockDataRoaming?: boolean;
// Indicates whether or not to block global background fetch while roaming.
cellularBlockGlobalBackgroundFetchWhileRoaming?: boolean;
// Indicates whether or not to allow changes to cellular app data usage settings when the device is in supervised mode.
cellularBlockPerAppDataModification?: boolean;
// Indicates whether or not to block Personal Hotspot.
cellularBlockPersonalHotspot?: boolean;
// Indicates whether or not to block voice roaming.
cellularBlockVoiceRoaming?: boolean;
// Indicates whether or not to block untrusted TLS certificates.
certificatesBlockUntrustedTlsCertificates?: boolean;
/**
* Indicates whether or not to allow remote screen observation by Classroom app when the device is in supervised mode (iOS
* 9.3 and later).
*/
classroomAppBlockRemoteScreenObservation?: boolean;
/**
* Indicates whether or not to automatically give permission to the teacher of a managed course on the Classroom app to
* view a student's screen without prompting when the device is in supervised mode.
*/
classroomAppForceUnpromptedScreenObservation?: boolean;
// List that is in the AppComplianceList. Possible values are: none, appsInListCompliant, appsNotInListCompliant.
compliantAppListType?: AppListType;
/**
* List of apps in the compliance (either allow list or block list, controlled by CompliantAppListType). This collection
* can contain a maximum of 10000 elements.
*/
compliantAppsList?: NullableOption<AppListItem[]>;
/**
* Indicates whether or not to block the user from installing configuration profiles and certificates interactively when
* the device is in supervised mode.
*/
configurationProfileBlockChanges?: boolean;
// Indicates whether or not to block definition lookup when the device is in supervised mode (iOS 8.1.3 and later ).
definitionLookupBlocked?: boolean;
/**
* Indicates whether or not to allow the user to enables restrictions in the device settings when the device is in
* supervised mode.
*/
deviceBlockEnableRestrictions?: boolean;
/**
* Indicates whether or not to allow the use of the 'Erase all content and settings' option on the device when the device
* is in supervised mode.
*/
deviceBlockEraseContentAndSettings?: boolean;
// Indicates whether or not to allow device name modification when the device is in supervised mode (iOS 9.0 and later).
deviceBlockNameModification?: boolean;
// Indicates whether or not to block diagnostic data submission.
diagnosticDataBlockSubmission?: boolean;
/**
* Indicates whether or not to allow diagnostics submission settings modification when the device is in supervised mode
* (iOS 9.3.2 and later).
*/
diagnosticDataBlockSubmissionModification?: boolean;
// Indicates whether or not to block the user from viewing managed documents in unmanaged apps.
documentsBlockManagedDocumentsInUnmanagedApps?: boolean;
// Indicates whether or not to block the user from viewing unmanaged documents in managed apps.
documentsBlockUnmanagedDocumentsInManagedApps?: boolean;
// An email address lacking a suffix that matches any of these strings will be considered out-of-domain.
emailInDomainSuffixes?: NullableOption<string[]>;
// Indicates whether or not to block the user from trusting an enterprise app.
enterpriseAppBlockTrust?: boolean;
// [Deprecated] Configuring this setting and setting the value to 'true' has no effect on the device.
enterpriseAppBlockTrustModification?: boolean;
// Indicates whether or not to block the user from using FaceTime. Requires a supervised device for iOS 13 and later.
faceTimeBlocked?: boolean;
// Indicates whether or not to block changes to Find My Friends when the device is in supervised mode.
findMyFriendsBlocked?: boolean;
// Indicates whether or not to block the user from using Game Center when the device is in supervised mode.
gameCenterBlocked?: boolean;
/**
* Indicates whether or not to block the user from having friends in Game Center. Requires a supervised device for iOS 13
* and later.
*/
gamingBlockGameCenterFriends?: boolean;
/**
* Indicates whether or not to block the user from using multiplayer gaming. Requires a supervised device for iOS 13 and
* later.
*/
gamingBlockMultiplayer?: boolean;
/**
* indicates whether or not to allow host pairing to control the devices an iOS device can pair with when the iOS device
* is in supervised mode.
*/
hostPairingBlocked?: boolean;
// Indicates whether or not to block the user from using the iBooks Store when the device is in supervised mode.
iBooksStoreBlocked?: boolean;
// Indicates whether or not to block the user from downloading media from the iBookstore that has been tagged as erotica.
iBooksStoreBlockErotica?: boolean;
/**
* Indicates whether or not to block the user from continuing work they started on iOS device to another iOS or macOS
* device.
*/
iCloudBlockActivityContinuation?: boolean;
// Indicates whether or not to block iCloud backup. Requires a supervised device for iOS 13 and later.
iCloudBlockBackup?: boolean;
// Indicates whether or not to block iCloud document sync. Requires a supervised device for iOS 13 and later.
iCloudBlockDocumentSync?: boolean;
// Indicates whether or not to block Managed Apps Cloud Sync.
iCloudBlockManagedAppsSync?: boolean;
// Indicates whether or not to block iCloud Photo Library.
iCloudBlockPhotoLibrary?: boolean;
// Indicates whether or not to block iCloud Photo Stream Sync.
iCloudBlockPhotoStreamSync?: boolean;
// Indicates whether or not to block Shared Photo Stream.
iCloudBlockSharedPhotoStream?: boolean;
// Indicates whether or not to require backups to iCloud be encrypted.
iCloudRequireEncryptedBackup?: boolean;
/**
* Indicates whether or not to block the user from accessing explicit content in iTunes and the App Store. Requires a
* supervised device for iOS 13 and later.
*/
iTunesBlockExplicitContent?: boolean;
/**
* Indicates whether or not to block Music service and revert Music app to classic mode when the device is in supervised
* mode (iOS 9.3 and later and macOS 10.12 and later).
*/
iTunesBlockMusicService?: boolean;
/**
* Indicates whether or not to block the user from using iTunes Radio when the device is in supervised mode (iOS 9.3 and
* later).
*/
iTunesBlockRadio?: boolean;
// Indicates whether or not to block keyboard auto-correction when the device is in supervised mode (iOS 8.1.3 and later).
keyboardBlockAutoCorrect?: boolean;
// Indicates whether or not to block the user from using dictation input when the device is in supervised mode.
keyboardBlockDictation?: boolean;
// Indicates whether or not to block predictive keyboards when device is in supervised mode (iOS 8.1.3 and later).
keyboardBlockPredictive?: boolean;
// Indicates whether or not to block keyboard shortcuts when the device is in supervised mode (iOS 9.0 and later).
keyboardBlockShortcuts?: boolean;
// Indicates whether or not to block keyboard spell-checking when the device is in supervised mode (iOS 8.1.3 and later).
keyboardBlockSpellCheck?: boolean;
// Indicates whether or not to allow assistive speak while in kiosk mode.
kioskModeAllowAssistiveSpeak?: boolean;
// Indicates whether or not to allow access to the Assistive Touch Settings while in kiosk mode.
kioskModeAllowAssistiveTouchSettings?: boolean;
/**
* Indicates whether or not to allow device auto lock while in kiosk mode. This property's functionality is redundant with
* the OS default and is deprecated. Use KioskModeBlockAutoLock instead.
*/
kioskModeAllowAutoLock?: boolean;
// Indicates whether or not to allow access to the Color Inversion Settings while in kiosk mode.
kioskModeAllowColorInversionSettings?: boolean;
/**
* Indicates whether or not to allow use of the ringer switch while in kiosk mode. This property's functionality is
* redundant with the OS default and is deprecated. Use KioskModeBlockRingerSwitch instead.
*/
kioskModeAllowRingerSwitch?: boolean;
/**
* Indicates whether or not to allow screen rotation while in kiosk mode. This property's functionality is redundant with
* the OS default and is deprecated. Use KioskModeBlockScreenRotation instead.
*/
kioskModeAllowScreenRotation?: boolean;
/**
* Indicates whether or not to allow use of the sleep button while in kiosk mode. This property's functionality is
* redundant with the OS default and is deprecated. Use KioskModeBlockSleepButton instead.
*/
kioskModeAllowSleepButton?: boolean;
/**
* Indicates whether or not to allow use of the touchscreen while in kiosk mode. This property's functionality is
* redundant with the OS default and is deprecated. Use KioskModeBlockTouchscreen instead.
*/
kioskModeAllowTouchscreen?: boolean;
// Indicates whether or not to allow access to the voice over settings while in kiosk mode.
kioskModeAllowVoiceOverSettings?: boolean;
/**
* Indicates whether or not to allow use of the volume buttons while in kiosk mode. This property's functionality is
* redundant with the OS default and is deprecated. Use KioskModeBlockVolumeButtons instead.
*/
kioskModeAllowVolumeButtons?: boolean;
// Indicates whether or not to allow access to the zoom settings while in kiosk mode.
kioskModeAllowZoomSettings?: boolean;
// URL in the app store to the app to use for kiosk mode. Use if KioskModeManagedAppId is not known.
kioskModeAppStoreUrl?: NullableOption<string>;
// ID for built-in apps to use for kiosk mode. Used when KioskModeManagedAppId and KioskModeAppStoreUrl are not set.
kioskModeBuiltInAppId?: NullableOption<string>;
/**
* Managed app id of the app to use for kiosk mode. If KioskModeManagedAppId is specified then KioskModeAppStoreUrl will
* be ignored.
*/
kioskModeManagedAppId?: NullableOption<string>;
// Indicates whether or not to require assistive touch while in kiosk mode.
kioskModeRequireAssistiveTouch?: boolean;
// Indicates whether or not to require color inversion while in kiosk mode.
kioskModeRequireColorInversion?: boolean;
// Indicates whether or not to require mono audio while in kiosk mode.
kioskModeRequireMonoAudio?: boolean;
// Indicates whether or not to require voice over while in kiosk mode.
kioskModeRequireVoiceOver?: boolean;
// Indicates whether or not to require zoom while in kiosk mode.
kioskModeRequireZoom?: boolean;
// Indicates whether or not to block the user from using control center on the lock screen.
lockScreenBlockControlCenter?: boolean;
// Indicates whether or not to block the user from using the notification view on the lock screen.
lockScreenBlockNotificationView?: boolean;
// Indicates whether or not to block the user from using passbook when the device is locked.
lockScreenBlockPassbook?: boolean;
// Indicates whether or not to block the user from using the Today View on the lock screen.
lockScreenBlockTodayView?: boolean;
/**
* Media content rating settings for Apps. Possible values are: allAllowed, allBlocked, agesAbove4, agesAbove9,
* agesAbove12, agesAbove17.
*/
mediaContentRatingApps?: RatingAppsType;
// Media content rating settings for Australia
mediaContentRatingAustralia?: NullableOption<MediaContentRatingAustralia>;
// Media content rating settings for Canada
mediaContentRatingCanada?: NullableOption<MediaContentRatingCanada>;
// Media content rating settings for France
mediaContentRatingFrance?: NullableOption<MediaContentRatingFrance>;
// Media content rating settings for Germany
mediaContentRatingGermany?: NullableOption<MediaContentRatingGermany>;
// Media content rating settings for Ireland
mediaContentRatingIreland?: NullableOption<MediaContentRatingIreland>;
// Media content rating settings for Japan
mediaContentRatingJapan?: NullableOption<MediaContentRatingJapan>;
// Media content rating settings for New Zealand
mediaContentRatingNewZealand?: NullableOption<MediaContentRatingNewZealand>;
// Media content rating settings for United Kingdom
mediaContentRatingUnitedKingdom?: NullableOption<MediaContentRatingUnitedKingdom>;
// Media content rating settings for United States
mediaContentRatingUnitedStates?: NullableOption<MediaContentRatingUnitedStates>;
// Indicates whether or not to block the user from using the Messages app on the supervised device.
messagesBlocked?: boolean;
/**
* List of managed apps and the network rules that applies to them. This collection can contain a maximum of 1000
* elements.
*/
networkUsageRules?: NullableOption<IosNetworkUsageRule[]>;
// Indicates whether or not to allow notifications settings modification (iOS 9.3 and later).
notificationsBlockSettingsModification?: boolean;
// Block modification of registered Touch ID fingerprints when in supervised mode.
passcodeBlockFingerprintModification?: boolean;
// Indicates whether or not to block fingerprint unlock.
passcodeBlockFingerprintUnlock?: boolean;
// Indicates whether or not to allow passcode modification on the supervised device (iOS 9.0 and later).
passcodeBlockModification?: boolean;
// Indicates whether or not to block simple passcodes.
passcodeBlockSimple?: boolean;
// Number of days before the passcode expires. Valid values 1 to 65535
passcodeExpirationDays?: NullableOption<number>;
// Number of character sets a passcode must contain. Valid values 0 to 4
passcodeMinimumCharacterSetCount?: NullableOption<number>;
// Minimum length of passcode. Valid values 4 to 14
passcodeMinimumLength?: NullableOption<number>;
// Minutes of inactivity before a passcode is required.
passcodeMinutesOfInactivityBeforeLock?: NullableOption<number>;
// Minutes of inactivity before the screen times out.
passcodeMinutesOfInactivityBeforeScreenTimeout?: NullableOption<number>;
// Number of previous passcodes to block. Valid values 1 to 24
passcodePreviousPasscodeBlockCount?: NullableOption<number>;
// Indicates whether or not to require a passcode.
passcodeRequired?: boolean;
// Type of passcode that is required. Possible values are: deviceDefault, alphanumeric, numeric.
passcodeRequiredType?: RequiredPasswordType;
// Number of sign in failures allowed before wiping the device. Valid values 2 to 11
passcodeSignInFailureCountBeforeWipe?: NullableOption<number>;
// Indicates whether or not to block the user from using podcasts on the supervised device (iOS 8.0 and later).
podcastsBlocked?: boolean;
/**
* Indicates whether or not to block the user from using Auto fill in Safari. Requires a supervised device for iOS 13 and
* later.
*/
safariBlockAutofill?: boolean;
// Indicates whether or not to block the user from using Safari. Requires a supervised device for iOS 13 and later.
safariBlocked?: boolean;
// Indicates whether or not to block JavaScript in Safari.
safariBlockJavaScript?: boolean;
// Indicates whether or not to block popups in Safari.
safariBlockPopups?: boolean;
/**
* Cookie settings for Safari. Possible values are: browserDefault, blockAlways, allowCurrentWebSite,
* allowFromWebsitesVisited, allowAlways.
*/
safariCookieSettings?: WebBrowserCookieSettings;
// URLs matching the patterns listed here will be considered managed.
safariManagedDomains?: NullableOption<string[]>;
/**
* Users can save passwords in Safari only from URLs matching the patterns listed here. Applies to devices in supervised
* mode (iOS 9.3 and later).
*/
safariPasswordAutoFillDomains?: NullableOption<string[]>;
// Indicates whether or not to require fraud warning in Safari.
safariRequireFraudWarning?: boolean;
// Indicates whether or not to block the user from taking Screenshots.
screenCaptureBlocked?: boolean;
// Indicates whether or not to block the user from using Siri.
siriBlocked?: boolean;
// Indicates whether or not to block the user from using Siri when locked.
siriBlockedWhenLocked?: boolean;
// Indicates whether or not to block Siri from querying user-generated content when used on a supervised device.
siriBlockUserGeneratedContent?: boolean;
// Indicates whether or not to prevent Siri from dictating, or speaking profane language on supervised device.
siriRequireProfanityFilter?: boolean;
// Indicates whether or not to block Spotlight search from returning internet results on supervised device.
spotlightBlockInternetResults?: boolean;
// Indicates whether or not to block voice dialing.
voiceDialingBlocked?: boolean;
// Indicates whether or not to allow wallpaper modification on supervised device (iOS 9.0 and later) .
wallpaperBlockModification?: boolean;
/**
* Indicates whether or not to force the device to use only Wi-Fi networks from configuration profiles when the device is
* in supervised mode. Available for devices running iOS and iPadOS versions 14.4 and earlier. Devices running 14.5+
* should use the setting, 'WiFiConnectToAllowedNetworksOnlyForced.
*/
wiFiConnectOnlyToConfiguredNetworks?: boolean;
}
// tslint:disable-next-line: interface-name
export interface IosUpdateConfiguration extends DeviceConfiguration {
// Active Hours End (active hours mean the time window when updates install should not happen)
activeHoursEnd?: string;
// Active Hours Start (active hours mean the time window when updates install should not happen)
activeHoursStart?: string;
// Days in week for which active hours are configured. This collection can contain a maximum of 7 elements.
scheduledInstallDays?: DayOfWeek[];
// UTC Time Offset indicated in minutes
utcTimeOffsetInMinutes?: NullableOption<number>;
}
export interface MacOSCompliancePolicy extends DeviceCompliancePolicy {
// Require that devices have enabled device threat protection.
deviceThreatProtectionEnabled?: boolean;
/**
* Require Mobile Threat Protection minimum risk level to report noncompliance. Possible values are: unavailable, secured,
* low, medium, high, notSet.
*/
deviceThreatProtectionRequiredSecurityLevel?: DeviceThreatProtectionLevel;
// Corresponds to the 'Block all incoming connections' option.
firewallBlockAllIncoming?: boolean;
// Whether the firewall should be enabled or not.
firewallEnabled?: boolean;
// Corresponds to 'Enable stealth mode.'
firewallEnableStealthMode?: boolean;
// Maximum MacOS version.
osMaximumVersion?: NullableOption<string>;
// Minimum MacOS version.
osMinimumVersion?: NullableOption<string>;
// Indicates whether or not to block simple passwords.
passwordBlockSimple?: boolean;
// Number of days before the password expires. Valid values 1 to 65535
passwordExpirationDays?: NullableOption<number>;
// The number of character sets required in the password.
passwordMinimumCharacterSetCount?: NullableOption<number>;
// Minimum length of password. Valid values 4 to 14
passwordMinimumLength?: NullableOption<number>;
// Minutes of inactivity before a password is required.
passwordMinutesOfInactivityBeforeLock?: NullableOption<number>;
// Number of previous passwords to block. Valid values 1 to 24
passwordPreviousPasswordBlockCount?: NullableOption<number>;
// Whether or not to require a password.
passwordRequired?: boolean;
// The required password type. Possible values are: deviceDefault, alphanumeric, numeric.
passwordRequiredType?: RequiredPasswordType;
// Require encryption on Mac OS devices.
storageRequireEncryption?: boolean;
// Require that devices have enabled system integrity protection.
systemIntegrityProtectionEnabled?: boolean;
}
export interface MacOSCustomConfiguration extends DeviceConfiguration {
// Payload. (UTF8 encoded byte array)
payload?: string;
// Payload file name (.mobileconfig
payloadFileName?: NullableOption<string>;
// Name that is displayed to the user.
payloadName?: string;
}
// tslint:disable-next-line: no-empty-interface
export interface MacOSDeviceFeaturesConfiguration extends AppleDeviceFeaturesConfigurationBase {}
export interface MacOSGeneralDeviceConfiguration extends DeviceConfiguration {
// List that is in the CompliantAppsList. Possible values are: none, appsInListCompliant, appsNotInListCompliant.
compliantAppListType?: AppListType;
/**
* List of apps in the compliance (either allow list or block list, controlled by CompliantAppListType). This collection
* can contain a maximum of 10000 elements.
*/
compliantAppsList?: NullableOption<AppListItem[]>;
// An email address lacking a suffix that matches any of these strings will be considered out-of-domain.
emailInDomainSuffixes?: NullableOption<string[]>;
// Block simple passwords.
passwordBlockSimple?: boolean;
// Number of days before the password expires.
passwordExpirationDays?: NullableOption<number>;
// Number of character sets a password must contain. Valid values 0 to 4
passwordMinimumCharacterSetCount?: NullableOption<number>;
// Minimum length of passwords.
passwordMinimumLength?: NullableOption<number>;
// Minutes of inactivity required before a password is required.
passwordMinutesOfInactivityBeforeLock?: NullableOption<number>;
// Minutes of inactivity required before the screen times out.
passwordMinutesOfInactivityBeforeScreenTimeout?: NullableOption<number>;
// Number of previous passwords to block.
passwordPreviousPasswordBlockCount?: NullableOption<number>;
// Whether or not to require a password.
passwordRequired?: boolean;
// Type of password that is required. Possible values are: deviceDefault, alphanumeric, numeric.
passwordRequiredType?: RequiredPasswordType;
}
export interface ReportRoot {
dailyPrintUsageByPrinter?: NullableOption<PrintUsageByPrinter[]>;
dailyPrintUsageByUser?: NullableOption<PrintUsageByUser[]>;
monthlyPrintUsageByPrinter?: NullableOption<PrintUsageByPrinter[]>;
monthlyPrintUsageByUser?: NullableOption<PrintUsageByUser[]>;
security?: NullableOption<SecurityReportsRoot>;
}
export interface PrintUsage extends Entity {
completedBlackAndWhiteJobCount?: number;
completedColorJobCount?: number;
incompleteJobCount?: number;
usageDate?: string;
}
export interface PrintUsageByPrinter extends PrintUsage {
printerId?: string;
}
export interface PrintUsageByUser extends PrintUsage {
// The UPN of the user represented by these statistics.
userPrincipalName?: string;
}
// tslint:disable-next-line: no-empty-interface
export interface SecurityReportsRoot extends Entity {}
export interface SharedPCConfiguration extends DeviceConfiguration {
// Specifies how accounts are managed on a shared PC. Only applies when disableAccountManager is false.
accountManagerPolicy?: NullableOption<SharedPCAccountManagerPolicy>;
// Indicates which type of accounts are allowed to use on a shared PC. Possible values are: guest, domain.
allowedAccounts?: SharedPCAllowedAccountType;
// Specifies whether local storage is allowed on a shared PC.
allowLocalStorage?: boolean;
// Disables the account manager for shared PC mode.
disableAccountManager?: boolean;
/**
* Specifies whether the default shared PC education environment policies should be disabled. For Windows 10 RS2 and
* later, this policy will be applied without setting Enabled to true.
*/
disableEduPolicies?: boolean;
// Specifies whether the default shared PC power policies should be disabled.
disablePowerPolicies?: boolean;
// Disables the requirement to sign in whenever the device wakes up from sleep mode.
disableSignInOnResume?: boolean;
// Enables shared PC mode and applies the shared pc policies.
enabled?: boolean;
/**
* Specifies the time in seconds that a device must sit idle before the PC goes to sleep. Setting this value to 0 prevents
* the sleep timeout from occurring.
*/
idleTimeBeforeSleepInSeconds?: NullableOption<number>;
/**
* Specifies the display text for the account shown on the sign-in screen which launches the app specified by
* SetKioskAppUserModelId. Only applies when KioskAppUserModelId is set.
*/
kioskAppDisplayName?: NullableOption<string>;
// Specifies the application user model ID of the app to use with assigned access.
kioskAppUserModelId?: NullableOption<string>;
// Specifies the daily start time of maintenance hour.
maintenanceStartTime?: NullableOption<string>;
}
export interface Windows10CompliancePolicy extends DeviceCompliancePolicy {
// Require devices to be reported healthy by Windows Device Health Attestation - bit locker is enabled
bitLockerEnabled?: boolean;
// Require devices to be reported as healthy by Windows Device Health Attestation.
codeIntegrityEnabled?: boolean;
/**
* Require devices to be reported as healthy by Windows Device Health Attestation - early launch antimalware driver is
* enabled.
*/
earlyLaunchAntiMalwareDriverEnabled?: boolean;
// Maximum Windows Phone version.
mobileOsMaximumVersion?: NullableOption<string>;
// Minimum Windows Phone version.
mobileOsMinimumVersion?: NullableOption<string>;
// Maximum Windows 10 version.
osMaximumVersion?: NullableOption<string>;
// Minimum Windows 10 version.
osMinimumVersion?: NullableOption<string>;
// Indicates whether or not to block simple password.
passwordBlockSimple?: boolean;
// The password expiration in days.
passwordExpirationDays?: NullableOption<number>;
// The number of character sets required in the password.
passwordMinimumCharacterSetCount?: NullableOption<number>;
// The minimum password length.
passwordMinimumLength?: NullableOption<number>;
// Minutes of inactivity before a password is required.
passwordMinutesOfInactivityBeforeLock?: NullableOption<number>;
// The number of previous passwords to prevent re-use of.
passwordPreviousPasswordBlockCount?: NullableOption<number>;
// Require a password to unlock Windows device.
passwordRequired?: boolean;
// Require a password to unlock an idle device.
passwordRequiredToUnlockFromIdle?: boolean;
// The required password type. Possible values are: deviceDefault, alphanumeric, numeric.
passwordRequiredType?: RequiredPasswordType;
// Require devices to be reported as healthy by Windows Device Health Attestation.
requireHealthyDeviceReport?: boolean;
// Require devices to be reported as healthy by Windows Device Health Attestation - secure boot is enabled.
secureBootEnabled?: boolean;
// Require encryption on windows devices.
storageRequireEncryption?: boolean;
}
export interface Windows10CustomConfiguration extends DeviceConfiguration {
// OMA settings. This collection can contain a maximum of 1000 elements.
omaSettings?: NullableOption<OmaSetting[]>;
}
export interface Windows10EndpointProtectionConfiguration extends DeviceConfiguration {
// Allow persisting user generated data inside the App Guard Containter (favorites, cookies, web passwords, etc.)
applicationGuardAllowPersistence?: boolean;
// Allow printing to Local Printers from Container
applicationGuardAllowPrintToLocalPrinters?: boolean;
// Allow printing to Network Printers from Container
applicationGuardAllowPrintToNetworkPrinters?: boolean;
// Allow printing to PDF from Container
applicationGuardAllowPrintToPDF?: boolean;
// Allow printing to XPS from Container
applicationGuardAllowPrintToXPS?: boolean;
/**
* Block clipboard to share data from Host to Container, or from Container to Host, or both ways, or neither ways.
* Possible values are: notConfigured, blockBoth, blockHostToContainer, blockContainerToHost, blockNone.
*/
applicationGuardBlockClipboardSharing?: ApplicationGuardBlockClipboardSharingType;
/**
* Block clipboard to transfer image file, text file or neither of them. Possible values are: notConfigured,
* blockImageAndTextFile, blockImageFile, blockNone, blockTextFile.
*/
applicationGuardBlockFileTransfer?: ApplicationGuardBlockFileTransferType;
// Block enterprise sites to load non-enterprise content, such as third party plug-ins
applicationGuardBlockNonEnterpriseContent?: boolean;
// Enable Windows Defender Application Guard
applicationGuardEnabled?: boolean;
/**
* Force auditing will persist Windows logs and events to meet security/compliance criteria (sample events are user
* login-logoff, use of privilege rights, software installation, system changes, etc.)
*/
applicationGuardForceAuditing?: boolean;
/**
* Enables the Admin to choose what types of app to allow on devices. Possible values are: notConfigured,
* enforceComponentsAndStoreApps, auditComponentsAndStoreApps, enforceComponentsStoreAppsAndSmartlocker,
* auditComponentsStoreAppsAndSmartlocker.
*/
appLockerApplicationControl?: AppLockerApplicationControlType;
// Allows the Admin to disable the warning prompt for other disk encryption on the user machines.
bitLockerDisableWarningForOtherDiskEncryption?: boolean;
// Allows the admin to require encryption to be turned on using BitLocker. This policy is valid only for a mobile SKU.
bitLockerEnableStorageCardEncryptionOnMobile?: boolean;
// Allows the admin to require encryption to be turned on using BitLocker.
bitLockerEncryptDevice?: boolean;
// BitLocker Removable Drive Policy.
bitLockerRemovableDrivePolicy?: NullableOption<BitLockerRemovableDrivePolicy>;
// List of folder paths to be added to the list of protected folders
defenderAdditionalGuardedFolders?: NullableOption<string[]>;
// List of exe files and folders to be excluded from attack surface reduction rules
defenderAttackSurfaceReductionExcludedPaths?: NullableOption<string[]>;
// Xml content containing information regarding exploit protection details.
defenderExploitProtectionXml?: NullableOption<string>;
// Name of the file from which DefenderExploitProtectionXml was obtained.
defenderExploitProtectionXmlFileName?: NullableOption<string>;
// List of paths to exe that are allowed to access protected folders
defenderGuardedFoldersAllowedAppPaths?: NullableOption<string[]>;
// Indicates whether or not to block user from overriding Exploit Protection settings.
defenderSecurityCenterBlockExploitProtectionOverride?: boolean;
// Blocks stateful FTP connections to the device
firewallBlockStatefulFTP?: NullableOption<boolean>;
/**
* Specify how the certificate revocation list is to be enforced. Possible values are: deviceDefault, none, attempt,
* require.
*/
firewallCertificateRevocationListCheckMethod?: FirewallCertificateRevocationListCheckMethodType;
/**
* Configures the idle timeout for security associations, in seconds, from 300 to 3600 inclusive. This is the period after
* which security associations will expire and be deleted. Valid values 300 to 3600
*/
firewallIdleTimeoutForSecurityAssociationInSeconds?: NullableOption<number>;
// Configures IPSec exemptions to allow both IPv4 and IPv6 DHCP traffic
firewallIPSecExemptionsAllowDHCP?: boolean;
// Configures IPSec exemptions to allow ICMP
firewallIPSecExemptionsAllowICMP?: boolean;
// Configures IPSec exemptions to allow neighbor discovery IPv6 ICMP type-codes
firewallIPSecExemptionsAllowNeighborDiscovery?: boolean;
// Configures IPSec exemptions to allow router discovery IPv6 ICMP type-codes
firewallIPSecExemptionsAllowRouterDiscovery?: boolean;
/**
* If an authentication set is not fully supported by a keying module, direct the module to ignore only unsupported
* authentication suites rather than the entire set
*/
firewallMergeKeyingModuleSettings?: NullableOption<boolean>;
/**
* Configures how packet queueing should be applied in the tunnel gateway scenario. Possible values are: deviceDefault,
* disabled, queueInbound, queueOutbound, queueBoth.
*/
firewallPacketQueueingMethod?: FirewallPacketQueueingMethodType;
// Select the preshared key encoding to be used. Possible values are: deviceDefault, none, utF8.
firewallPreSharedKeyEncodingMethod?: FirewallPreSharedKeyEncodingMethodType;
// Configures the firewall profile settings for domain networks
firewallProfileDomain?: NullableOption<WindowsFirewallNetworkProfile>;
// Configures the firewall profile settings for private networks
firewallProfilePrivate?: NullableOption<WindowsFirewallNetworkProfile>;
// Configures the firewall profile settings for public networks
firewallProfilePublic?: NullableOption<WindowsFirewallNetworkProfile>;
// Allows IT Admins to control whether users can can ignore SmartScreen warnings and run malicious files.
smartScreenBlockOverrideForFiles?: boolean;
// Allows IT Admins to configure SmartScreen for Windows.
smartScreenEnableInShell?: boolean;
}
export interface Windows10EnterpriseModernAppManagementConfiguration extends DeviceConfiguration {
// Indicates whether or not to uninstall a fixed list of built-in Windows apps.
uninstallBuiltInApps?: boolean;
}
export interface Windows10GeneralConfiguration extends DeviceConfiguration {
/**
* Indicates whether or not to Block the user from adding email accounts to the device that are not associated with a
* Microsoft account.
*/
accountsBlockAddingNonMicrosoftAccountEmail?: boolean;
// Indicates whether or not to block the user from selecting an AntiTheft mode preference (Windows 10 Mobile only).
antiTheftModeBlocked?: boolean;
/**
* Indicates whether apps from AppX packages signed with a trusted certificate can be side loaded. Possible values are:
* notConfigured, blocked, allowed.
*/
appsAllowTrustedAppsSideloading?: StateManagementSetting;
/**
* Indicates whether or not to disable the launch of all apps from Windows Store that came pre-installed or were
* downloaded.
*/
appsBlockWindowsStoreOriginatedApps?: boolean;
// Specify a list of allowed Bluetooth services and profiles in hex formatted strings.
bluetoothAllowedServices?: NullableOption<string[]>;
// Whether or not to Block the user from using bluetooth advertising.
bluetoothBlockAdvertising?: boolean;
// Whether or not to Block the user from using bluetooth discoverable mode.
bluetoothBlockDiscoverableMode?: boolean;
// Whether or not to Block the user from using bluetooth.
bluetoothBlocked?: boolean;
// Whether or not to block specific bundled Bluetooth peripherals to automatically pair with the host device.
bluetoothBlockPrePairing?: boolean;
// Whether or not to Block the user from accessing the camera of the device.
cameraBlocked?: boolean;
// Whether or not to Block the user from using data over cellular while roaming.
cellularBlockDataWhenRoaming?: boolean;
// Whether or not to Block the user from using VPN over cellular.
cellularBlockVpn?: boolean;
// Whether or not to Block the user from using VPN when roaming over cellular.
cellularBlockVpnWhenRoaming?: boolean;
// Whether or not to Block the user from doing manual root certificate installation.
certificatesBlockManualRootCertificateInstallation?: boolean;
/**
* Whether or not to block Connected Devices Service which enables discovery and connection to other devices, remote
* messaging, remote app sessions and other cross-device experiences.
*/
connectedDevicesServiceBlocked?: boolean;
// Whether or not to Block the user from using copy paste.
copyPasteBlocked?: boolean;
// Whether or not to Block the user from using Cortana.
cortanaBlocked?: boolean;
// Whether or not to block end user access to Defender.
defenderBlockEndUserAccess?: boolean;
// Specifies the level of cloud-delivered protection. Possible values are: notConfigured, high, highPlus, zeroTolerance.
defenderCloudBlockLevel?: DefenderCloudBlockLevelType;
// Number of days before deleting quarantined malware. Valid values 0 to 90
defenderDaysBeforeDeletingQuarantinedMalware?: NullableOption<number>;
// Gets or sets Defenders actions to take on detected Malware per threat level.
defenderDetectedMalwareActions?: NullableOption<DefenderDetectedMalwareActions>;
// File extensions to exclude from scans and real time protection.
defenderFileExtensionsToExclude?: NullableOption<string[]>;
// Files and folder to exclude from scans and real time protection.
defenderFilesAndFoldersToExclude?: NullableOption<string[]>;
/**
* Value for monitoring file activity. Possible values are: userDefined, disable, monitorAllFiles,
* monitorIncomingFilesOnly, monitorOutgoingFilesOnly.
*/
defenderMonitorFileActivity?: DefenderMonitorFileActivity;
// Processes to exclude from scans and real time protection.
defenderProcessesToExclude?: NullableOption<string[]>;
/**
* The configuration for how to prompt user for sample submission. Possible values are: userDefined, alwaysPrompt,
* promptBeforeSendingPersonalData, neverSendData, sendAllDataWithoutPrompting.
*/
defenderPromptForSampleSubmission?: DefenderPromptForSampleSubmission;
// Indicates whether or not to require behavior monitoring.
defenderRequireBehaviorMonitoring?: boolean;
// Indicates whether or not to require cloud protection.
defenderRequireCloudProtection?: boolean;
// Indicates whether or not to require network inspection system.
defenderRequireNetworkInspectionSystem?: boolean;
// Indicates whether or not to require real time monitoring.
defenderRequireRealTimeMonitoring?: boolean;
// Indicates whether or not to scan archive files.
defenderScanArchiveFiles?: boolean;
// Indicates whether or not to scan downloads.
defenderScanDownloads?: boolean;
// Indicates whether or not to scan incoming mail messages.
defenderScanIncomingMail?: boolean;
// Indicates whether or not to scan mapped network drives during full scan.
defenderScanMappedNetworkDrivesDuringFullScan?: boolean;
// Max CPU usage percentage during scan. Valid values 0 to 100
defenderScanMaxCpu?: NullableOption<number>;
// Indicates whether or not to scan files opened from a network folder.
defenderScanNetworkFiles?: boolean;
// Indicates whether or not to scan removable drives during full scan.
defenderScanRemovableDrivesDuringFullScan?: boolean;
// Indicates whether or not to scan scripts loaded in Internet Explorer browser.
defenderScanScriptsLoadedInInternetExplorer?: boolean;
// The defender system scan type. Possible values are: userDefined, disabled, quick, full.
defenderScanType?: DefenderScanType;
// The time to perform a daily quick scan.
defenderScheduledQuickScanTime?: NullableOption<string>;
// The defender time for the system scan.
defenderScheduledScanTime?: NullableOption<string>;
// The signature update interval in hours. Specify 0 not to check. Valid values 0 to 24
defenderSignatureUpdateIntervalInHours?: NullableOption<number>;
/**
* Defender day of the week for the system scan. Possible values are: userDefined, everyday, sunday, monday, tuesday,
* wednesday, thursday, friday, saturday.
*/
defenderSystemScanSchedule?: WeeklySchedule;
// Indicates whether or not to allow developer unlock. Possible values are: notConfigured, blocked, allowed.
developerUnlockSetting?: StateManagementSetting;
// Indicates whether or not to Block the user from resetting their phone.
deviceManagementBlockFactoryResetOnMobile?: boolean;
// Indicates whether or not to Block the user from doing manual un-enrollment from device management.
deviceManagementBlockManualUnenroll?: boolean;
/**
* Gets or sets a value allowing the device to send diagnostic and usage telemetry data, such as Watson. Possible values
* are: userDefined, none, basic, enhanced, full.
*/
diagnosticsDataSubmissionMode?: DiagnosticDataSubmissionMode;
/**
* Allow users to change Start pages on Edge. Use the EdgeHomepageUrls to specify the Start pages that the user would see
* by default when they open Edge.
*/
edgeAllowStartPagesModification?: boolean;
// Indicates whether or not to prevent access to about flags on Edge browser.
edgeBlockAccessToAboutFlags?: boolean;
/**
* Block the address bar dropdown functionality in Microsoft Edge. Disable this settings to minimize network connections
* from Microsoft Edge to Microsoft services.
*/
edgeBlockAddressBarDropdown?: boolean;
// Indicates whether or not to block auto fill.
edgeBlockAutofill?: boolean;
/**
* Block Microsoft compatibility list in Microsoft Edge. This list from Microsoft helps Edge properly display sites with
* known compatibility issues.
*/
edgeBlockCompatibilityList?: boolean;
// Indicates whether or not to block developer tools in the Edge browser.
edgeBlockDeveloperTools?: boolean;
// Indicates whether or not to Block the user from using the Edge browser.
edgeBlocked?: boolean;
// Indicates whether or not to block extensions in the Edge browser.
edgeBlockExtensions?: boolean;
// Indicates whether or not to block InPrivate browsing on corporate networks, in the Edge browser.
edgeBlockInPrivateBrowsing?: boolean;
// Indicates whether or not to Block the user from using JavaScript.
edgeBlockJavaScript?: boolean;
/**
* Block the collection of information by Microsoft for live tile creation when users pin a site to Start from Microsoft
* Edge.
*/
edgeBlockLiveTileDataCollection?: boolean;
// Indicates whether or not to Block password manager.
edgeBlockPasswordManager?: boolean;
// Indicates whether or not to block popups.
edgeBlockPopups?: boolean;
// Indicates whether or not to block the user from using the search suggestions in the address bar.
edgeBlockSearchSuggestions?: boolean;
// Indicates whether or not to Block the user from sending the do not track header.
edgeBlockSendingDoNotTrackHeader?: boolean;
/**
* Indicates whether or not to switch the intranet traffic from Edge to Internet Explorer. Note: the name of this property
* is misleading; the property is obsolete, use EdgeSendIntranetTrafficToInternetExplorer instead.
*/
edgeBlockSendingIntranetTrafficToInternetExplorer?: boolean;
// Clear browsing data on exiting Microsoft Edge.
edgeClearBrowsingDataOnExit?: boolean;
/**
* Indicates which cookies to block in the Edge browser. Possible values are: userDefined, allow, blockThirdParty,
* blockAll.
*/
edgeCookiePolicy?: EdgeCookiePolicy;
/**
* Block the Microsoft web page that opens on the first use of Microsoft Edge. This policy allows enterprises, like those
* enrolled in zero emissions configurations, to block this page.
*/
edgeDisableFirstRunPage?: boolean;
// Indicates the enterprise mode site list location. Could be a local file, local network or http location.
edgeEnterpriseModeSiteListLocation?: NullableOption<string>;
// The first run URL for when Edge browser is opened for the first time.
edgeFirstRunUrl?: NullableOption<string>;
// The list of URLs for homepages shodwn on MDM-enrolled devices on Edge browser.
edgeHomepageUrls?: NullableOption<string[]>;
// Indicates whether or not to Require the user to use the smart screen filter.
edgeRequireSmartScreen?: boolean;
/**
* Allows IT admins to set a default search engine for MDM-Controlled devices. Users can override this and change their
* default search engine provided the AllowSearchEngineCustomization policy is not set.
*/
edgeSearchEngine?: NullableOption<EdgeSearchEngineBase>;
// Indicates whether or not to switch the intranet traffic from Edge to Internet Explorer.
edgeSendIntranetTrafficToInternetExplorer?: boolean;
/**
* Enable favorites sync between Internet Explorer and Microsoft Edge. Additions, deletions, modifications and order
* changes to favorites are shared between browsers.
*/
edgeSyncFavoritesWithInternetExplorer?: boolean;
// Endpoint for discovering cloud printers.
enterpriseCloudPrintDiscoveryEndPoint?: NullableOption<string>;
/**
* Maximum number of printers that should be queried from a discovery endpoint. This is a mobile only setting. Valid
* values 1 to 65535
*/
enterpriseCloudPrintDiscoveryMaxLimit?: NullableOption<number>;
// OAuth resource URI for printer discovery service as configured in Azure portal.
enterpriseCloudPrintMopriaDiscoveryResourceIdentifier?: NullableOption<string>;
// Authentication endpoint for acquiring OAuth tokens.
enterpriseCloudPrintOAuthAuthority?: NullableOption<string>;
// GUID of a client application authorized to retrieve OAuth tokens from the OAuth Authority.
enterpriseCloudPrintOAuthClientIdentifier?: NullableOption<string>;
// OAuth resource URI for print service as configured in the Azure portal.
enterpriseCloudPrintResourceIdentifier?: NullableOption<string>;
// Indicates whether or not to enable device discovery UX.
experienceBlockDeviceDiscovery?: boolean;
// Indicates whether or not to allow the error dialog from displaying if no SIM card is detected.
experienceBlockErrorDialogWhenNoSIM?: boolean;
// Indicates whether or not to enable task switching on the device.
experienceBlockTaskSwitcher?: boolean;
// Indicates whether or not to block DVR and broadcasting.
gameDvrBlocked?: boolean;
// Indicates whether or not to Block the user from using internet sharing.
internetSharingBlocked?: boolean;
// Indicates whether or not to Block the user from location services.
locationServicesBlocked?: boolean;
/**
* Specify whether to show a user-configurable setting to control the screen timeout while on the lock screen of Windows
* 10 Mobile devices. If this policy is set to Allow, the value set by lockScreenTimeoutInSeconds is ignored.
*/
lockScreenAllowTimeoutConfiguration?: boolean;
// Indicates whether or not to block action center notifications over lock screen.
lockScreenBlockActionCenterNotifications?: boolean;
// Indicates whether or not the user can interact with Cortana using speech while the system is locked.
lockScreenBlockCortana?: boolean;
// Indicates whether to allow toast notifications above the device lock screen.
lockScreenBlockToastNotifications?: boolean;
/**
* Set the duration (in seconds) from the screen locking to the screen turning off for Windows 10 Mobile devices.
* Supported values are 11-1800. Valid values 11 to 1800
*/
lockScreenTimeoutInSeconds?: NullableOption<number>;
// Disables the ability to quickly switch between users that are logged on simultaneously without logging off.
logonBlockFastUserSwitching?: boolean;
// Indicates whether or not to Block a Microsoft account.
microsoftAccountBlocked?: boolean;
// Indicates whether or not to Block Microsoft account settings sync.
microsoftAccountBlockSettingsSync?: boolean;
/**
* If set, proxy settings will be applied to all processes and accounts in the device. Otherwise, it will be applied to
* the user account thats enrolled into MDM.
*/
networkProxyApplySettingsDeviceWide?: boolean;
// Address to the proxy auto-config (PAC) script you want to use.
networkProxyAutomaticConfigurationUrl?: NullableOption<string>;
/**
* Disable automatic detection of settings. If enabled, the system will try to find the path to a proxy auto-config (PAC)
* script.
*/
networkProxyDisableAutoDetect?: boolean;
// Specifies manual proxy server settings.
networkProxyServer?: NullableOption<Windows10NetworkProxyServer>;
// Indicates whether or not to Block the user from using near field communication.
nfcBlocked?: boolean;
// Gets or sets a value allowing IT admins to prevent apps and features from working with files on OneDrive.
oneDriveDisableFileSync?: boolean;
/**
* Specify whether PINs or passwords such as '1111' or '1234' are allowed. For Windows 10 desktops, it also controls the
* use of picture passwords.
*/
passwordBlockSimple?: boolean;
// The password expiration in days. Valid values 0 to 730
passwordExpirationDays?: NullableOption<number>;
// The number of character sets required in the password.
passwordMinimumCharacterSetCount?: NullableOption<number>;
// The minimum password length. Valid values 4 to 16
passwordMinimumLength?: NullableOption<number>;
// The minutes of inactivity before the screen times out.
passwordMinutesOfInactivityBeforeScreenTimeout?: NullableOption<number>;
// The number of previous passwords to prevent reuse of. Valid values 0 to 50
passwordPreviousPasswordBlockCount?: NullableOption<number>;
// Indicates whether or not to require the user to have a password.
passwordRequired?: boolean;
// The required password type. Possible values are: deviceDefault, alphanumeric, numeric.
passwordRequiredType?: RequiredPasswordType;
// Indicates whether or not to require a password upon resuming from an idle state.
passwordRequireWhenResumeFromIdleState?: boolean;
// The number of sign in failures before factory reset. Valid values 0 to 999
passwordSignInFailureCountBeforeFactoryReset?: NullableOption<number>;
/**
* A http or https Url to a jpg, jpeg or png image that needs to be downloaded and used as the Desktop Image or a file Url
* to a local image on the file system that needs to used as the Desktop Image.
*/
personalizationDesktopImageUrl?: NullableOption<string>;
/**
* A http or https Url to a jpg, jpeg or png image that neeeds to be downloaded and used as the Lock Screen Image or a
* file Url to a local image on the file system that needs to be used as the Lock Screen Image.
*/
personalizationLockScreenImageUrl?: NullableOption<string>;
/**
* Enables or disables the use of advertising ID. Added in Windows 10, version 1607. Possible values are: notConfigured,
* blocked, allowed.
*/
privacyAdvertisingId?: StateManagementSetting;
/**
* Indicates whether or not to allow the automatic acceptance of the pairing and privacy user consent dialog when
* launching apps.
*/
privacyAutoAcceptPairingAndConsentPrompts?: boolean;
/**
* Indicates whether or not to block the usage of cloud based speech services for Cortana, Dictation, or Store
* applications.
*/
privacyBlockInputPersonalization?: boolean;
// Indicates whether or not to Block the user from reset protection mode.
resetProtectionModeBlocked?: boolean;
// Specifies what filter level of safe search is required. Possible values are: userDefined, strict, moderate.
safeSearchFilter?: SafeSearchFilterType;
// Indicates whether or not to Block the user from taking Screenshots.
screenCaptureBlocked?: boolean;
// Specifies if search can use diacritics.
searchBlockDiacritics?: boolean;
// Specifies whether to use automatic language detection when indexing content and properties.
searchDisableAutoLanguageDetection?: boolean;
// Indicates whether or not to disable the search indexer backoff feature.
searchDisableIndexerBackoff?: boolean;
/**
* Indicates whether or not to block indexing of WIP-protected items to prevent them from appearing in search results for
* Cortana or Explorer.
*/
searchDisableIndexingEncryptedItems?: boolean;
// Indicates whether or not to allow users to add locations on removable drives to libraries and to be indexed.
searchDisableIndexingRemovableDrive?: boolean;
// Specifies minimum amount of hard drive space on the same drive as the index location before indexing stops.
searchEnableAutomaticIndexSizeManangement?: boolean;
// Indicates whether or not to block remote queries of this computers index.
searchEnableRemoteQueries?: boolean;
// Indicates whether or not to block access to Accounts in Settings app.
settingsBlockAccountsPage?: boolean;
// Indicates whether or not to block the user from installing provisioning packages.
settingsBlockAddProvisioningPackage?: boolean;
// Indicates whether or not to block access to Apps in Settings app.
settingsBlockAppsPage?: boolean;
// Indicates whether or not to block the user from changing the language settings.
settingsBlockChangeLanguage?: boolean;
// Indicates whether or not to block the user from changing power and sleep settings.
settingsBlockChangePowerSleep?: boolean;
// Indicates whether or not to block the user from changing the region settings.
settingsBlockChangeRegion?: boolean;
// Indicates whether or not to block the user from changing date and time settings.
settingsBlockChangeSystemTime?: boolean;
// Indicates whether or not to block access to Devices in Settings app.
settingsBlockDevicesPage?: boolean;
// Indicates whether or not to block access to Ease of Access in Settings app.
settingsBlockEaseOfAccessPage?: boolean;
// Indicates whether or not to block the user from editing the device name.
settingsBlockEditDeviceName?: boolean;
// Indicates whether or not to block access to Gaming in Settings app.
settingsBlockGamingPage?: boolean;
// Indicates whether or not to block access to Network &amp; Internet in Settings app.
settingsBlockNetworkInternetPage?: boolean;
// Indicates whether or not to block access to Personalization in Settings app.
settingsBlockPersonalizationPage?: boolean;
// Indicates whether or not to block access to Privacy in Settings app.
settingsBlockPrivacyPage?: boolean;
// Indicates whether or not to block the runtime configuration agent from removing provisioning packages.
settingsBlockRemoveProvisioningPackage?: boolean;
// Indicates whether or not to block access to Settings app.
settingsBlockSettingsApp?: boolean;
// Indicates whether or not to block access to System in Settings app.
settingsBlockSystemPage?: boolean;
// Indicates whether or not to block access to Time &amp; Language in Settings app.
settingsBlockTimeLanguagePage?: boolean;
// Indicates whether or not to block access to Update &amp; Security in Settings app.
settingsBlockUpdateSecurityPage?: boolean;
// Indicates whether or not to block multiple users of the same app to share data.
sharedUserAppDataAllowed?: boolean;
// Indicates whether or not users can override SmartScreen Filter warnings about potentially malicious websites.
smartScreenBlockPromptOverride?: boolean;
// Indicates whether or not users can override the SmartScreen Filter warnings about downloading unverified files
smartScreenBlockPromptOverrideForFiles?: boolean;
/**
* This property will be deprecated in July 2019 and will be replaced by property SmartScreenAppInstallControl. Allows IT
* Admins to control whether users are allowed to install apps from places other than the Store.
*/
smartScreenEnableAppInstallControl?: boolean;
// Indicates whether or not to block the user from unpinning apps from taskbar.
startBlockUnpinningAppsFromTaskbar?: boolean;
/**
* Setting the value of this collapses the app list, removes the app list entirely, or disables the corresponding toggle
* in the Settings app. Possible values are: userDefined, collapse, remove, disableSettingsApp.
*/
startMenuAppListVisibility?: WindowsStartMenuAppListVisibilityType;
// Enabling this policy hides the change account setting from appearing in the user tile in the start menu.
startMenuHideChangeAccountSettings?: boolean;
/**
* Enabling this policy hides the most used apps from appearing on the start menu and disables the corresponding toggle in
* the Settings app.
*/
startMenuHideFrequentlyUsedApps?: boolean;
// Enabling this policy hides hibernate from appearing in the power button in the start menu.
startMenuHideHibernate?: boolean;
// Enabling this policy hides lock from appearing in the user tile in the start menu.
startMenuHideLock?: boolean;
// Enabling this policy hides the power button from appearing in the start menu.
startMenuHidePowerButton?: boolean;
/**
* Enabling this policy hides recent jump lists from appearing on the start menu/taskbar and disables the corresponding
* toggle in the Settings app.
*/
startMenuHideRecentJumpLists?: boolean;
/**
* Enabling this policy hides recently added apps from appearing on the start menu and disables the corresponding toggle
* in the Settings app.
*/
startMenuHideRecentlyAddedApps?: boolean;
// Enabling this policy hides 'Restart/Update and Restart' from appearing in the power button in the start menu.
startMenuHideRestartOptions?: boolean;
// Enabling this policy hides shut down/update and shut down from appearing in the power button in the start menu.
startMenuHideShutDown?: boolean;
// Enabling this policy hides sign out from appearing in the user tile in the start menu.
startMenuHideSignOut?: boolean;
// Enabling this policy hides sleep from appearing in the power button in the start menu.
startMenuHideSleep?: boolean;
// Enabling this policy hides switch account from appearing in the user tile in the start menu.
startMenuHideSwitchAccount?: boolean;
// Enabling this policy hides the user tile from appearing in the start menu.
startMenuHideUserTile?: boolean;
/**
* This policy setting allows you to import Edge assets to be used with startMenuLayoutXml policy. Start layout can
* contain secondary tile from Edge app which looks for Edge local asset file. Edge local asset would not exist and cause
* Edge secondary tile to appear empty in this case. This policy only gets applied when startMenuLayoutXml policy is
* modified. The value should be a UTF-8 Base64 encoded byte array.
*/
startMenuLayoutEdgeAssetsXml?: NullableOption<string>;
/**
* Allows admins to override the default Start menu layout and prevents the user from changing it. The layout is modified
* by specifying an XML file based on a layout modification schema. XML needs to be in a UTF8 encoded byte array format.
*/
startMenuLayoutXml?: NullableOption<string>;
// Allows admins to decide how the Start menu is displayed. Possible values are: userDefined, fullScreen, nonFullScreen.
startMenuMode?: WindowsStartMenuModeType;
/**
* Enforces the visibility (Show/Hide) of the Documents folder shortcut on the Start menu. Possible values are:
* notConfigured, hide, show.
*/
startMenuPinnedFolderDocuments?: VisibilitySetting;
/**
* Enforces the visibility (Show/Hide) of the Downloads folder shortcut on the Start menu. Possible values are:
* notConfigured, hide, show.
*/
startMenuPinnedFolderDownloads?: VisibilitySetting;
/**
* Enforces the visibility (Show/Hide) of the FileExplorer shortcut on the Start menu. Possible values are: notConfigured,
* hide, show.
*/
startMenuPinnedFolderFileExplorer?: VisibilitySetting;
/**
* Enforces the visibility (Show/Hide) of the HomeGroup folder shortcut on the Start menu. Possible values are:
* notConfigured, hide, show.
*/
startMenuPinnedFolderHomeGroup?: VisibilitySetting;
/**
* Enforces the visibility (Show/Hide) of the Music folder shortcut on the Start menu. Possible values are: notConfigured,
* hide, show.
*/
startMenuPinnedFolderMusic?: VisibilitySetting;
/**
* Enforces the visibility (Show/Hide) of the Network folder shortcut on the Start menu. Possible values are:
* notConfigured, hide, show.
*/
startMenuPinnedFolderNetwork?: VisibilitySetting;
/**
* Enforces the visibility (Show/Hide) of the PersonalFolder shortcut on the Start menu. Possible values are:
* notConfigured, hide, show.
*/
startMenuPinnedFolderPersonalFolder?: VisibilitySetting;
/**
* Enforces the visibility (Show/Hide) of the Pictures folder shortcut on the Start menu. Possible values are:
* notConfigured, hide, show.
*/
startMenuPinnedFolderPictures?: VisibilitySetting;
/**
* Enforces the visibility (Show/Hide) of the Settings folder shortcut on the Start menu. Possible values are:
* notConfigured, hide, show.
*/
startMenuPinnedFolderSettings?: VisibilitySetting;
/**
* Enforces the visibility (Show/Hide) of the Videos folder shortcut on the Start menu. Possible values are:
* notConfigured, hide, show.
*/
startMenuPinnedFolderVideos?: VisibilitySetting;
// Indicates whether or not to Block the user from using removable storage.
storageBlockRemovableStorage?: boolean;
// Indicating whether or not to require encryption on a mobile device.
storageRequireMobileDeviceEncryption?: boolean;
// Indicates whether application data is restricted to the system drive.
storageRestrictAppDataToSystemVolume?: boolean;
// Indicates whether the installation of applications is restricted to the system drive.
storageRestrictAppInstallToSystemVolume?: boolean;
// Whether the device is required to connect to the network.
tenantLockdownRequireNetworkDuringOutOfBoxExperience?: boolean;
// Indicates whether or not to Block the user from USB connection.
usbBlocked?: boolean;
// Indicates whether or not to Block the user from voice recording.
voiceRecordingBlocked?: boolean;
// Indicates whether or not user's localhost IP address is displayed while making phone calls using the WebRTC
webRtcBlockLocalhostIpAddress?: boolean;
// Indicating whether or not to block automatically connecting to Wi-Fi hotspots. Has no impact if Wi-Fi is blocked.
wiFiBlockAutomaticConnectHotspots?: boolean;
// Indicates whether or not to Block the user from using Wi-Fi.
wiFiBlocked?: boolean;
// Indicates whether or not to Block the user from using Wi-Fi manual configuration.
wiFiBlockManualConfiguration?: boolean;
/**
* Specify how often devices scan for Wi-Fi networks. Supported values are 1-500, where 100 = default, and 500 = low
* frequency. Valid values 1 to 500
*/
wiFiScanInterval?: NullableOption<number>;
/**
* Allows IT admins to block experiences that are typically for consumers only, such as Start suggestions, Membership
* notifications, Post-OOBE app install and redirect tiles.
*/
windowsSpotlightBlockConsumerSpecificFeatures?: boolean;
// Allows IT admins to turn off all Windows Spotlight features
windowsSpotlightBlocked?: boolean;
/**
* Block suggestions from Microsoft that show after each OS clean install, upgrade or in an on-going basis to introduce
* users to what is new or changed
*/
windowsSpotlightBlockOnActionCenter?: boolean;
// Block personalized content in Windows spotlight based on users device usage.
windowsSpotlightBlockTailoredExperiences?: boolean;
// Block third party content delivered via Windows Spotlight
windowsSpotlightBlockThirdPartyNotifications?: boolean;
// Block Windows Spotlight Windows welcome experience
windowsSpotlightBlockWelcomeExperience?: boolean;
// Allows IT admins to turn off the popup of Windows Tips.
windowsSpotlightBlockWindowsTips?: boolean;
// Specifies the type of Spotlight. Possible values are: notConfigured, disabled, enabled.
windowsSpotlightConfigureOnLockScreen?: WindowsSpotlightEnablementSettings;
// Indicates whether or not to block automatic update of apps from Windows Store.
windowsStoreBlockAutoUpdate?: boolean;
// Indicates whether or not to Block the user from using the Windows store.
windowsStoreBlocked?: boolean;
// Indicates whether or not to enable Private Store Only.
windowsStoreEnablePrivateStoreOnly?: boolean;
// Indicates whether or not to allow other devices from discovering this PC for projection.
wirelessDisplayBlockProjectionToThisDevice?: boolean;
// Indicates whether or not to allow user input from wireless display receiver.
wirelessDisplayBlockUserInputFromReceiver?: boolean;
// Indicates whether or not to require a PIN for new devices to initiate pairing.
wirelessDisplayRequirePinForPairing?: boolean;
}
export interface Windows10MobileCompliancePolicy extends DeviceCompliancePolicy {
// Require devices to be reported healthy by Windows Device Health Attestation - bit locker is enabled
bitLockerEnabled?: boolean;
// Require devices to be reported as healthy by Windows Device Health Attestation.
codeIntegrityEnabled?: boolean;
/**
* Require devices to be reported as healthy by Windows Device Health Attestation - early launch antimalware driver is
* enabled.
*/
earlyLaunchAntiMalwareDriverEnabled?: boolean;
// Maximum Windows Phone version.
osMaximumVersion?: NullableOption<string>;
// Minimum Windows Phone version.
osMinimumVersion?: NullableOption<string>;
// Whether or not to block syncing the calendar.
passwordBlockSimple?: boolean;
// Number of days before password expiration. Valid values 1 to 255
passwordExpirationDays?: NullableOption<number>;
// The number of character sets required in the password.
passwordMinimumCharacterSetCount?: NullableOption<number>;
// Minimum password length. Valid values 4 to 16
passwordMinimumLength?: NullableOption<number>;
// Minutes of inactivity before a password is required.
passwordMinutesOfInactivityBeforeLock?: NullableOption<number>;
// The number of previous passwords to prevent re-use of.
passwordPreviousPasswordBlockCount?: NullableOption<number>;
// Require a password to unlock Windows Phone device.
passwordRequired?: boolean;
// The required password type. Possible values are: deviceDefault, alphanumeric, numeric.
passwordRequiredType?: RequiredPasswordType;
// Require a password to unlock an idle device.
passwordRequireToUnlockFromIdle?: boolean;
// Require devices to be reported as healthy by Windows Device Health Attestation - secure boot is enabled.
secureBootEnabled?: boolean;
// Require encryption on windows devices.
storageRequireEncryption?: boolean;
}
export interface Windows10SecureAssessmentConfiguration extends DeviceConfiguration {
// Indicates whether or not to allow the app from printing during the test.
allowPrinting?: boolean;
// Indicates whether or not to allow screen capture capability during a test.
allowScreenCapture?: boolean;
// Indicates whether or not to allow text suggestions during the test.
allowTextSuggestion?: boolean;
/**
* The account used to configure the Windows device for taking the test. The user can be a domain account (domain/user),
* an AAD account (username@tenant.com) or a local account (username).
*/
configurationAccount?: NullableOption<string>;
/**
* Url link to an assessment that's automatically loaded when the secure assessment browser is launched. It has to be a
* valid Url (http[s]://msdn.microsoft.com/).
*/
launchUri?: NullableOption<string>;
}
export interface Windows10TeamGeneralConfiguration extends DeviceConfiguration {
// Indicates whether or not to Block Azure Operational Insights.
azureOperationalInsightsBlockTelemetry?: boolean;
// The Azure Operational Insights workspace id.
azureOperationalInsightsWorkspaceId?: NullableOption<string>;
// The Azure Operational Insights Workspace key.
azureOperationalInsightsWorkspaceKey?: NullableOption<string>;
// Specifies whether to automatically launch the Connect app whenever a projection is initiated.
connectAppBlockAutoLaunch?: boolean;
// Indicates whether or not to Block setting a maintenance window for device updates.
maintenanceWindowBlocked?: boolean;
// Maintenance window duration for device updates. Valid values 0 to 5
maintenanceWindowDurationInHours?: NullableOption<number>;
// Maintenance window start time for device updates.
maintenanceWindowStartTime?: NullableOption<string>;
// Indicates whether or not to Block wireless projection.
miracastBlocked?: boolean;
/**
* The channel. Possible values are: userDefined, one, two, three, four, five, six, seven, eight, nine, ten, eleven,
* thirtySix, forty, fortyFour, fortyEight, oneHundredFortyNine, oneHundredFiftyThree, oneHundredFiftySeven,
* oneHundredSixtyOne, oneHundredSixtyFive.
*/
miracastChannel?: MiracastChannel;
// Indicates whether or not to require a pin for wireless projection.
miracastRequirePin?: boolean;
/**
* Specifies whether to disable the 'My meetings and files' feature in the Start menu, which shows the signed-in user's
* meetings and files from Office 365.
*/
settingsBlockMyMeetingsAndFiles?: boolean;
// Specifies whether to allow the ability to resume a session when the session times out.
settingsBlockSessionResume?: boolean;
// Specifies whether to disable auto-populating of the sign-in dialog with invitees from scheduled meetings.
settingsBlockSigninSuggestions?: boolean;
/**
* Specifies the default volume value for a new session. Permitted values are 0-100. The default is 45. Valid values 0 to
* 100
*/
settingsDefaultVolume?: NullableOption<number>;
// Specifies the number of minutes until the Hub screen turns off.
settingsScreenTimeoutInMinutes?: NullableOption<number>;
// Specifies the number of minutes until the session times out.
settingsSessionTimeoutInMinutes?: NullableOption<number>;
// Specifies the number of minutes until the Hub enters sleep mode.
settingsSleepTimeoutInMinutes?: NullableOption<number>;
// The welcome screen background image URL. The URL must use the HTTPS protocol and return a PNG image.
welcomeScreenBackgroundImageUrl?: NullableOption<string>;
// Indicates whether or not to Block the welcome screen from waking up automatically when someone enters the room.
welcomeScreenBlockAutomaticWakeUp?: boolean;
/**
* The welcome screen meeting information shown. Possible values are: userDefined, showOrganizerAndTimeOnly,
* showOrganizerAndTimeAndSubject.
*/
welcomeScreenMeetingInformation?: WelcomeScreenMeetingInformation;
}
export interface Windows81CompliancePolicy extends DeviceCompliancePolicy {
// Maximum Windows 8.1 version.
osMaximumVersion?: NullableOption<string>;
// Minimum Windows 8.1 version.
osMinimumVersion?: NullableOption<string>;
// Indicates whether or not to block simple password.
passwordBlockSimple?: boolean;
// Password expiration in days.
passwordExpirationDays?: NullableOption<number>;
// The number of character sets required in the password.
passwordMinimumCharacterSetCount?: NullableOption<number>;
// The minimum password length.
passwordMinimumLength?: NullableOption<number>;
// Minutes of inactivity before a password is required.
passwordMinutesOfInactivityBeforeLock?: NullableOption<number>;
// The number of previous passwords to prevent re-use of. Valid values 0 to 24
passwordPreviousPasswordBlockCount?: NullableOption<number>;
// Require a password to unlock Windows device.
passwordRequired?: boolean;
// The required password type. Possible values are: deviceDefault, alphanumeric, numeric.
passwordRequiredType?: RequiredPasswordType;
// Indicates whether or not to require encryption on a windows 8.1 device.
storageRequireEncryption?: boolean;
}
export interface Windows81GeneralConfiguration extends DeviceConfiguration {
/**
* Indicates whether or not to Block the user from adding email accounts to the device that are not associated with a
* Microsoft account.
*/
accountsBlockAddingNonMicrosoftAccountEmail?: boolean;
// Value indicating whether this policy only applies to Windows 8.1. This property is read-only.
applyOnlyToWindows81?: boolean;
// Indicates whether or not to block auto fill.
browserBlockAutofill?: boolean;
// Indicates whether or not to block automatic detection of Intranet sites.
browserBlockAutomaticDetectionOfIntranetSites?: boolean;
// Indicates whether or not to block enterprise mode access.
browserBlockEnterpriseModeAccess?: boolean;
// Indicates whether or not to Block the user from using JavaScript.
browserBlockJavaScript?: boolean;
// Indicates whether or not to block plug-ins.
browserBlockPlugins?: boolean;
// Indicates whether or not to block popups.
browserBlockPopups?: boolean;
// Indicates whether or not to Block the user from sending the do not track header.
browserBlockSendingDoNotTrackHeader?: boolean;
// Indicates whether or not to block a single word entry on Intranet sites.
browserBlockSingleWordEntryOnIntranetSites?: boolean;
// The enterprise mode site list location. Could be a local file, local network or http location.
browserEnterpriseModeSiteListLocation?: NullableOption<string>;
// The internet security level. Possible values are: userDefined, medium, mediumHigh, high.
browserInternetSecurityLevel?: InternetSiteSecurityLevel;
// The Intranet security level. Possible values are: userDefined, low, mediumLow, medium, mediumHigh, high.
browserIntranetSecurityLevel?: SiteSecurityLevel;
// The logging report location.
browserLoggingReportLocation?: NullableOption<string>;
// Indicates whether or not to require a firewall.
browserRequireFirewall?: boolean;
// Indicates whether or not to require fraud warning.
browserRequireFraudWarning?: boolean;
// Indicates whether or not to require high security for restricted sites.
browserRequireHighSecurityForRestrictedSites?: boolean;
// Indicates whether or not to require the user to use the smart screen filter.
browserRequireSmartScreen?: boolean;
// The trusted sites security level. Possible values are: userDefined, low, mediumLow, medium, mediumHigh, high.
browserTrustedSitesSecurityLevel?: SiteSecurityLevel;
// Indicates whether or not to block data roaming.
cellularBlockDataRoaming?: boolean;
// Indicates whether or not to block diagnostic data submission.
diagnosticsBlockDataSubmission?: boolean;
// Indicates whether or not to Block the user from using a pictures password and pin.
passwordBlockPicturePasswordAndPin?: boolean;
// Password expiration in days.
passwordExpirationDays?: NullableOption<number>;
// The number of character sets required in the password.
passwordMinimumCharacterSetCount?: NullableOption<number>;
// The minimum password length.
passwordMinimumLength?: NullableOption<number>;
// The minutes of inactivity before the screen times out.
passwordMinutesOfInactivityBeforeScreenTimeout?: NullableOption<number>;
// The number of previous passwords to prevent re-use of. Valid values 0 to 24
passwordPreviousPasswordBlockCount?: NullableOption<number>;
// The required password type. Possible values are: deviceDefault, alphanumeric, numeric.
passwordRequiredType?: RequiredPasswordType;
// The number of sign in failures before factory reset.
passwordSignInFailureCountBeforeFactoryReset?: NullableOption<number>;
// Indicates whether or not to require encryption on a mobile device.
storageRequireDeviceEncryption?: boolean;
// Indicates whether or not to require automatic updates.
updatesRequireAutomaticUpdates?: boolean;
/**
* The user account control settings. Possible values are: userDefined, alwaysNotify, notifyOnAppChanges,
* notifyOnAppChangesWithoutDimming, neverNotify.
*/
userAccountControlSettings?: WindowsUserAccountControlSettings;
// The work folders url.
workFoldersUrl?: NullableOption<string>;
}
export interface WindowsDefenderAdvancedThreatProtectionConfiguration extends DeviceConfiguration {
// Windows Defender AdvancedThreatProtection 'Allow Sample Sharing' Rule
allowSampleSharing?: boolean;
// Expedite Windows Defender Advanced Threat Protection telemetry reporting frequency.
enableExpeditedTelemetryReporting?: boolean;
}
export interface WindowsPhone81CompliancePolicy extends DeviceCompliancePolicy {
// Maximum Windows Phone version.
osMaximumVersion?: NullableOption<string>;
// Minimum Windows Phone version.
osMinimumVersion?: NullableOption<string>;
// Whether or not to block syncing the calendar.
passwordBlockSimple?: boolean;
// Number of days before the password expires.
passwordExpirationDays?: NullableOption<number>;
// The number of character sets required in the password.
passwordMinimumCharacterSetCount?: NullableOption<number>;
// Minimum length of passwords.
passwordMinimumLength?: NullableOption<number>;
// Minutes of inactivity before a password is required.
passwordMinutesOfInactivityBeforeLock?: NullableOption<number>;
// Number of previous passwords to block. Valid values 0 to 24
passwordPreviousPasswordBlockCount?: NullableOption<number>;
// Whether or not to require a password.
passwordRequired?: boolean;
// The required password type. Possible values are: deviceDefault, alphanumeric, numeric.
passwordRequiredType?: RequiredPasswordType;
// Require encryption on windows phone devices.
storageRequireEncryption?: boolean;
}
export interface WindowsPhone81CustomConfiguration extends DeviceConfiguration {
// OMA settings. This collection can contain a maximum of 1000 elements.
omaSettings?: NullableOption<OmaSetting[]>;
}
export interface WindowsPhone81GeneralConfiguration extends DeviceConfiguration {
// Value indicating whether this policy only applies to Windows Phone 8.1. This property is read-only.
applyOnlyToWindowsPhone81?: boolean;
// Indicates whether or not to block copy paste.
appsBlockCopyPaste?: boolean;
// Indicates whether or not to block bluetooth.
bluetoothBlocked?: boolean;
// Indicates whether or not to block camera.
cameraBlocked?: boolean;
// Indicates whether or not to block Wi-Fi tethering. Has no impact if Wi-Fi is blocked.
cellularBlockWifiTethering?: boolean;
// List that is in the AppComplianceList. Possible values are: none, appsInListCompliant, appsNotInListCompliant.
compliantAppListType?: AppListType;
/**
* List of apps in the compliance (either allow list or block list, controlled by CompliantAppListType). This collection
* can contain a maximum of 10000 elements.
*/
compliantAppsList?: NullableOption<AppListItem[]>;
// Indicates whether or not to block diagnostic data submission.
diagnosticDataBlockSubmission?: boolean;
// Indicates whether or not to block custom email accounts.
emailBlockAddingAccounts?: boolean;
// Indicates whether or not to block location services.
locationServicesBlocked?: boolean;
// Indicates whether or not to block using a Microsoft Account.
microsoftAccountBlocked?: boolean;
// Indicates whether or not to block Near-Field Communication.
nfcBlocked?: boolean;
// Indicates whether or not to block syncing the calendar.
passwordBlockSimple?: boolean;
// Number of days before the password expires.
passwordExpirationDays?: NullableOption<number>;
// Number of character sets a password must contain.
passwordMinimumCharacterSetCount?: NullableOption<number>;
// Minimum length of passwords.
passwordMinimumLength?: NullableOption<number>;
// Minutes of inactivity before screen timeout.
passwordMinutesOfInactivityBeforeScreenTimeout?: NullableOption<number>;
// Number of previous passwords to block. Valid values 0 to 24
passwordPreviousPasswordBlockCount?: NullableOption<number>;
// Indicates whether or not to require a password.
passwordRequired?: boolean;
// Password type that is required. Possible values are: deviceDefault, alphanumeric, numeric.
passwordRequiredType?: RequiredPasswordType;
// Number of sign in failures allowed before factory reset.
passwordSignInFailureCountBeforeFactoryReset?: NullableOption<number>;
// Indicates whether or not to block screenshots.
screenCaptureBlocked?: boolean;
// Indicates whether or not to block removable storage.
storageBlockRemovableStorage?: boolean;
// Indicates whether or not to require encryption.
storageRequireEncryption?: boolean;
// Indicates whether or not to block the web browser.
webBrowserBlocked?: boolean;
// Indicates whether or not to block automatically connecting to Wi-Fi hotspots. Has no impact if Wi-Fi is blocked.
wifiBlockAutomaticConnectHotspots?: boolean;
// Indicates whether or not to block Wi-Fi.
wifiBlocked?: boolean;
// Indicates whether or not to block Wi-Fi hotspot reporting. Has no impact if Wi-Fi is blocked.
wifiBlockHotspotReporting?: boolean;
// Indicates whether or not to block the Windows Store.
windowsStoreBlocked?: boolean;
}
export interface WindowsUpdateForBusinessConfiguration extends DeviceConfiguration {
/**
* When TRUE, allows eligible Windows 10 devices to upgrade to Windows 11. When FALSE, implies the device stays on the
* existing operating system. Returned by default. Query parameters are not supported.
*/
allowWindows11Upgrade?: boolean;
/**
* The Automatic Update Mode. Possible values are: UserDefined, NotifyDownload, AutoInstallAtMaintenanceTime,
* AutoInstallAndRebootAtMaintenanceTime, AutoInstallAndRebootAtScheduledTime, AutoInstallAndRebootWithoutEndUserControl,
* WindowsDefault. UserDefined is the default value, no intent. Returned by default. Query parameters are not supported.
* Possible values are: userDefined, notifyDownload, autoInstallAtMaintenanceTime, autoInstallAndRebootAtMaintenanceTime,
* autoInstallAndRebootAtScheduledTime, autoInstallAndRebootWithoutEndUserControl.
*/
automaticUpdateMode?: AutomaticUpdateMode;
/**
* Specify the method by which the auto-restart required notification is dismissed. Possible values are: NotConfigured,
* Automatic, User. Returned by default. Query parameters are not supported. Possible values are: notConfigured,
* automatic, user, unknownFutureValue.
*/
autoRestartNotificationDismissal?: AutoRestartNotificationDismissalMethod;
/**
* Determines which branch devices will receive their updates from. Possible values are: UserDefined, All,
* BusinessReadyOnly, WindowsInsiderBuildFast, WindowsInsiderBuildSlow, WindowsInsiderBuildRelease. Returned by default.
* Query parameters are not supported. Possible values are: userDefined, all, businessReadyOnly, windowsInsiderBuildFast,
* windowsInsiderBuildSlow, windowsInsiderBuildRelease.
*/
businessReadyUpdatesOnly?: WindowsUpdateType;
/**
* Number of days before feature updates are installed automatically with valid range from 0 to 30 days. Returned by
* default. Query parameters are not supported.
*/
deadlineForFeatureUpdatesInDays?: NullableOption<number>;
/**
* Number of days before quality updates are installed automatically with valid range from 0 to 30 days. Returned by
* default. Query parameters are not supported.
*/
deadlineForQualityUpdatesInDays?: NullableOption<number>;
/**
* Number of days after deadline until restarts occur automatically with valid range from 0 to 7 days. Returned by
* default. Query parameters are not supported.
*/
deadlineGracePeriodInDays?: NullableOption<number>;
/**
* The Delivery Optimization Mode. Possible values are: UserDefined, HttpOnly, HttpWithPeeringNat,
* HttpWithPeeringPrivateGroup, HttpWithInternetPeering, SimpleDownload, BypassMode. UserDefined allows the user to set.
* Returned by default. Query parameters are not supported. Possible values are: userDefined, httpOnly,
* httpWithPeeringNat, httpWithPeeringPrivateGroup, httpWithInternetPeering, simpleDownload, bypassMode.
*/
deliveryOptimizationMode?: WindowsDeliveryOptimizationMode;
/**
* When TRUE, excludes Windows update Drivers. When FALSE, does not exclude Windows update Drivers. Returned by default.
* Query parameters are not supported.
*/
driversExcluded?: boolean;
/**
* Deadline in days before automatically scheduling and executing a pending restart outside of active hours, with valid
* range from 2 to 30 days. Returned by default. Query parameters are not supported.
*/
engagedRestartDeadlineInDays?: NullableOption<number>;
/**
* Number of days a user can snooze Engaged Restart reminder notifications with valid range from 1 to 3 days. Returned by
* default. Query parameters are not supported.
*/
engagedRestartSnoozeScheduleInDays?: NullableOption<number>;
/**
* Number of days before transitioning from Auto Restarts scheduled outside of active hours to Engaged Restart, which
* requires the user to schedule, with valid range from 0 to 30 days. Returned by default. Query parameters are not
* supported.
*/
engagedRestartTransitionScheduleInDays?: NullableOption<number>;
/**
* Defer Feature Updates by these many days with valid range from 0 to 30 days. Returned by default. Query parameters are
* not supported.
*/
featureUpdatesDeferralPeriodInDays?: number;
/**
* When TRUE, assigned devices are paused from receiving feature updates for up to 35 days from the time you pause the
* ring. When FALSE, does not pause Feature Updates. Returned by default. Query parameters are not supported.s
*/
featureUpdatesPaused?: boolean;
/**
* The Feature Updates Pause Expiry datetime. This value is 35 days from the time admin paused or extended the pause for
* the ring. Returned by default. Query parameters are not supported.
*/
featureUpdatesPauseExpiryDateTime?: string;
/**
* The Feature Updates Pause start date. This value is the time when the admin paused or extended the pause for the ring.
* Returned by default. Query parameters are not supported. This property is read-only.
*/
featureUpdatesPauseStartDate?: NullableOption<string>;
/**
* The Feature Updates Rollback Start datetime.This value is the time when the admin rolled back the Feature update for
* the ring.Returned by default.Query parameters are not supported.
*/
featureUpdatesRollbackStartDateTime?: string;
/**
* The number of days after a Feature Update for which a rollback is valid with valid range from 2 to 60 days. Returned by
* default. Query parameters are not supported.
*/
featureUpdatesRollbackWindowInDays?: NullableOption<number>;
/**
* When TRUE, rollback Feature Updates on the next device check in. When FALSE, do not rollback Feature Updates on the
* next device check in. Returned by default.Query parameters are not supported.
*/
featureUpdatesWillBeRolledBack?: NullableOption<boolean>;
/**
* The Installation Schedule. Possible values are: ActiveHoursStart, ActiveHoursEnd, ScheduledInstallDay,
* ScheduledInstallTime. Returned by default. Query parameters are not supported.
*/
installationSchedule?: NullableOption<WindowsUpdateInstallScheduleType>;
/**
* When TRUE, allows Microsoft Update Service. When FALSE, does not allow Microsoft Update Service. Returned by default.
* Query parameters are not supported.
*/
microsoftUpdateServiceAllowed?: boolean;
/**
* When TRUE the device should wait until deadline for rebooting outside of active hours. When FALSE the device should not
* wait until deadline for rebooting outside of active hours. Returned by default. Query parameters are not supported.
*/
postponeRebootUntilAfterDeadline?: NullableOption<boolean>;
/**
* The Pre-Release Features. Possible values are: UserDefined, SettingsOnly, SettingsAndExperimentations, NotAllowed.
* UserDefined is the default value, no intent. Returned by default. Query parameters are not supported. Possible values
* are: userDefined, settingsOnly, settingsAndExperimentations, notAllowed.
*/
prereleaseFeatures?: PrereleaseFeatures;
/**
* Defer Quality Updates by these many days with valid range from 0 to 30 days. Returned by default. Query parameters are
* not supported.
*/
qualityUpdatesDeferralPeriodInDays?: number;
/**
* When TRUE, assigned devices are paused from receiving quality updates for up to 35 days from the time you pause the
* ring. When FALSE, does not pause Quality Updates. Returned by default. Query parameters are not supported.
*/
qualityUpdatesPaused?: boolean;
/**
* The Quality Updates Pause Expiry datetime. This value is 35 days from the time admin paused or extended the pause for
* the ring. Returned by default. Query parameters are not supported.
*/
qualityUpdatesPauseExpiryDateTime?: string;
/**
* The Quality Updates Pause start date. This value is the time when the admin paused or extended the pause for the ring.
* Returned by default. Query parameters are not supported. This property is read-only.
*/
qualityUpdatesPauseStartDate?: NullableOption<string>;
/**
* The Quality Updates Rollback Start datetime. This value is the time when the admin rolled back the Quality update for
* the ring. Returned by default. Query parameters are not supported.
*/
qualityUpdatesRollbackStartDateTime?: string;
/**
* When TRUE, rollback Quality Updates on the next device check in. When FALSE, do not rollback Quality Updates on the
* next device check in. Returned by default. Query parameters are not supported.
*/
qualityUpdatesWillBeRolledBack?: NullableOption<boolean>;
/**
* Specify the period for auto-restart imminent warning notifications. Supported values: 15, 30 or 60 (minutes). Returned
* by default. Query parameters are not supported.
*/
scheduleImminentRestartWarningInMinutes?: NullableOption<number>;
/**
* Specify the period for auto-restart warning reminder notifications. Supported values: 2, 4, 8, 12 or 24 (hours).
* Returned by default. Query parameters are not supported.
*/
scheduleRestartWarningInHours?: NullableOption<number>;
/**
* When TRUE, skips all checks before restart: Battery level = 40%, User presence, Display Needed, Presentation mode, Full
* screen mode, phone call state, game mode etc. When FALSE, does not skip all checks before restart. Returned by default.
* Query parameters are not supported.
*/
skipChecksBeforeRestart?: boolean;
/**
* Specifies what Windows Update notifications users see. Possible values are: NotConfigured, DefaultNotifications,
* RestartWarningsOnly, DisableAllNotifications. Returned by default. Query parameters are not supported. Possible values
* are: notConfigured, defaultNotifications, restartWarningsOnly, disableAllNotifications, unknownFutureValue.
*/
updateNotificationLevel?: WindowsUpdateNotificationDisplayOption;
/**
* Schedule the update installation on the weeks of the month. Possible values are: UserDefined, FirstWeek, SecondWeek,
* ThirdWeek, FourthWeek, EveryWeek. Returned by default. Query parameters are not supported. Possible values are:
* userDefined, firstWeek, secondWeek, thirdWeek, fourthWeek, everyWeek, unknownFutureValue.
*/
updateWeeks?: NullableOption<WindowsUpdateForBusinessUpdateWeeks>;
/**
* Specifies whether to enable end users access to pause software updates. Possible values are: NotConfigured, Enabled,
* Disabled. Returned by default. Query parameters are not supported. Possible values are: notConfigured, enabled,
* disabled.
*/
userPauseAccess?: Enablement;
/**
* Specifies whether to disable users access to scan Windows Update. Possible values are: NotConfigured, Enabled,
* Disabled. Returned by default. Query parameters are not supported. Possible values are: notConfigured, enabled,
* disabled.
*/
userWindowsUpdateScanAccess?: Enablement;
}
export interface EnrollmentConfigurationAssignment extends Entity {
// Represents an assignment to managed devices in the tenant
target?: NullableOption<DeviceAndAppManagementAssignmentTarget>;
}
export interface DeviceEnrollmentLimitConfiguration extends DeviceEnrollmentConfiguration {
// The maximum number of devices that a user can enroll
limit?: number;
}
export interface DeviceEnrollmentPlatformRestrictionsConfiguration extends DeviceEnrollmentConfiguration {
// Android restrictions based on platform, platform operating system version, and device ownership
androidRestriction?: NullableOption<DeviceEnrollmentPlatformRestriction>;
// Ios restrictions based on platform, platform operating system version, and device ownership
iosRestriction?: NullableOption<DeviceEnrollmentPlatformRestriction>;
// Mac restrictions based on platform, platform operating system version, and device ownership
macOSRestriction?: NullableOption<DeviceEnrollmentPlatformRestriction>;
// Windows mobile restrictions based on platform, platform operating system version, and device ownership
windowsMobileRestriction?: NullableOption<DeviceEnrollmentPlatformRestriction>;
// Windows restrictions based on platform, platform operating system version, and device ownership
windowsRestriction?: NullableOption<DeviceEnrollmentPlatformRestriction>;
}
export interface DeviceEnrollmentWindowsHelloForBusinessConfiguration extends DeviceEnrollmentConfiguration {
/**
* Controls the ability to use the anti-spoofing features for facial recognition on devices which support it. If set to
* disabled, anti-spoofing features are not allowed. If set to Not Configured, the user can choose whether they want to
* use anti-spoofing. Possible values are: notConfigured, enabled, disabled.
*/
enhancedBiometricsState?: Enablement;
/**
* Controls the period of time (in days) that a PIN can be used before the system requires the user to change it. This
* must be set between 0 and 730, inclusive. If set to 0, the user's PIN will never expire
*/
pinExpirationInDays?: number;
/**
* Controls the ability to use lowercase letters in the Windows Hello for Business PIN. Allowed permits the use of
* lowercase letter(s), whereas Required ensures they are present. If set to Not Allowed, lowercase letters will not be
* permitted. Possible values are: allowed, required, disallowed.
*/
pinLowercaseCharactersUsage?: WindowsHelloForBusinessPinUsage;
/**
* Controls the maximum number of characters allowed for the Windows Hello for Business PIN. This value must be between 4
* and 127, inclusive. This value must be greater than or equal to the value set for the minimum PIN.
*/
pinMaximumLength?: number;
/**
* Controls the minimum number of characters required for the Windows Hello for Business PIN. This value must be between 4
* and 127, inclusive, and less than or equal to the value set for the maximum PIN.
*/
pinMinimumLength?: number;
/**
* Controls the ability to prevent users from using past PINs. This must be set between 0 and 50, inclusive, and the
* current PIN of the user is included in that count. If set to 0, previous PINs are not stored. PIN history is not
* preserved through a PIN reset.
*/
pinPreviousBlockCount?: number;
/**
* Controls the ability to use special characters in the Windows Hello for Business PIN. Allowed permits the use of
* special character(s), whereas Required ensures they are present. If set to Not Allowed, special character(s) will not
* be permitted. Possible values are: allowed, required, disallowed.
*/
pinSpecialCharactersUsage?: WindowsHelloForBusinessPinUsage;
/**
* Controls the ability to use uppercase letters in the Windows Hello for Business PIN. Allowed permits the use of
* uppercase letter(s), whereas Required ensures they are present. If set to Not Allowed, uppercase letters will not be
* permitted. Possible values are: allowed, required, disallowed.
*/
pinUppercaseCharactersUsage?: WindowsHelloForBusinessPinUsage;
/**
* Controls the use of Remote Windows Hello for Business. Remote Windows Hello for Business provides the ability for a
* portable, registered device to be usable as a companion for desktop authentication. The desktop must be Azure AD joined
* and the companion device must have a Windows Hello for Business PIN.
*/
remotePassportEnabled?: boolean;
/**
* Controls whether to require a Trusted Platform Module (TPM) for provisioning Windows Hello for Business. A TPM provides
* an additional security benefit in that data stored on it cannot be used on other devices. If set to False, all devices
* can provision Windows Hello for Business even if there is not a usable TPM.
*/
securityDeviceRequired?: boolean;
/**
* Controls whether to allow the device to be configured for Windows Hello for Business. If set to disabled, the user
* cannot provision Windows Hello for Business except on Azure Active Directory joined mobile phones if otherwise
* required. If set to Not Configured, Intune will not override client defaults. Possible values are: notConfigured,
* enabled, disabled.
*/
state?: Enablement;
/**
* Controls the use of biometric gestures, such as face and fingerprint, as an alternative to the Windows Hello for
* Business PIN. If set to False, biometric gestures are not allowed. Users must still configure a PIN as a backup in case
* of failures.
*/
unlockWithBiometricsEnabled?: boolean;
}
export interface UserExperienceAnalyticsDevicePerformance extends Entity {
// Average (mean) number of Blue Screens per device in the last 30 days. Valid values 0 to 9999999
averageBlueScreens?: number;
// Average (mean) number of Restarts per device in the last 30 days. Valid values 0 to 9999999
averageRestarts?: number;
// Number of Blue Screens in the last 30 days. Valid values 0 to 9999999
blueScreenCount?: number;
// The user experience analytics device boot score.
bootScore?: number;
// The user experience analytics device core boot time in milliseconds.
coreBootTimeInMs?: number;
// The user experience analytics device core login time in milliseconds.
coreLoginTimeInMs?: number;
// User experience analytics summarized device count.
deviceCount?: number;
// The user experience analytics device name.
deviceName?: NullableOption<string>;
// The user experience analytics device disk type.
diskType?: DiskType;
// The user experience analytics device group policy boot time in milliseconds.
groupPolicyBootTimeInMs?: number;
// The user experience analytics device group policy login time in milliseconds.
groupPolicyLoginTimeInMs?: number;
// The health state of the user experience analytics device.
healthStatus?: UserExperienceAnalyticsHealthState;
// The user experience analytics device login score.
loginScore?: number;
// The user experience analytics device manufacturer.
manufacturer?: NullableOption<string>;
// The user experience analytics device model.
model?: NullableOption<string>;
/**
* The user experience analytics model level startup performance score. Valid values -1.79769313486232E+308 to
* 1.79769313486232E+308
*/
modelStartupPerformanceScore?: number;
// The user experience analytics device Operating System version.
operatingSystemVersion?: NullableOption<string>;
// The user experience analytics responsive desktop time in milliseconds.
responsiveDesktopTimeInMs?: number;
// Number of Restarts in the last 30 days. Valid values 0 to 9999999
restartCount?: number;
/**
* The user experience analytics device startup performance score. Valid values -1.79769313486232E+308 to
* 1.79769313486232E+308
*/
startupPerformanceScore?: number;
}
// tslint:disable-next-line: interface-name
export interface ImportedWindowsAutopilotDeviceIdentityUpload extends Entity {
// DateTime when the entity is created.
createdDateTimeUtc?: string;
// Upload status.
status?: ImportedWindowsAutopilotDeviceIdentityUploadStatus;
// Collection of all Autopilot devices as a part of this upload.
deviceIdentities?: NullableOption<ImportedWindowsAutopilotDeviceIdentity[]>;
}
export interface ManagedMobileApp extends Entity {
// The identifier for an app with it's operating system type.
mobileAppIdentifier?: NullableOption<MobileAppIdentifier>;
// Version of the entity.
version?: NullableOption<string>;
}
export interface ManagedAppPolicyDeploymentSummary extends Entity {
// Not yet documented
configurationDeployedUserCount?: number;
// Not yet documented
configurationDeploymentSummaryPerApp?: NullableOption<ManagedAppPolicyDeploymentSummaryPerApp[]>;
// Not yet documented
displayName?: NullableOption<string>;
// Not yet documented
lastRefreshTime?: string;
// Version of the entity.
version?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface AndroidManagedAppRegistration extends ManagedAppRegistration {}
// tslint:disable-next-line: interface-name no-empty-interface
export interface IosManagedAppRegistration extends ManagedAppRegistration {}
export interface ManagedAppOperation extends Entity {
// The operation name.
displayName?: NullableOption<string>;
// The last time the app operation was modified.
lastModifiedDateTime?: string;
// The current state of the operation
state?: NullableOption<string>;
// Version of the entity.
version?: NullableOption<string>;
}
export interface ManagedAppStatusRaw extends ManagedAppStatus {
// Status report content.
content?: NullableOption<any>;
}
export interface TargetedManagedAppPolicyAssignment extends Entity {
// Identifier for deployment to a group or app
target?: NullableOption<DeviceAndAppManagementAssignmentTarget>;
}
export interface WindowsInformationProtectionAppLockerFile extends Entity {
// The friendly name
displayName?: NullableOption<string>;
// File as a byte array
file?: NullableOption<string>;
// SHA256 hash of the file
fileHash?: NullableOption<string>;
// Version of the entity.
version?: NullableOption<string>;
}
export interface LocalizedNotificationMessage extends Entity {
/**
* Flag to indicate whether or not this is the default locale for language fallback. This flag can only be set. To unset,
* set this property to true on another Localized Notification Message.
*/
isDefault?: boolean;
// DateTime the object was last modified.
lastModifiedDateTime?: string;
// The Locale for which this message is destined.
locale?: string;
// The Message Template content.
messageTemplate?: string;
// The Message Template Subject.
subject?: string;
}
// tslint:disable-next-line: no-empty-interface
export interface DeviceAndAppManagementRoleDefinition extends RoleDefinition {}
export interface DeviceManagementExportJob extends Entity {
// Time that the exported report expires
expirationDateTime?: string;
// Filters applied on the report
filter?: NullableOption<string>;
// Format of the exported report. Possible values are: csv, pdf, json, unknownFutureValue.
format?: DeviceManagementReportFileFormat;
/**
* Configures how the requested export job is localized. Possible values are: localizedValuesAsAdditionalColumn,
* replaceLocalizableValues.
*/
localizationType?: DeviceManagementExportJobLocalizationType;
// Name of the report
reportName?: string;
// Time that the exported report was requested
requestDateTime?: string;
// Columns selected from the report
select?: NullableOption<string[]>;
/**
* A snapshot is an identifiable subset of the dataset represented by the ReportName. A sessionId or
* CachedReportConfiguration id can be used here. If a sessionId is specified, Filter, Select, and OrderBy are applied to
* the data represented by the sessionId. Filter, Select, and OrderBy cannot be specified together with a
* CachedReportConfiguration id.
*/
snapshotId?: NullableOption<string>;
// Status of the export job. Possible values are: unknown, notStarted, inProgress, completed, failed.
status?: DeviceManagementReportStatus;
// Temporary location of the exported report
url?: NullableOption<string>;
}
export interface EnrollmentTroubleshootingEvent extends DeviceManagementTroubleshootingEvent {
// Azure AD device identifier.
deviceId?: NullableOption<string>;
/**
* Type of the enrollment. Possible values are: unknown, userEnrollment, deviceEnrollmentManager, appleBulkWithUser,
* appleBulkWithoutUser, windowsAzureADJoin, windowsBulkUserless, windowsAutoEnrollment, windowsBulkAzureDomainJoin,
* windowsCoManagement, windowsAzureADJoinUsingDeviceAuth, appleUserEnrollment, appleUserEnrollmentWithServiceAccount.
*/
enrollmentType?: DeviceEnrollmentType;
/**
* Highlevel failure category. Possible values are: unknown, authentication, authorization, accountValidation,
* userValidation, deviceNotSupported, inMaintenance, badRequest, featureNotSupported, enrollmentRestrictionsEnforced,
* clientDisconnected, userAbandonment.
*/
failureCategory?: DeviceEnrollmentFailureReason;
// Detailed failure reason.
failureReason?: NullableOption<string>;
// Device identifier created or collected by Intune.
managedDeviceIdentifier?: NullableOption<string>;
// Operating System.
operatingSystem?: NullableOption<string>;
// OS Version.
osVersion?: NullableOption<string>;
// Identifier for the user that tried to enroll the device.
userId?: NullableOption<string>;
}
export interface ServiceHealth extends Entity {
/**
* The service name. Use the list healthOverviews operation to get exact string names for services subscribed by the
* tenant.
*/
service?: string;
/**
* Show the overral service health status. Possible values are: serviceOperational, investigating, restoringService,
* verifyingService, serviceRestored, postIncidentReviewPublished, serviceDegradation, serviceInterruption,
* extendedRecovery, falsePositive, investigationSuspended, resolved, mitigatedExternal, mitigated, resolvedExternal,
* confirmed, reported, unknownFutureValue. For more details, see serviceHealthStatus values.
*/
status?: ServiceHealthStatus;
// A collection of issues that happened on the service, with detailed information for each issue.
issues?: NullableOption<ServiceHealthIssue[]>;
}
export interface ServiceAnnouncementBase extends Entity {
// Additional details about service event. This property doesn't support filters.
details?: NullableOption<KeyValuePair[]>;
// The end time of the service event.
endDateTime?: NullableOption<string>;
// The last modified time of the service event.
lastModifiedDateTime?: string;
// The start time of the service event.
startDateTime?: string;
// The title of the service event.
title?: string;
}
export interface ServiceHealthIssue extends ServiceAnnouncementBase {
// The type of service health issue. Possible values are: advisory, incident, unknownFutureValue.
classification?: ServiceHealthClassificationType;
// The feature name of the service issue.
feature?: NullableOption<string>;
// The feature group name of the service issue.
featureGroup?: NullableOption<string>;
// The description of the service issue impact.
impactDescription?: string;
// Indicates whether the issue is resolved.
isResolved?: boolean;
// Indicates the origin of the service issue. Possible values are: microsoft, thirdParty, customer, unknownFutureValue.
origin?: ServiceHealthOrigin;
// Collection of historical posts for the service issue.
posts?: ServiceHealthIssuePost[];
// Indicates the service affected by the issue.
service?: string;
/**
* The status of the service issue. Possible values are: serviceOperational, investigating, restoringService,
* verifyingService, serviceRestored, postIncidentReviewPublished, serviceDegradation, serviceInterruption,
* extendedRecovery, falsePositive, investigationSuspended, resolved, mitigatedExternal, mitigated, resolvedExternal,
* confirmed, reported, unknownFutureValue. See more in the table below.
*/
status?: ServiceHealthStatus;
}
export interface ServiceUpdateMessage extends ServiceAnnouncementBase {
// The expected deadline of the action for the message.
actionRequiredByDateTime?: NullableOption<string>;
// The zip file that contains all attachments for a message.
attachmentsArchive?: NullableOption<any>;
// The content type and content of the service message body. The supported value for the contentType property is html.
body?: ItemBody;
// The service message category. Possible values are: preventOrFixIssue, planForChange, stayInformed, unknownFutureValue.
category?: ServiceUpdateCategory;
// Indicates whether the message has any attachment.
hasAttachments?: boolean;
// Indicates whether the message describes a major update for the service.
isMajorChange?: NullableOption<boolean>;
// The affected services by the service message.
services?: NullableOption<string[]>;
// The severity of the service message. Possible values are: normal, high, critical, unknownFutureValue.
severity?: ServiceUpdateSeverity;
/**
* A collection of tags for the service message. Tags are provided by the service team/support team who post the message
* to tell whether this message contains privacy data, or whether this message is for a service new feature update, and so
* on.
*/
tags?: NullableOption<string[]>;
/**
* Represents user viewpoints data of the service message. This data includes message status such as whether the user has
* archived, read, or marked the message as favorite. This property is null when accessed with application permissions.
*/
viewPoint?: NullableOption<ServiceUpdateMessageViewpoint>;
// A collection of serviceAnnouncementAttachments.
attachments?: NullableOption<ServiceAnnouncementAttachment[]>;
}
export interface ServiceAnnouncementAttachment extends Entity {
// The attachment content.
content?: NullableOption<any>;
contentType?: NullableOption<string>;
lastModifiedDateTime?: NullableOption<string>;
name?: NullableOption<string>;
size?: number;
}
// tslint:disable-next-line: no-empty-interface
export interface SearchEntity extends Entity {}
export interface Planner extends Entity {
// Read-only. Nullable. Returns a collection of the specified buckets
buckets?: NullableOption<PlannerBucket[]>;
// Read-only. Nullable. Returns a collection of the specified plans
plans?: NullableOption<PlannerPlan[]>;
// Read-only. Nullable. Returns a collection of the specified tasks
tasks?: NullableOption<PlannerTask[]>;
}
export interface PlannerBucket extends Entity {
// Name of the bucket.
name?: string;
/**
* Hint used to order items of this type in a list view. For details about the supported format, see Using order hints in
* Planner.
*/
orderHint?: NullableOption<string>;
// Plan ID to which the bucket belongs.
planId?: NullableOption<string>;
// Read-only. Nullable. The collection of tasks in the bucket.
tasks?: NullableOption<PlannerTask[]>;
}
export interface PlannerPlan extends Entity {
/**
* Identifies the container of the plan. Specify only the url, the containerId and type, or all properties. After it is
* set, this property cant be updated. Required.
*/
container?: NullableOption<PlannerPlanContainer>;
// Read-only. The user who created the plan.
createdBy?: NullableOption<IdentitySet>;
/**
* Read-only. Date and time at which the plan is created. 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 is 2014-01-01T00:00:00Z
*/
createdDateTime?: NullableOption<string>;
owner?: NullableOption<string>;
// Required. Title of the plan.
title?: string;
// Read-only. Nullable. Collection of buckets in the plan.
buckets?: NullableOption<PlannerBucket[]>;
// Read-only. Nullable. Additional details about the plan.
details?: NullableOption<PlannerPlanDetails>;
// Read-only. Nullable. Collection of tasks in the plan.
tasks?: NullableOption<PlannerTask[]>;
}
export interface PlannerTask extends Entity {
// Number of checklist items with value set to false, representing incomplete items.
activeChecklistItemCount?: NullableOption<number>;
// The categories to which the task has been applied. See applied Categories for possible values.
appliedCategories?: NullableOption<PlannerAppliedCategories>;
// Hint used to order items of this type in a list view. The format is defined as outlined here.
assigneePriority?: NullableOption<string>;
// The set of assignees the task is assigned to.
assignments?: NullableOption<PlannerAssignments>;
/**
* Bucket ID to which the task belongs. The bucket needs to be in the plan that the task is in. It is 28 characters long
* and case-sensitive. Format validation is done on the service.
*/
bucketId?: NullableOption<string>;
// Number of checklist items that are present on the task.
checklistItemCount?: NullableOption<number>;
// Identity of the user that completed the task.
completedBy?: NullableOption<IdentitySet>;
/**
* Read-only. Date and time at which the 'percentComplete' of the task is set to '100'. 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 is
* 2014-01-01T00:00:00Z
*/
completedDateTime?: NullableOption<string>;
// Thread ID of the conversation on the task. This is the ID of the conversation thread object created in the group.
conversationThreadId?: NullableOption<string>;
// Identity of the user that created the task.
createdBy?: NullableOption<IdentitySet>;
/**
* Read-only. Date and time at which the task is created. 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 is 2014-01-01T00:00:00Z
*/
createdDateTime?: NullableOption<string>;
/**
* Date and time at which the task is due. 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 is 2014-01-01T00:00:00Z
*/
dueDateTime?: NullableOption<string>;
// Read-only. Value is true if the details object of the task has a non-empty description and false otherwise.
hasDescription?: NullableOption<boolean>;
// Hint used to order items of this type in a list view. The format is defined as outlined here.
orderHint?: NullableOption<string>;
// Percentage of task completion. When set to 100, the task is considered completed.
percentComplete?: NullableOption<number>;
// Plan ID to which the task belongs.
planId?: NullableOption<string>;
/**
* This sets the type of preview that shows up on the task. The possible values are: automatic, noPreview, checklist,
* description, reference.
*/
previewType?: NullableOption<PlannerPreviewType>;
/**
* Priority of the task. The valid range of values is between 0 and 10, with the increasing value being lower priority (0
* has the highest priority and 10 has the lowest priority). Currently, Planner interprets values 0 and 1 as 'urgent', 2,
* 3 and 4 as 'important', 5, 6, and 7 as 'medium', and 8, 9, and 10 as 'low'. Additionally, Planner sets the value 1 for
* 'urgent', 3 for 'important', 5 for 'medium', and 9 for 'low'.
*/
priority?: NullableOption<number>;
// Number of external references that exist on the task.
referenceCount?: NullableOption<number>;
/**
* Date and time at which the task starts. 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 is 2014-01-01T00:00:00Z
*/
startDateTime?: NullableOption<string>;
// Title of the task.
title?: string;
// Read-only. Nullable. Used to render the task correctly in the task board view when grouped by assignedTo.
assignedToTaskBoardFormat?: NullableOption<PlannerAssignedToTaskBoardTaskFormat>;
// Read-only. Nullable. Used to render the task correctly in the task board view when grouped by bucket.
bucketTaskBoardFormat?: NullableOption<PlannerBucketTaskBoardTaskFormat>;
// Read-only. Nullable. Additional details about the task.
details?: NullableOption<PlannerTaskDetails>;
// Read-only. Nullable. Used to render the task correctly in the task board view when grouped by progress.
progressTaskBoardFormat?: NullableOption<PlannerProgressTaskBoardTaskFormat>;
}
export interface PlannerAssignedToTaskBoardTaskFormat extends Entity {
/**
* Dictionary of hints used to order tasks on the AssignedTo view of the Task Board. The key of each entry is one of the
* users the task is assigned to and the value is the order hint. The format of each value is defined as outlined here.
*/
orderHintsByAssignee?: NullableOption<PlannerOrderHintsByAssignee>;
/**
* Hint value used to order the task on the AssignedTo view of the Task Board when the task is not assigned to anyone, or
* if the orderHintsByAssignee dictionary does not provide an order hint for the user the task is assigned to. The format
* is defined as outlined here.
*/
unassignedOrderHint?: NullableOption<string>;
}
export interface PlannerBucketTaskBoardTaskFormat extends Entity {
/**
* Hint used to order tasks in the bucket view of the task board. For details about the supported format, see Using order
* hints in Planner.
*/
orderHint?: NullableOption<string>;
}
export interface PlannerPlanDetails extends Entity {
// An object that specifies the descriptions of the 25 categories that can be associated with tasks in the plan.
categoryDescriptions?: NullableOption<PlannerCategoryDescriptions>;
/**
* Set of user IDs that this plan is shared with. If you are leveraging Microsoft 365 groups, use the Groups API to manage
* group membership to share the group's plan. You can also add existing members of the group to this collection, although
* it is not required for them to access the plan owned by the group.
*/
sharedWith?: NullableOption<PlannerUserIds>;
}
export interface PlannerProgressTaskBoardTaskFormat extends Entity {
/**
* Hint value used to order the task on the progress view of the task board. For details about the supported format, see
* Using order hints in Planner.
*/
orderHint?: NullableOption<string>;
}
export interface PlannerTaskDetails extends Entity {
// The collection of checklist items on the task.
checklist?: NullableOption<PlannerChecklistItems>;
// Description of the task.
description?: NullableOption<string>;
/**
* This sets the type of preview that shows up on the task. The possible values are: automatic, noPreview, checklist,
* description, reference. When set to automatic the displayed preview is chosen by the app viewing the task.
*/
previewType?: NullableOption<PlannerPreviewType>;
// The collection of references on the task.
references?: NullableOption<PlannerExternalReferences>;
}
export interface SharedInsight extends Entity {
// Details about the shared item. Read only.
lastShared?: NullableOption<SharingDetail>;
// Reference properties of the shared document, such as the url and type of the document. Read-only
resourceReference?: NullableOption<ResourceReference>;
// Properties that you can use to visualize the document in your experience. Read-only
resourceVisualization?: NullableOption<ResourceVisualization>;
sharingHistory?: NullableOption<SharingDetail[]>;
lastSharedMethod?: NullableOption<Entity>;
/**
* Used for navigating to the item that was shared. For file attachments, the type is fileAttachment. For linked
* attachments, the type is driveItem.
*/
resource?: NullableOption<Entity>;
}
export interface Trending extends Entity {
lastModifiedDateTime?: NullableOption<string>;
// Reference properties of the trending document, such as the url and type of the document.
resourceReference?: NullableOption<ResourceReference>;
// Properties that you can use to visualize the document in your experience.
resourceVisualization?: NullableOption<ResourceVisualization>;
/**
* Value indicating how much the document is currently trending. The larger the number, the more the document is currently
* trending around the user (the more relevant it is). Returned documents are sorted by this value.
*/
weight?: number;
// Used for navigating to the trending document.
resource?: NullableOption<Entity>;
}
export interface UsedInsight extends Entity {
// Information about when the item was last viewed or modified by the user. Read only.
lastUsed?: NullableOption<UsageDetails>;
// Reference properties of the used document, such as the url and type of the document. Read-only
resourceReference?: NullableOption<ResourceReference>;
// Properties that you can use to visualize the document in your experience. Read-only
resourceVisualization?: NullableOption<ResourceVisualization>;
/**
* Used for navigating to the item that was used. For file attachments, the type is fileAttachment. For linked
* attachments, the type is driveItem.
*/
resource?: NullableOption<Entity>;
}
export interface ChangeTrackedEntity extends Entity {
/**
* 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 is 2014-01-01T00:00:00Z
*/
createdDateTime?: NullableOption<string>;
// Identity of the person who last modified the entity.
lastModifiedBy?: NullableOption<IdentitySet>;
/**
* 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 is 2014-01-01T00:00:00Z
*/
lastModifiedDateTime?: NullableOption<string>;
}
export interface ShiftPreferences extends ChangeTrackedEntity {
// Availability of the user to be scheduled for work and its recurrence pattern.
availability?: NullableOption<ShiftAvailability[]>;
}
export interface OnenoteEntityBaseModel extends Entity {
// The endpoint where you can get details about the page. Read-only.
self?: NullableOption<string>;
}
export interface OnenoteEntitySchemaObjectModel extends OnenoteEntityBaseModel {
/**
* The date and time when the page was created. The timestamp represents date and time information using ISO 8601 format
* and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Read-only.
*/
createdDateTime?: NullableOption<string>;
}
export interface OnenoteEntityHierarchyModel extends OnenoteEntitySchemaObjectModel {
// Identity of the user, device, and application which created the item. Read-only.
createdBy?: NullableOption<IdentitySet>;
// The name of the notebook.
displayName?: NullableOption<string>;
// Identity of the user, device, and application which created the item. Read-only.
lastModifiedBy?: NullableOption<IdentitySet>;
/**
* The date and time when the notebook was last modified. The timestamp represents date and time information using ISO
* 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Read-only.
*/
lastModifiedDateTime?: NullableOption<string>;
}
export interface Notebook extends OnenoteEntityHierarchyModel {
// Indicates whether this is the user's default notebook. Read-only.
isDefault?: NullableOption<boolean>;
/**
* Indicates whether the notebook is shared. If true, the contents of the notebook can be seen by people other than the
* owner. Read-only.
*/
isShared?: NullableOption<boolean>;
/**
* Links for opening the notebook. The oneNoteClientURL link opens the notebook in the OneNote native client if it's
* installed. The oneNoteWebURL link opens the notebook in OneNote on the web.
*/
links?: NullableOption<NotebookLinks>;
// The URL for the sectionGroups navigation property, which returns all the section groups in the notebook. Read-only.
sectionGroupsUrl?: NullableOption<string>;
// The URL for the sections navigation property, which returns all the sections in the notebook. Read-only.
sectionsUrl?: NullableOption<string>;
/**
* Possible values are: Owner, Contributor, Reader, None. Owner represents owner-level access to the notebook. Contributor
* represents read/write access to the notebook. Reader represents read-only access to the notebook. Read-only.
*/
userRole?: NullableOption<OnenoteUserRole>;
// The section groups in the notebook. Read-only. Nullable.
sectionGroups?: NullableOption<SectionGroup[]>;
// The sections in the notebook. Read-only. Nullable.
sections?: NullableOption<OnenoteSection[]>;
}
export interface SectionGroup extends OnenoteEntityHierarchyModel {
/**
* The URL for the sectionGroups navigation property, which returns all the section groups in the section group.
* Read-only.
*/
sectionGroupsUrl?: NullableOption<string>;
// The URL for the sections navigation property, which returns all the sections in the section group. Read-only.
sectionsUrl?: NullableOption<string>;
// The notebook that contains the section group. Read-only.
parentNotebook?: NullableOption<Notebook>;
// The section group that contains the section group. Read-only.
parentSectionGroup?: NullableOption<SectionGroup>;
// The section groups in the section. Read-only. Nullable.
sectionGroups?: NullableOption<SectionGroup[]>;
// The sections in the section group. Read-only. Nullable.
sections?: NullableOption<OnenoteSection[]>;
}
export interface OnenoteSection extends OnenoteEntityHierarchyModel {
// Indicates whether this is the user's default section. Read-only.
isDefault?: NullableOption<boolean>;
/**
* Links for opening the section. The oneNoteClientURL link opens the section in the OneNote native client if it's
* installed. The oneNoteWebURL link opens the section in OneNote on the web.
*/
links?: NullableOption<SectionLinks>;
// The pages endpoint where you can get details for all the pages in the section. Read-only.
pagesUrl?: NullableOption<string>;
// The collection of pages in the section. Read-only. Nullable.
pages?: NullableOption<OnenotePage[]>;
// The notebook that contains the section. Read-only.
parentNotebook?: NullableOption<Notebook>;
// The section group that contains the section. Read-only.
parentSectionGroup?: NullableOption<SectionGroup>;
}
export interface Operation extends Entity {
// The start time of the operation.
createdDateTime?: NullableOption<string>;
// The time of the last action of the operation.
lastActionDateTime?: NullableOption<string>;
// The current status of the operation: notStarted, running, completed, failed
status?: NullableOption<OperationStatus>;
}
export interface OnenoteOperation extends Operation {
// The error returned by the operation.
error?: NullableOption<OnenoteOperationError>;
// The operation percent complete if the operation is still in running status.
percentComplete?: NullableOption<string>;
// The resource id.
resourceId?: NullableOption<string>;
// The resource URI for the object. For example, the resource URI for a copied page or section.
resourceLocation?: NullableOption<string>;
}
export interface OnenotePage extends OnenoteEntitySchemaObjectModel {
// The page's HTML content.
content?: NullableOption<any>;
// The URL for the page's HTML content. Read-only.
contentUrl?: NullableOption<string>;
// The unique identifier of the application that created the page. Read-only.
createdByAppId?: NullableOption<string>;
/**
* The date and time when the page was last modified. The timestamp represents date and time information using ISO 8601
* format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Read-only.
*/
lastModifiedDateTime?: NullableOption<string>;
// The indentation level of the page. Read-only.
level?: NullableOption<number>;
/**
* Links for opening the page. The oneNoteClientURL link opens the page in the OneNote native client if it 's installed.
* The oneNoteWebUrl link opens the page in OneNote on the web. Read-only.
*/
links?: NullableOption<PageLinks>;
// The order of the page within its parent section. Read-only.
order?: NullableOption<number>;
// The title of the page.
title?: NullableOption<string>;
userTags?: NullableOption<string[]>;
// The notebook that contains the page. Read-only.
parentNotebook?: NullableOption<Notebook>;
// The section that contains the page. Read-only.
parentSection?: NullableOption<OnenoteSection>;
}
export interface OnenoteResource extends OnenoteEntityBaseModel {
// The content stream
content?: NullableOption<any>;
// The URL for downloading the content
contentUrl?: NullableOption<string>;
}
export interface DelegatedAdminAccessAssignment extends Entity {
// The access container through which members are assigned access. For example, a security group.
accessContainer?: DelegatedAdminAccessContainer;
/**
* The access details containing the identifiers of the administrative roles that the partner is assigned in the customer
* tenant.
*/
accessDetails?: DelegatedAdminAccessDetails;
// The date and time in ISO 8601 format and in UTC time when the access assignment was created. Read-only.
createdDateTime?: NullableOption<string>;
// The date and time in ISO 8601 and in UTC time when this access assignment was last modified. Read-only.
lastModifiedDateTime?: NullableOption<string>;
/**
* The status of the access assignment. Read-only. The possible values are: pending, active, deleting, deleted, error,
* unknownFutureValue.
*/
status?: NullableOption<DelegatedAdminAccessAssignmentStatus>;
}
export interface DelegatedAdminCustomer extends Entity {
// The Azure AD display name of the customer tenant. Read-only. Supports $orderBy.
displayName?: NullableOption<string>;
// The Azure AD-assigned tenant ID of the customer. Read-only.
tenantId?: string;
// Contains the management details of a service in the customer tenant that's managed by delegated administration.
serviceManagementDetails?: NullableOption<DelegatedAdminServiceManagementDetail[]>;
}
export interface DelegatedAdminServiceManagementDetail extends Entity {
// The URL of the management portal for the managed service. Read-only.
serviceManagementUrl?: string;
// The name of a managed service. Read-only.
serviceName?: string;
}
export interface DelegatedAdminRelationship extends Entity {
/**
* The access details that contain the identifiers of the administrative roles that the partner admin is requesting in the
* customer tenant.
*/
accessDetails?: DelegatedAdminAccessDetails;
// The date and time in ISO 8601 format and in UTC time when the relationship became active. Read-only.
activatedDateTime?: NullableOption<string>;
// The date and time in ISO 8601 format and in UTC time when the relationship was created. Read-only.
createdDateTime?: NullableOption<string>;
/**
* The display name and unique identifier of the customer of the relationship. This is configured either by the partner at
* the time the relationship is created or by the system after the customer approves the relationship. Cannot be changed
* by the customer.
*/
customer?: NullableOption<DelegatedAdminRelationshipCustomerParticipant>;
/**
* The display name of the relationship used for ease of identification. Must be unique across all delegated admin
* relationships of the partner. This is set by the partner only when the relationship is in the created status and cannot
* be changed by the customer.
*/
displayName?: string;
/**
* The duration of the relationship in ISO 8601 format. Must be a value between P1D and P2Y inclusive. This is set by the
* partner only when the relationship is in the created status and cannot be changed by the customer.
*/
duration?: string;
/**
* The date and time in ISO 8601 format and in UTC time when the status of relationship changes to either terminated or
* expired. Calculated as endDateTime = activatedDateTime + duration. Read-only.
*/
endDateTime?: NullableOption<string>;
// The date and time in ISO 8601 format and in UTC time when the relationship was last modified. Read-only.
lastModifiedDateTime?: NullableOption<string>;
/**
* The status of the relationship. Read Only. The possible values are: activating, active, approvalPending, approved,
* created, expired, expiring, terminated, terminating, terminationRequested, unknownFutureValue. Supports $orderBy.
*/
status?: NullableOption<DelegatedAdminRelationshipStatus>;
// The access assignments associated with the delegated admin relationship.
accessAssignments?: NullableOption<DelegatedAdminAccessAssignment[]>;
// The long running operations associated with the delegated admin relationship.
operations?: NullableOption<DelegatedAdminRelationshipOperation[]>;
// The requests associated with the delegated admin relationship.
requests?: NullableOption<DelegatedAdminRelationshipRequest[]>;
}
export interface DelegatedAdminRelationshipOperation extends Entity {
// The time in ISO 8601 format and in UTC time when the long-running operation was created. Read-only.
createdDateTime?: string;
// The data (payload) for the operation. Read-only.
data?: string;
// The time in ISO 8601 format and in UTC time when the long-running operation was last modified. Read-only.
lastModifiedDateTime?: string;
/**
* The type of long-running operation. The possible values are: delegatedAdminAccessAssignmentUpdate, unknownFutureValue.
* Read-only.
*/
operationType?: DelegatedAdminRelationshipOperationType;
/**
* The status of the operation. Read-only. The possible values are: notStarted, running, succeeded, failed,
* unknownFutureValue. Read-only. Supports $orderBy.
*/
status?: LongRunningOperationStatus;
}
export interface DelegatedAdminRelationshipRequest extends Entity {
// The action to be performed on the delegated admin relationship.
action?: DelegatedAdminRelationshipRequestAction;
// The date and time in ISO 8601 format and in UTC time when the relationship request was created. Read-only.
createdDateTime?: NullableOption<string>;
// The date and time in ISO 8601 format and UTC time when this relationship request was last modified. Read-only.
lastModifiedDateTime?: NullableOption<string>;
// The status of the request. Read-only. The possible values are: created, pending, succeeded, failed, unknownFutureValue.
status?: NullableOption<DelegatedAdminRelationshipRequestStatus>;
}
export interface TenantRelationship {
// The customer who has a delegated admin relationship with a Microsoft partner.
delegatedAdminCustomers?: NullableOption<DelegatedAdminCustomer[]>;
// The details of the delegated administrative privileges that a Microsoft partner has in a customer tenant.
delegatedAdminRelationships?: NullableOption<DelegatedAdminRelationship[]>;
}
export interface UnifiedRoleManagementPolicyRule extends Entity {
/**
* Defines details of scope that's targeted by role management policy rule. The details can include the principal type,
* the role assignment type, and actions affecting a role. Supports $filter (eq, ne).
*/
target?: NullableOption<UnifiedRoleManagementPolicyRuleTarget>;
}
export interface UnifiedRoleManagementPolicyApprovalRule extends UnifiedRoleManagementPolicyRule {
// The settings for approval of the role assignment.
setting?: NullableOption<ApprovalSettings>;
}
export interface UnifiedRoleManagementPolicyAuthenticationContextRule extends UnifiedRoleManagementPolicyRule {
// The value of the authentication context claim.
claimValue?: NullableOption<string>;
// Whether this rule is enabled.
isEnabled?: NullableOption<boolean>;
}
export interface UnifiedRoleManagementPolicyEnablementRule extends UnifiedRoleManagementPolicyRule {
/**
* The collection of rules that are enabled for this policy rule. For example, MultiFactorAuthentication, Ticketing, and
* Justification.
*/
enabledRules?: NullableOption<string[]>;
}
export interface UnifiedRoleManagementPolicyExpirationRule extends UnifiedRoleManagementPolicyRule {
// Indicates whether expiration is required or if it's a permanently active assignment or eligibility.
isExpirationRequired?: NullableOption<boolean>;
/**
* The maximum duration allowed for eligibility or assignment which is not permanent. Required when isExpirationRequired
* is true.
*/
maximumDuration?: NullableOption<string>;
}
export interface UnifiedRoleManagementPolicyNotificationRule extends UnifiedRoleManagementPolicyRule {
// Indicates whether a default recipient will receive the notification email.
isDefaultRecipientsEnabled?: NullableOption<boolean>;
// The level of notification. The possible values are None, Critical, All.
notificationLevel?: NullableOption<string>;
// The list of recipients of the email notifications.
notificationRecipients?: NullableOption<string[]>;
// The type of notification. Only Email is supported.
notificationType?: NullableOption<string>;
// The type of recipient of the notification. The possible values are Requestor, Approver, Admin.
recipientType?: NullableOption<string>;
}
export interface Print {
// Tenant-wide settings for the Universal Print service.
settings?: NullableOption<PrintSettings>;
// The list of available print connectors.
connectors?: NullableOption<PrintConnector[]>;
// The list of print long running operations.
operations?: NullableOption<PrintOperation[]>;
// The list of printers registered in the tenant.
printers?: NullableOption<Printer[]>;
// The list of available Universal Print service endpoints.
services?: NullableOption<PrintService[]>;
// The list of printer shares registered in the tenant.
shares?: NullableOption<PrinterShare[]>;
// List of abstract definition for a task that can be triggered when various events occur within Universal Print.
taskDefinitions?: NullableOption<PrintTaskDefinition[]>;
}
export interface PrintConnector extends Entity {
// The connector's version.
appVersion?: string;
// The name of the connector.
displayName?: string;
// The connector machine's hostname.
fullyQualifiedDomainName?: string;
// The physical and/or organizational location of the connector.
location?: NullableOption<PrinterLocation>;
// The connector machine's operating system version.
operatingSystem?: string;
// The DateTimeOffset when the connector was registered.
registeredDateTime?: string;
}
export interface PrintOperation extends Entity {
// The DateTimeOffset when the operation was created. Read-only.
createdDateTime?: string;
// The status of the operation. Read-only.
status?: PrintOperationStatus;
}
export interface PrinterBase extends Entity {
// The capabilities of the printer/printerShare.
capabilities?: NullableOption<PrinterCapabilities>;
// The default print settings of printer/printerShare.
defaults?: NullableOption<PrinterDefaults>;
// The name of the printer/printerShare.
displayName?: string;
// Whether the printer/printerShare is currently accepting new print jobs.
isAcceptingJobs?: NullableOption<boolean>;
// The physical and/or organizational location of the printer/printerShare.
location?: NullableOption<PrinterLocation>;
// The manufacturer of the printer/printerShare.
manufacturer?: NullableOption<string>;
// The model name of the printer/printerShare.
model?: NullableOption<string>;
// The processing status of the printer/printerShare, including any errors.
status?: PrinterStatus;
// The list of jobs that are queued for printing by the printer/printerShare.
jobs?: NullableOption<PrintJob[]>;
}
export interface Printer extends PrinterBase {
// True if the printer has a physical device for printing. Read-only.
hasPhysicalDevice?: boolean;
// True if the printer is shared; false otherwise. Read-only.
isShared?: boolean;
// The most recent dateTimeOffset when a printer interacted with Universal Print. Read-only.
lastSeenDateTime?: NullableOption<string>;
// The DateTimeOffset when the printer was registered. Read-only.
registeredDateTime?: string;
// The connectors that are associated with the printer.
connectors?: NullableOption<PrintConnector[]>;
/**
* The list of printerShares that are associated with the printer. Currently, only one printerShare can be associated with
* the printer. Read-only. Nullable.
*/
shares?: NullableOption<PrinterShare[]>;
// A list of task triggers that are associated with the printer.
taskTriggers?: NullableOption<PrintTaskTrigger[]>;
}
export interface PrintService extends Entity {
// Endpoints that can be used to access the service. Read-only. Nullable.
endpoints?: NullableOption<PrintServiceEndpoint[]>;
}
export interface PrinterShare extends PrinterBase {
/**
* If true, all users and groups will be granted access to this printer share. This supersedes the allow lists defined by
* the allowedUsers and allowedGroups navigation properties.
*/
allowAllUsers?: boolean;
// The DateTimeOffset when the printer share was created. Read-only.
createdDateTime?: string;
// The groups whose users have access to print using the printer.
allowedGroups?: NullableOption<Group[]>;
// The users who have access to print using the printer.
allowedUsers?: NullableOption<User[]>;
// The printer that this printer share is related to.
printer?: NullableOption<Printer>;
}
export interface PrintTaskDefinition extends Entity {
// The application that created the printTaskDefinition. Read-only.
createdBy?: AppIdentity;
// The name of the printTaskDefinition.
displayName?: string;
/**
* A list of tasks that have been created based on this definition. The list includes currently running tasks and recently
* completed tasks. Read-only.
*/
tasks?: NullableOption<PrintTask[]>;
}
export interface PrintDocument extends Entity {
// The document's content (MIME) type. Read-only.
contentType?: NullableOption<string>;
// The document's name. Read-only.
displayName?: NullableOption<string>;
// The document's size in bytes. Read-only.
size?: number;
}
export interface PrintTaskTrigger extends Entity {
/**
* The Universal Print event that will cause a new printTask to be triggered. Valid values are described in the following
* table.
*/
event?: PrintEvent;
// An abstract definition that will be used to create a printTask when triggered by a print event. Read-only.
definition?: PrintTaskDefinition;
}
export interface PrintJob extends Entity {
// A group of settings that a printer should use to print a job.
configuration?: PrintJobConfiguration;
createdBy?: NullableOption<UserIdentity>;
// The DateTimeOffset when the job was created. Read-only.
createdDateTime?: string;
// If true, document can be fetched by printer.
isFetchable?: boolean;
// Contains the source job URL, if the job has been redirected from another printer.
redirectedFrom?: NullableOption<string>;
// Contains the destination job URL, if the job has been redirected to another printer.
redirectedTo?: NullableOption<string>;
// The status of the print job. Read-only.
status?: PrintJobStatus;
documents?: NullableOption<PrintDocument[]>;
// A list of printTasks that were triggered by this print job.
tasks?: NullableOption<PrintTask[]>;
}
export interface PrinterCreateOperation extends PrintOperation {
// The signed certificate created during the registration process. Read-only.
certificate?: NullableOption<string>;
// The created printer entity. Read-only.
printer?: NullableOption<Printer>;
}
export interface PrintTask extends Entity {
/**
* The URL for the print entity that triggered this task. For example,
* https://graph.microsoft.com/v1.0/print/printers/{printerId}/jobs/{jobId}. Read-only.
*/
parentUrl?: string;
/**
* The current execution status of this printTask. The calling application is responsible for updating this status when
* processing is finished, unless the related printJob has been redirected to another printer. Failure to report
* completion will result in the related print job being blocked from printing and eventually deleted.
*/
status?: PrintTaskStatus;
// The printTaskDefinition that was used to create this task. Read-only.
definition?: PrintTaskDefinition;
// The printTaskTrigger that triggered this task's execution. Read-only.
trigger?: PrintTaskTrigger;
}
export interface PrintServiceEndpoint extends Entity {
// A human-readable display name for the endpoint.
displayName?: string;
// The URI that can be used to access the service.
uri?: string;
}
export interface ActivityHistoryItem extends Entity {
/**
* Optional. The duration of active user engagement. if not supplied, this is calculated from the startedDateTime and
* lastActiveDateTime.
*/
activeDurationSeconds?: NullableOption<number>;
// Set by the server. DateTime in UTC when the object was created on the server.
createdDateTime?: NullableOption<string>;
// Optional. UTC DateTime when the historyItem will undergo hard-delete. Can be set by the client.
expirationDateTime?: NullableOption<string>;
/**
* Optional. UTC DateTime when the historyItem (activity session) was last understood as active or finished - if null,
* historyItem status should be Ongoing.
*/
lastActiveDateTime?: NullableOption<string>;
// Set by the server. DateTime in UTC when the object was modified on the server.
lastModifiedDateTime?: NullableOption<string>;
// Required. UTC DateTime when the historyItem (activity session) was started. Required for timeline history.
startedDateTime?: string;
// Set by the server. A status code used to identify valid objects. Values: active, updated, deleted, ignored.
status?: NullableOption<Status>;
/**
* Optional. The timezone in which the user's device used to generate the activity was located at activity creation time.
* Values supplied as Olson IDs in order to support cross-platform representation.
*/
userTimezone?: NullableOption<string>;
// Optional. NavigationProperty/Containment; navigation property to the associated activity.
activity?: UserActivity;
}
export interface DataPolicyOperation extends Entity {
/**
* Represents when the request for this data policy operation was completed, in UTC time, using the ISO 8601 format. For
* example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Null until the operation completes.
*/
completedDateTime?: NullableOption<string>;
// Specifies the progress of an operation.
progress?: number;
// Possible values are: notStarted, running, complete, failed, unknownFutureValue.
status?: NullableOption<DataPolicyOperationStatus>;
// The URL location to where data is being exported for export requests.
storageLocation?: NullableOption<string>;
/**
* Represents when the request for this data operation was submitted, in UTC time, using the ISO 8601 format. For example,
* midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
*/
submittedDateTime?: string;
// The id for the user on whom the operation is performed.
userId?: string;
}
export interface SimulationAutomation extends Entity {
// Identity of the user who created the attack simulation automation.
createdBy?: NullableOption<EmailIdentity>;
// Date and time when the attack simulation automation was created.
createdDateTime?: NullableOption<string>;
// Description of the attack simulation automation.
description?: NullableOption<string>;
// Display name of the attack simulation automation. Supports $filter and $orderby.
displayName?: NullableOption<string>;
// Identity of the user who most recently modified the attack simulation automation.
lastModifiedBy?: NullableOption<EmailIdentity>;
// Date and time when the attack simulation automation was most recently modified.
lastModifiedDateTime?: NullableOption<string>;
// Date and time of the latest run of the attack simulation automation.
lastRunDateTime?: NullableOption<string>;
// Date and time of the upcoming run of the attack simulation automation.
nextRunDateTime?: NullableOption<string>;
/**
* Status of the attack simulation automation. Supports $filter and $orderby. The possible values are: unknown, draft,
* notRunning, running, completed, unknownFutureValue.
*/
status?: NullableOption<SimulationAutomationStatus>;
// A collection of simulation automation runs.
runs?: NullableOption<SimulationAutomationRun[]>;
}
export interface Simulation extends Entity {
/**
* The social engineering technique used in the attack simulation and training campaign. Supports $filter and $orderby.
* Possible values are: unknown, credentialHarvesting, attachmentMalware, driveByUrl, linkInAttachment, linkToMalwareFile,
* unknownFutureValue. For more information on the types of social engineering attack techniques, see simulations.
*/
attackTechnique?: NullableOption<SimulationAttackTechnique>;
/**
* Attack type of the attack simulation and training campaign. Supports $filter and $orderby. Possible values are:
* unknown, social, cloud, endpoint, unknownFutureValue.
*/
attackType?: NullableOption<SimulationAttackType>;
// Unique identifier for the attack simulation automation.
automationId?: NullableOption<string>;
// Date and time of completion of the attack simulation and training campaign. Supports $filter and $orderby.
completionDateTime?: NullableOption<string>;
// Identity of the user who created the attack simulation and training campaign.
createdBy?: NullableOption<EmailIdentity>;
// Date and time of creation of the attack simulation and training campaign.
createdDateTime?: NullableOption<string>;
// Description of the attack simulation and training campaign.
description?: NullableOption<string>;
// Display name of the attack simulation and training campaign. Supports $filter and $orderby.
displayName?: NullableOption<string>;
/**
* Flag that represents if the attack simulation and training campaign was created from a simulation automation flow.
* Supports $filter and $orderby.
*/
isAutomated?: NullableOption<boolean>;
// Identity of the user who most recently modified the attack simulation and training campaign.
lastModifiedBy?: NullableOption<EmailIdentity>;
// Date and time of the most recent modification of the attack simulation and training campaign.
lastModifiedDateTime?: NullableOption<string>;
// Date and time of the launch/start of the attack simulation and training campaign. Supports $filter and $orderby.
launchDateTime?: NullableOption<string>;
/**
* Method of delivery of the phishing payload used in the attack simulation and training campaign. Possible values are:
* unknown, sms, email, teams, unknownFutureValue.
*/
payloadDeliveryPlatform?: NullableOption<PayloadDeliveryPlatform>;
// Report of the attack simulation and training campaign.
report?: NullableOption<SimulationReport>;
/**
* Status of the attack simulation and training campaign. Supports $filter and $orderby. Possible values are: unknown,
* draft, running, scheduled, succeeded, failed, cancelled, excluded, unknownFutureValue.
*/
status?: NullableOption<SimulationStatus>;
}
export interface SimulationAutomationRun extends Entity {
// Date and time when the run ends in an attack simulation automation.
endDateTime?: NullableOption<string>;
// Unique identifier for the attack simulation campaign initiated in the attack simulation automation run.
simulationId?: NullableOption<string>;
// Date and time when the run starts in an attack simulation automation.
startDateTime?: NullableOption<string>;
/**
* Status of the attack simulation automation run. The possible values are: unknown, running, succeeded, failed, skipped,
* unknownFutureValue.
*/
status?: NullableOption<SimulationAutomationRunStatus>;
}
export interface CommsOperation extends Entity {
// Unique Client Context string. Max limit is 256 chars.
clientContext?: NullableOption<string>;
// The result information. Read-only.
resultInfo?: NullableOption<ResultInfo>;
// Possible values are: notStarted, running, completed, failed. Read-only.
status?: OperationStatus;
}
// tslint:disable-next-line: no-empty-interface
export interface AddLargeGalleryViewOperation extends CommsOperation {}
export interface AttendanceRecord extends Entity {
// List of time periods between joining and leaving a meeting.
attendanceIntervals?: NullableOption<AttendanceInterval[]>;
// Email address of the user associated with this attendance record.
emailAddress?: NullableOption<string>;
// Identity of the user associated with this attendance record.
identity?: NullableOption<Identity>;
// Role of the attendee. Possible values are: None, Attendee, Presenter, and Organizer.
role?: NullableOption<string>;
// Total duration of the attendances in seconds.
totalAttendanceInSeconds?: NullableOption<number>;
}
export interface AudioRoutingGroup extends Entity {
receivers?: NullableOption<string[]>;
routingMode?: RoutingMode;
sources?: NullableOption<string[]>;
}
// tslint:disable-next-line: no-empty-interface
export interface ContentSharingSession extends Entity {}
export interface Participant extends Entity {
// Information about the participant.
info?: ParticipantInfo;
// true if the participant is in lobby.
isInLobby?: boolean;
// true if the participant is muted (client or server muted).
isMuted?: boolean;
// The list of media streams.
mediaStreams?: NullableOption<MediaStream[]>;
// A blob of data provided by the participant in the roster.
metadata?: NullableOption<string>;
// Information about whether the participant has recording capability.
recordingInfo?: NullableOption<RecordingInfo>;
// Indicates the reason or reasons media content from this participant is restricted.
restrictedExperience?: NullableOption<OnlineMeetingRestricted>;
}
// tslint:disable-next-line: no-empty-interface
export interface CancelMediaProcessingOperation extends CommsOperation {}
// tslint:disable-next-line: interface-name
export interface InviteParticipantsOperation extends CommsOperation {
// The participants to invite.
participants?: InvitationParticipantInfo[];
}
// tslint:disable-next-line: no-empty-interface
export interface MuteParticipantOperation extends CommsOperation {}
export interface ParticipantJoiningNotification extends Entity {
call?: NullableOption<Call>;
}
export interface ParticipantLeftNotification extends Entity {
// ID of the participant under the policy who has left the meeting.
participantId?: string;
call?: NullableOption<Call>;
}
// tslint:disable-next-line: no-empty-interface
export interface PlayPromptOperation extends CommsOperation {}
export interface RecordOperation extends CommsOperation {
// The access token required to retrieve the recording.
recordingAccessToken?: NullableOption<string>;
// The location where the recording is located.
recordingLocation?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface StartHoldMusicOperation extends CommsOperation {}
// tslint:disable-next-line: no-empty-interface
export interface StopHoldMusicOperation extends CommsOperation {}
// tslint:disable-next-line: no-empty-interface
export interface SubscribeToToneOperation extends CommsOperation {}
// tslint:disable-next-line: no-empty-interface
export interface UnmuteParticipantOperation extends CommsOperation {}
// tslint:disable-next-line: no-empty-interface
export interface UpdateRecordingStatusOperation extends CommsOperation {}
// tslint:disable-next-line: no-empty-interface
export interface AuthenticationMethod extends Entity {}
export interface EmailAuthenticationMethod extends AuthenticationMethod {
// The email address registered to this user.
emailAddress?: NullableOption<string>;
}
export interface Fido2AuthenticationMethod extends AuthenticationMethod {
// Authenticator Attestation GUID, an identifier that indicates the type (e.g. make and model) of the authenticator.
aaGuid?: NullableOption<string>;
// The attestation certificate(s) attached to this security key.
attestationCertificates?: NullableOption<string[]>;
// The attestation level of this FIDO2 security key. Possible values are: attested, or notAttested.
attestationLevel?: NullableOption<AttestationLevel>;
// The timestamp when this key was registered to the user.
createdDateTime?: NullableOption<string>;
// The display name of the key as given by the user.
displayName?: NullableOption<string>;
// The manufacturer-assigned model of the FIDO2 security key.
model?: NullableOption<string>;
}
export interface MicrosoftAuthenticatorAuthenticationMethod extends AuthenticationMethod {
/**
* The date and time that this app was registered. This property is null if the device is not registered for passwordless
* Phone Sign-In.
*/
createdDateTime?: NullableOption<string>;
// Tags containing app metadata.
deviceTag?: NullableOption<string>;
// The name of the device on which this app is registered.
displayName?: NullableOption<string>;
// Numerical version of this instance of the Authenticator app.
phoneAppVersion?: NullableOption<string>;
/**
* The registered device on which Microsoft Authenticator resides. This property is null if the device is not registered
* for passwordless Phone Sign-In.
*/
device?: NullableOption<Device>;
}
export interface PasswordAuthenticationMethod extends AuthenticationMethod {
/**
* The date and time when this password was last updated. This property is currently not populated. Read-only. 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 is 2014-01-01T00:00:00Z.
*/
createdDateTime?: NullableOption<string>;
// For security, the password is always returned as null from a LIST or GET operation.
password?: NullableOption<string>;
}
export interface PhoneAuthenticationMethod extends AuthenticationMethod {
/**
* The phone number to text or call for authentication. Phone numbers use the format +{country code} {number}x{extension},
* with extension optional. For example, +1 5555551234 or +1 5555551234x123 are valid. Numbers are rejected when creating
* or updating if they do not match the required format.
*/
phoneNumber?: NullableOption<string>;
// The type of this phone. Possible values are: mobile, alternateMobile, or office.
phoneType?: NullableOption<AuthenticationPhoneType>;
/**
* Whether a phone is ready to be used for SMS sign-in or not. Possible values are: notSupported, notAllowedByPolicy,
* notEnabled, phoneNumberNotUnique, ready, or notConfigured, unknownFutureValue.
*/
smsSignInState?: NullableOption<AuthenticationMethodSignInState>;
}
export interface SoftwareOathAuthenticationMethod extends AuthenticationMethod {
// The secret key of the method. Always returns null.
secretKey?: NullableOption<string>;
}
export interface TemporaryAccessPassAuthenticationMethod extends AuthenticationMethod {
// The date and time when the Temporary Access Pass was created.
createdDateTime?: NullableOption<string>;
// The state of the authentication method that indicates whether it's currently usable by the user.
isUsable?: NullableOption<boolean>;
/**
* Determines whether the pass is limited to a one-time use. If true, the pass can be used once; if false, the pass can be
* used multiple times within the Temporary Access Pass lifetime.
*/
isUsableOnce?: NullableOption<boolean>;
/**
* The lifetime of the Temporary Access Pass in minutes starting at startDateTime. Must be between 10 and 43200 inclusive
* (equivalent to 30 days).
*/
lifetimeInMinutes?: NullableOption<number>;
/**
* Details about the usability state (isUsable). Reasons can include: EnabledByPolicy, DisabledByPolicy, Expired,
* NotYetValid, OneTimeUsed.
*/
methodUsabilityReason?: NullableOption<string>;
// The date and time when the Temporary Access Pass becomes available to use and when isUsable is true is enforced.
startDateTime?: NullableOption<string>;
/**
* The Temporary Access Pass used to authenticate. Returned only on creation of a new
* temporaryAccessPassAuthenticationMethod object; Hidden in subsequent read operations and returned as null with GET.
*/
temporaryAccessPass?: NullableOption<string>;
}
export interface WindowsHelloForBusinessAuthenticationMethod extends AuthenticationMethod {
// The date and time that this Windows Hello for Business key was registered.
createdDateTime?: NullableOption<string>;
// The name of the device on which Windows Hello for Business is registered
displayName?: NullableOption<string>;
// Key strength of this Windows Hello for Business key. Possible values are: normal, weak, unknown.
keyStrength?: NullableOption<AuthenticationMethodKeyStrength>;
/**
* The registered device on which this Windows Hello for Business key resides. Supports $expand. When you get a user's
* Windows Hello for Business registration information, this property is returned only on a single GET and when you
* specify ?$expand. For example, GET
* /users/admin@contoso.com/authentication/windowsHelloForBusinessMethods/_jpuR-TGZtk6aQCLF3BQjA2?$expand=device.
*/
device?: NullableOption<Device>;
}
export interface AadUserConversationMember extends ConversationMember {
// The email address of the user.
email?: NullableOption<string>;
// TenantId which the Azure AD user belongs to.
tenantId?: NullableOption<string>;
// The guid of the user.
userId?: NullableOption<string>;
user?: NullableOption<User>;
}
export interface AnonymousGuestConversationMember extends ConversationMember {
/**
* Unique ID that represents the user. Note: This ID can change if the user leaves and rejoins the meeting, or joins from
* a different device.
*/
anonymousGuestId?: NullableOption<string>;
}
export interface AppCatalogs extends Entity {
teamsApps?: NullableOption<TeamsApp[]>;
}
export interface TeamsApp extends Entity {
// The name of the catalog app provided by the app developer in the Microsoft Teams zip app package.
displayName?: NullableOption<string>;
// The method of distribution for the app. Read-only.
distributionMethod?: NullableOption<TeamsAppDistributionMethod>;
// The ID of the catalog provided by the app developer in the Microsoft Teams zip app package.
externalId?: NullableOption<string>;
// The details for each version of the app.
appDefinitions?: NullableOption<TeamsAppDefinition[]>;
}
export interface TeamInfo extends Entity {
// The name of the team.
displayName?: NullableOption<string>;
// The ID of the Azure Active Directory tenant.
tenantId?: NullableOption<string>;
team?: NullableOption<Team>;
}
// tslint:disable-next-line: no-empty-interface
export interface AssociatedTeamInfo extends TeamInfo {}
export interface AzureCommunicationServicesUserConversationMember extends ConversationMember {
// Azure Communication Services ID of the user.
azureCommunicationServicesId?: NullableOption<string>;
}
export interface ChatMessage extends Entity {
// References to attached objects like files, tabs, meetings etc.
attachments?: NullableOption<ChatMessageAttachment[]>;
/**
* Plaintext/HTML representation of the content of the chat message. Representation is specified by the contentType inside
* the body. The content is always in HTML if the chat message contains a chatMessageMention.
*/
body?: ItemBody;
// If the message was sent in a channel, represents identity of the channel.
channelIdentity?: NullableOption<ChannelIdentity>;
// If the message was sent in a chat, represents the identity of the chat.
chatId?: NullableOption<string>;
// Timestamp of when the chat message was created.
createdDateTime?: NullableOption<string>;
// Read only. Timestamp at which the chat message was deleted, or null if not deleted.
deletedDateTime?: NullableOption<string>;
// Read-only. Version number of the chat message.
etag?: NullableOption<string>;
/**
* Read-only. If present, represents details of an event that happened in a chat, a channel, or a team, for example,
* adding new members. For event messages, the messageType property will be set to systemEventMessage.
*/
eventDetail?: NullableOption<EventMessageDetail>;
// Details of the sender of the chat message. Can only be set during migration.
from?: NullableOption<ChatMessageFromIdentitySet>;
// The importance of the chat message. The possible values are: normal, high, urgent.
importance?: ChatMessageImportance;
/**
* Read only. Timestamp when edits to the chat message were made. Triggers an 'Edited' flag in the Teams UI. If no edits
* are made the value is null.
*/
lastEditedDateTime?: NullableOption<string>;
/**
* Read only. Timestamp when the chat message is created (initial setting) or modified, including when a reaction is added
* or removed.
*/
lastModifiedDateTime?: NullableOption<string>;
// Locale of the chat message set by the client. Always set to en-us.
locale?: string;
// List of entities mentioned in the chat message. Supported entities are: user, bot, team, and channel.
mentions?: NullableOption<ChatMessageMention[]>;
/**
* List of activity history of a message item, including modification time and actions, such as reactionAdded,
* reactionRemoved, or reaction changes, on the message.
*/
messageHistory?: NullableOption<ChatMessageHistoryItem[]>;
/**
* The type of chat message. The possible values are: message, chatEvent, typing, unknownFutureValue, systemEventMessage.
* Note that you must use the Prefer: include-unknown-enum-members request header to get the following value in this
* evolvable enum: systemEventMessage.
*/
messageType?: ChatMessageType;
// Defines the properties of a policy violation set by a data loss prevention (DLP) application.
policyViolation?: NullableOption<ChatMessagePolicyViolation>;
// Reactions for this chat message (for example, Like).
reactions?: NullableOption<ChatMessageReaction[]>;
/**
* Read-only. ID of the parent chat message or root chat message of the thread. (Only applies to chat messages in
* channels, not chats.)
*/
replyToId?: NullableOption<string>;
// The subject of the chat message, in plaintext.
subject?: NullableOption<string>;
/**
* Summary text of the chat message that could be used for push notifications and summary views or fall back views. Only
* applies to channel chat messages, not chat messages in a chat.
*/
summary?: NullableOption<string>;
// Read-only. Link to the message in Microsoft Teams.
webUrl?: NullableOption<string>;
// Content in a message hosted by Microsoft Teams - for example, images or code snippets.
hostedContents?: NullableOption<ChatMessageHostedContent[]>;
// Replies for a specified message. Supports $expand for channel messages.
replies?: NullableOption<ChatMessage[]>;
}
export interface SharedWithChannelTeamInfo extends TeamInfo {
// Indicates whether the team is the host of the channel.
isHostTeam?: NullableOption<boolean>;
// A collection of team members who have access to the shared channel.
allowedMembers?: NullableOption<ConversationMember[]>;
}
export interface TeamsTab extends Entity {
// Container for custom settings applied to a tab. The tab is considered configured only once this property is set.
configuration?: NullableOption<TeamsTabConfiguration>;
// Name of the tab.
displayName?: NullableOption<string>;
// Deep link URL of the tab instance. Read only.
webUrl?: NullableOption<string>;
// The application that is linked to the tab. This cannot be changed after tab creation.
teamsApp?: NullableOption<TeamsApp>;
}
export interface ChatMessageInfo extends Entity {
/**
* Body of the chatMessage. This will still contain markers for @mentions and attachments even though the object does not
* return @mentions and attachments.
*/
body?: NullableOption<ItemBody>;
// Date time object representing the time at which message was created.
createdDateTime?: NullableOption<string>;
/**
* Read-only. If present, represents details of an event that happened in a chat, a channel, or a team, for example,
* members were added, and so on. For event messages, the messageType property will be set to systemEventMessage.
*/
eventDetail?: NullableOption<EventMessageDetail>;
// Information about the sender of the message.
from?: NullableOption<ChatMessageFromIdentitySet>;
// If set to true, the original message has been deleted.
isDeleted?: NullableOption<boolean>;
// The type of chat message. The possible values are: message, unknownFutureValue, systemEventMessage.
messageType?: ChatMessageType;
}
export interface PinnedChatMessageInfo extends Entity {
// Represents details about the chat message that is pinned.
message?: NullableOption<ChatMessage>;
}
export interface TeamworkHostedContent extends Entity {
// Write only. Bytes for the hosted content (such as images).
contentBytes?: NullableOption<string>;
// Write only. Content type. sicj as image/png, image/jpg.
contentType?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface ChatMessageHostedContent extends TeamworkHostedContent {}
export interface DeletedTeam extends Entity {
// The channels that are either shared with this deleted team or created in this deleted team.
channels?: NullableOption<Channel[]>;
}
export interface MicrosoftAccountUserConversationMember extends ConversationMember {
// Microsoft Account ID of the user.
userId?: NullableOption<string>;
}
export interface SkypeForBusinessUserConversationMember extends ConversationMember {
// ID of the tenant that the user belongs to.
tenantId?: NullableOption<string>;
// Azure Active Directory ID of the user.
userId?: NullableOption<string>;
}
export interface SkypeUserConversationMember extends ConversationMember {
// Skype ID of the user.
skypeId?: NullableOption<string>;
}
export interface TeamsAppDefinition extends Entity {
createdBy?: NullableOption<IdentitySet>;
// Verbose description of the application.
description?: NullableOption<string>;
// The name of the app provided by the app developer.
displayName?: NullableOption<string>;
lastModifiedDateTime?: NullableOption<string>;
/**
* The published status of a specific version of a Teams app. Possible values are:submitted — The specific version of the
* Teams app has been submitted and is under review. published — The request to publish the specific version of the Teams
* app has been approved by the admin and the app is published. rejected — The request to publish the specific version of
* the Teams app was rejected by the admin.
*/
publishingState?: NullableOption<TeamsAppPublishingState>;
// Short description of the application.
shortDescription?: NullableOption<string>;
// The ID from the Teams app manifest.
teamsAppId?: NullableOption<string>;
// The version number of the application.
version?: NullableOption<string>;
// The details of the bot specified in the Teams app manifest.
bot?: NullableOption<TeamworkBot>;
}
// tslint:disable-next-line: no-empty-interface
export interface TeamworkBot extends Entity {}
export interface Teamwork extends Entity {
workforceIntegrations?: NullableOption<WorkforceIntegration[]>;
// The deleted team.
deletedTeams?: NullableOption<DeletedTeam[]>;
}
export interface WorkforceIntegration extends ChangeTrackedEntity {
// API version for the call back URL. Start with 1.
apiVersion?: NullableOption<number>;
// Name of the workforce integration.
displayName?: NullableOption<string>;
// The workforce integration encryption resource.
encryption?: NullableOption<WorkforceIntegrationEncryption>;
// Indicates whether this workforce integration is currently active and available.
isActive?: NullableOption<boolean>;
/**
* The Shifts entities supported for synchronous change notifications. Shifts will make a call back to the url provided on
* client changes on those entities added here. By default, no entities are supported for change notifications. Possible
* values are: none, shift, swapRequest, userShiftPreferences, openshift, openShiftRequest, offerShiftRequest,
* unknownFutureValue.
*/
supportedEntities?: NullableOption<WorkforceIntegrationSupportedEntities>;
// Workforce Integration URL for callbacks from the Shifts service.
url?: NullableOption<string>;
}
export interface TeamworkTagMember extends Entity {
// The member's display name.
displayName?: NullableOption<string>;
// The ID of the tenant that the tag member is a part of.
tenantId?: NullableOption<string>;
// The user ID of the member.
userId?: NullableOption<string>;
}
export interface UserScopeTeamsAppInstallation extends TeamsAppInstallation {
// The chat between the user and Teams app.
chat?: NullableOption<Chat>;
}
export interface ScheduleChangeRequest extends ChangeTrackedEntity {
assignedTo?: NullableOption<ScheduleChangeRequestActor>;
managerActionDateTime?: NullableOption<string>;
managerActionMessage?: NullableOption<string>;
managerUserId?: NullableOption<string>;
senderDateTime?: NullableOption<string>;
senderMessage?: NullableOption<string>;
senderUserId?: NullableOption<string>;
state?: NullableOption<ScheduleChangeState>;
}
export interface OfferShiftRequest extends ScheduleChangeRequest {
/**
* 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 is 2014-01-01T00:00:00Z
*/
recipientActionDateTime?: NullableOption<string>;
// Custom message sent by recipient of the offer shift request.
recipientActionMessage?: NullableOption<string>;
// User ID of the recipient of the offer shift request.
recipientUserId?: NullableOption<string>;
// User ID of the sender of the offer shift request.
senderShiftId?: NullableOption<string>;
}
export interface OpenShift extends ChangeTrackedEntity {
// An unpublished open shift.
draftOpenShift?: NullableOption<OpenShiftItem>;
// ID for the scheduling group that the open shift belongs to.
schedulingGroupId?: NullableOption<string>;
// A published open shift.
sharedOpenShift?: NullableOption<OpenShiftItem>;
}
export interface OpenShiftChangeRequest extends ScheduleChangeRequest {
// ID for the open shift.
openShiftId?: NullableOption<string>;
}
export interface SchedulingGroup extends ChangeTrackedEntity {
// The display name for the schedulingGroup. Required.
displayName?: NullableOption<string>;
// Indicates whether the schedulingGroup can be used when creating new entities or updating existing ones. Required.
isActive?: NullableOption<boolean>;
// The list of user IDs that are a member of the schedulingGroup. Required.
userIds?: NullableOption<string[]>;
}
export interface Shift extends ChangeTrackedEntity {
// The draft version of this shift that is viewable by managers. Required.
draftShift?: NullableOption<ShiftItem>;
// ID of the scheduling group the shift is part of. Required.
schedulingGroupId?: NullableOption<string>;
// The shared version of this shift that is viewable by both employees and managers. Required.
sharedShift?: NullableOption<ShiftItem>;
// ID of the user assigned to the shift. Required.
userId?: NullableOption<string>;
}
export interface SwapShiftsChangeRequest extends OfferShiftRequest {
// ShiftId for the recipient user with whom the request is to swap.
recipientShiftId?: NullableOption<string>;
}
export interface TimeOffReason extends ChangeTrackedEntity {
// The name of the timeOffReason. Required.
displayName?: NullableOption<string>;
/**
* Supported icon types are: none, car, calendar, running, plane, firstAid, doctor, notWorking, clock, juryDuty, globe,
* cup, phone, weather, umbrella, piggyBank, dog, cake, trafficCone, pin, sunny. Required.
*/
iconType?: NullableOption<TimeOffReasonIconType>;
// Indicates whether the timeOffReason can be used when creating new entities or updating existing ones. Required.
isActive?: NullableOption<boolean>;
}
export interface TimeOffRequest extends ScheduleChangeRequest {
/**
* 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 is 2014-01-01T00:00:00Z
*/
endDateTime?: NullableOption<string>;
/**
* 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 is 2014-01-01T00:00:00Z
*/
startDateTime?: NullableOption<string>;
// The reason for the time off.
timeOffReasonId?: NullableOption<string>;
}
export interface TimeOff extends ChangeTrackedEntity {
// The draft version of this timeOff that is viewable by managers. Required.
draftTimeOff?: NullableOption<TimeOffItem>;
// The shared version of this timeOff that is viewable by both employees and managers. Required.
sharedTimeOff?: NullableOption<TimeOffItem>;
// ID of the user assigned to the timeOff. Required.
userId?: NullableOption<string>;
}
export interface EmailFileAssessmentRequest extends ThreatAssessmentRequest {
// Base64 encoded .eml email file content. The file content cannot fetch back because it isn't stored.
contentData?: string;
/**
* The reason for mail routed to its destination. Possible values are: none, mailFlowRule, safeSender, blockedSender,
* advancedSpamFiltering, domainAllowList, domainBlockList, notInAddressBook, firstTimeSender, autoPurgeToInbox,
* autoPurgeToJunk, autoPurgeToDeleted, outbound, notJunk, junk.
*/
destinationRoutingReason?: NullableOption<MailDestinationRoutingReason>;
// The mail recipient whose policies are used to assess the mail.
recipientEmail?: string;
}
export interface FileAssessmentRequest extends ThreatAssessmentRequest {
// Base64 encoded file content. The file content cannot fetch back because it isn't stored.
contentData?: string;
// The file name.
fileName?: string;
}
export interface MailAssessmentRequest extends ThreatAssessmentRequest {
/**
* The reason for mail routed to its destination. Possible values are: none, mailFlowRule, safeSender, blockedSender,
* advancedSpamFiltering, domainAllowList, domainBlockList, notInAddressBook, firstTimeSender, autoPurgeToInbox,
* autoPurgeToJunk, autoPurgeToDeleted, outbound, notJunk, junk.
*/
destinationRoutingReason?: NullableOption<MailDestinationRoutingReason>;
// The resource URI of the mail message for assessment.
messageUri?: string;
// The mail recipient whose policies are used to assess the mail.
recipientEmail?: string;
}
export interface ThreatAssessmentResult extends Entity {
/**
* 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 is 2014-01-01T00:00:00Z.
*/
createdDateTime?: NullableOption<string>;
// The result message for each threat assessment.
message?: NullableOption<string>;
// The threat assessment result type. Possible values are: checkPolicy, rescan.
resultType?: NullableOption<ThreatAssessmentResultType>;
}
export interface UrlAssessmentRequest extends ThreatAssessmentRequest {
// The URL string.
url?: string;
}
export interface AttachmentBase extends Entity {
// The MIME type.
contentType?: NullableOption<string>;
/**
* 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 is 2014-01-01T00:00:00Z.
*/
lastModifiedDateTime?: NullableOption<string>;
// The display name of the attachment. This does not need to be the actual file name.
name?: NullableOption<string>;
// The length of the attachment in bytes.
size?: number;
}
export interface AttachmentSession extends Entity {
// The content streams that are uploaded.
content?: NullableOption<any>;
/**
* The date and time in UTC when the upload session will expire. The complete file must be uploaded before this expiration
* time is reached.
*/
expirationDateTime?: NullableOption<string>;
// Indicates a single value {start} that represents the location in the file where the next upload should begin.
nextExpectedRanges?: NullableOption<string[]>;
}
export interface ChecklistItem extends Entity {
// The date and time when the checklistItem was finished.
checkedDateTime?: NullableOption<string>;
// The date and time when the checklistItem was created.
createdDateTime?: string;
// Field indicating the title of checklistItem.
displayName?: NullableOption<string>;
// State indicating whether the item is checked off or not.
isChecked?: NullableOption<boolean>;
}
export interface LinkedResource extends Entity {
// The app name of the source that sends the linkedResource.
applicationName?: NullableOption<string>;
// The title of the linkedResource.
displayName?: NullableOption<string>;
// ID of the object that is associated with this task on the third-party/partner system.
externalId?: NullableOption<string>;
// Deep link to the linkedResource.
webUrl?: NullableOption<string>;
}
export interface TaskFileAttachment extends AttachmentBase {
// The base64-encoded contents of the file.
contentBytes?: string;
}
export interface TodoTaskList extends Entity {
// The name of the task list.
displayName?: NullableOption<string>;
// True if the user is owner of the given task list.
isOwner?: boolean;
// True if the task list is shared with other users
isShared?: boolean;
/**
* Property indicating the list name if the given list is a well-known list. Possible values are: none, defaultList,
* flaggedEmails, unknownFutureValue.
*/
wellknownListName?: WellknownListName;
// The collection of open extensions defined for the task list. Nullable.
extensions?: NullableOption<Extension[]>;
// The tasks in this task list. Read-only. Nullable.
tasks?: NullableOption<TodoTask[]>;
}
export interface TodoTask extends Entity {
// The task body that typically contains information about the task.
body?: NullableOption<ItemBody>;
/**
* The date and time when the task body was last modified. By default, it is in UTC. You can provide a custom time zone in
* the request header. The property value uses ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan
* 1, 2020 would look like this: '2020-01-01T00:00:00Z'.
*/
bodyLastModifiedDateTime?: string;
/**
* The categories associated with the task. Each category corresponds to the displayName property of an outlookCategory
* that the user has defined.
*/
categories?: NullableOption<string[]>;
// The date and time in the specified time zone that the task was finished.
completedDateTime?: NullableOption<DateTimeTimeZone>;
/**
* The date and time when the task was created. By default, it is in UTC. You can provide a custom time zone in the
* request header. The property value uses ISO 8601 format. For example, midnight UTC on Jan 1, 2020 would look like this:
* '2020-01-01T00:00:00Z'.
*/
createdDateTime?: string;
// The date and time in the specified time zone that the task is to be finished.
dueDateTime?: NullableOption<DateTimeTimeZone>;
// Indicates whether the task has attachments.
hasAttachments?: NullableOption<boolean>;
// The importance of the task. Possible values are: low, normal, high.
importance?: Importance;
// Set to true if an alert is set to remind the user of the task.
isReminderOn?: boolean;
/**
* The date and time when the task was last modified. By default, it is in UTC. You can provide a custom time zone in the
* request header. The property value uses ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1,
* 2020 would look like this: '2020-01-01T00:00:00Z'.
*/
lastModifiedDateTime?: string;
// The recurrence pattern for the task.
recurrence?: NullableOption<PatternedRecurrence>;
// The date and time in the specified time zone for a reminder alert of the task to occur.
reminderDateTime?: NullableOption<DateTimeTimeZone>;
// The date and time in the specified time zone at which the task is scheduled to start.
startDateTime?: NullableOption<DateTimeTimeZone>;
/**
* Indicates the state or progress of the task. Possible values are: notStarted, inProgress, completed, waitingOnOthers,
* deferred.
*/
status?: TaskStatus;
// A brief description of the task.
title?: NullableOption<string>;
// A collection of file attachments for the task.
attachments?: NullableOption<AttachmentBase[]>;
attachmentSessions?: NullableOption<AttachmentSession[]>;
// A collection of checklistItems linked to a task.
checklistItems?: NullableOption<ChecklistItem[]>;
// The collection of open extensions defined for the task. Nullable.
extensions?: NullableOption<Extension[]>;
// A collection of resources linked to the task.
linkedResources?: NullableOption<LinkedResource[]>;
}
export interface EmployeeExperience {
// A collection of learning providers.
learningProviders?: NullableOption<LearningProvider[]>;
}
export interface LearningProvider extends Entity {
// The display name that appears in Viva Learning. Required.
displayName?: string;
// Authentication URL to access the courses for the provider. Optional.
loginWebUrl?: NullableOption<string>;
/**
* The long logo URL for the dark mode that needs to be a publicly accessible image. This image would be saved to the blob
* storage of Viva Learning for rendering within the Viva Learning app. Required.
*/
longLogoWebUrlForDarkTheme?: string;
/**
* The long logo URL for the light mode that needs to be a publicly accessible image. This image would be saved to the
* blob storage of Viva Learning for rendering within the Viva Learning app. Required.
*/
longLogoWebUrlForLightTheme?: string;
/**
* The square logo URL for the dark mode that needs to be a publicly accessible image. This image would be saved to the
* blob storage of Viva Learning for rendering within the Viva Learning app. Required.
*/
squareLogoWebUrlForDarkTheme?: string;
/**
* The square logo URL for the light mode that needs to be a publicly accessible image. This image would be saved to the
* blob storage of Viva Learning for rendering within the Viva Learning app. Required.
*/
squareLogoWebUrlForLightTheme?: string;
// Learning catalog items for the provider.
learningContents?: NullableOption<LearningContent[]>;
}
export interface LearningContent extends Entity {
// Keywords, topics, and other tags associated with the learning content. Optional.
additionalTags?: NullableOption<string[]>;
// The content web URL for the learning content. Required.
contentWebUrl?: string;
// The authors, creators, or contributors of the learning content. Optional.
contributors?: NullableOption<string[]>;
/**
* The date and time when the learning content was created. 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 is 2014-01-01T00:00:00Z. Optional.
*/
createdDateTime?: NullableOption<string>;
// The description or summary for the learning content. Optional.
description?: NullableOption<string>;
// The duration of the learning content in seconds. The value is represented in ISO 8601 format for durations. Optional.
duration?: NullableOption<string>;
// Unique external content ID for the learning content. Required.
externalId?: string;
// The format of the learning content. For example, Course, Video, Book, Book Summary, Audiobook Summary. Optional.
format?: NullableOption<string>;
/**
* Indicates whether the content is active or not. Inactive content doesn't show up in the UI. The default value is true.
* Optional.
*/
isActive?: NullableOption<boolean>;
/**
* Indicates whether the learning content requires the user to sign-in on the learning provider platform or not. The
* default value is false. Optional.
*/
isPremium?: NullableOption<boolean>;
// Indicates whether the learning content is searchable or not. The default value is true. Optional.
isSearchable?: NullableOption<boolean>;
// The language of the learning content, for example, en-us or fr-fr. Required.
languageTag?: string;
/**
* The date and time when the learning content was last modified. 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 is 2014-01-01T00:00:00Z.
* Optional.
*/
lastModifiedDateTime?: NullableOption<string>;
// The number of pages of the learning content, for example, 9. Optional.
numberOfPages?: NullableOption<number>;
// The skills tags associated with the learning content. Optional.
skillTags?: NullableOption<string[]>;
// The source name of the learning content, such as LinkedIn Learning or Coursera. Optional.
sourceName?: NullableOption<string>;
// The URL of learning content thumbnail image. Optional.
thumbnailWebUrl?: NullableOption<string>;
// The title of the learning content. Required.
title?: string;
}
export interface AppIdentity {
// Refers to the Unique GUID representing Application Id in the Azure Active Directory.
appId?: NullableOption<string>;
// Refers to the Application Name displayed in the Azure Portal.
displayName?: NullableOption<string>;
// Refers to the Unique GUID indicating Service Principal Id in Azure Active Directory for the corresponding App.
servicePrincipalId?: NullableOption<string>;
// Refers to the Service Principal Name is the Application name in the tenant.
servicePrincipalName?: NullableOption<string>;
}
export interface AppliedConditionalAccessPolicy {
// Refers to the Name of the conditional access policy (example: 'Require MFA for Salesforce').
displayName?: NullableOption<string>;
/**
* Refers to the grant controls enforced by the conditional access policy (example: 'Require multi-factor
* authentication').
*/
enforcedGrantControls?: NullableOption<string[]>;
// Refers to the session controls enforced by the conditional access policy (example: 'Require app enforced controls').
enforcedSessionControls?: NullableOption<string[]>;
// An identifier of the conditional access policy.
id?: NullableOption<string>;
/**
* Indicates the result of the CA policy that was triggered. Possible values are: success, failure, notApplied (Policy
* isn't applied because policy conditions were not met),notEnabled (This is due to the policy in disabled state),
* unknown, unknownFutureValue.
*/
result?: NullableOption<AppliedConditionalAccessPolicyResult>;
}
export interface AuditActivityInitiator {
/**
* If the resource initiating the activity is an app, this property indicates all the app related information like appId,
* Name, servicePrincipalId, Name.
*/
app?: NullableOption<AppIdentity>;
/**
* If the resource initiating the activity is a user, this property Indicates all the user related information like
* userId, Name, UserPrinicpalName.
*/
user?: NullableOption<UserIdentity>;
}
// tslint:disable-next-line: interface-name
export interface Identity {
/**
* The display name of the identity. Note that this might not always be available or up to date. For example, if a user
* changes their display name, the API might show the new value in a future response, but the items associated with the
* user won't show up as having changed when using delta.
*/
displayName?: NullableOption<string>;
// Unique identifier for the identity.
id?: NullableOption<string>;
}
export interface UserIdentity extends Identity {
// Indicates the client IP address used by user performing the activity (audit log only).
ipAddress?: NullableOption<string>;
// The userPrincipalName attribute of the user.
userPrincipalName?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface DetailsInfo {}
export interface DeviceDetail {
// Indicates the browser information of the used for signing in.
browser?: NullableOption<string>;
// Refers to the UniqueID of the device used for signing in.
deviceId?: NullableOption<string>;
// Refers to the name of the device used for signing in.
displayName?: NullableOption<string>;
// Indicates whether the device is compliant.
isCompliant?: NullableOption<boolean>;
// Indicates whether the device is managed.
isManaged?: NullableOption<boolean>;
// Indicates the operating system name and version used for signing in.
operatingSystem?: NullableOption<string>;
// Provides information about whether the signed-in device is Workplace Joined, AzureAD Joined, Domain Joined.
trustType?: NullableOption<string>;
}
export interface GeoCoordinates {
// Optional. The altitude (height), in feet, above sea level for the item. Read-only.
altitude?: NullableOption<number>;
// Optional. The latitude, in decimal, for the item. Read-only.
latitude?: NullableOption<number>;
// Optional. The longitude, in decimal, for the item. Read-only.
longitude?: NullableOption<number>;
}
// tslint:disable-next-line: interface-name
export interface Initiator extends Identity {
// Type of initiator. Possible values are: user, application, system, unknownFutureValue.
initiatorType?: NullableOption<InitiatorType>;
}
export interface KeyValue {
// Key for the key-value pair.
key?: NullableOption<string>;
// Value for the key-value pair.
value?: NullableOption<string>;
}
export interface ModifiedProperty {
// Indicates the property name of the target attribute that was changed.
displayName?: NullableOption<string>;
// Indicates the updated value for the propery.
newValue?: NullableOption<string>;
// Indicates the previous value (before the update) for the property.
oldValue?: NullableOption<string>;
}
export interface ProvisionedIdentity extends Identity {
// Details of the identity.
details?: NullableOption<DetailsInfo>;
// Type of identity that has been provisioned, such as 'user' or 'group'.
identityType?: NullableOption<string>;
}
export interface ProvisioningErrorInfo {
// Additional details in case of error.
additionalDetails?: NullableOption<string>;
// Categorizes the error code. Possible values are failure, nonServiceFailure, success, unknownFutureValue
errorCategory?: NullableOption<ProvisioningStatusErrorCategory>;
// Unique error code if any occurred. Learn more
errorCode?: NullableOption<string>;
// Summarizes the status and describes why the status happened.
reason?: NullableOption<string>;
// Provides the resolution for the corresponding error.
recommendedAction?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface ProvisioningServicePrincipal extends Identity {}
export interface ProvisioningStatusInfo {
errorInformation?: NullableOption<ProvisioningErrorInfo>;
// Possible values are: success, warning, failure, skipped, unknownFutureValue.
status?: NullableOption<ProvisioningResult>;
}
export interface ProvisioningStep {
// Summary of what occurred during the step.
description?: NullableOption<string>;
// Details of what occurred during the step.
details?: NullableOption<DetailsInfo>;
// Name of the step.
name?: NullableOption<string>;
/**
* Type of step. Possible values are: import, scoping, matching, processing, referenceResolution, export,
* unknownFutureValue.
*/
provisioningStepType?: NullableOption<ProvisioningStepType>;
// Status of the step. Possible values are: success, warning, failure, skipped, unknownFutureValue.
status?: NullableOption<ProvisioningResult>;
}
export interface ProvisioningSystem extends Identity {
// Details of the system.
details?: NullableOption<DetailsInfo>;
}
export interface SignInActivity {
/**
* The last non-interactive sign-in date for a specific user. You can use this field to calculate the last time a client
* attempted to sign into the directory on behalf of a user. Because some users may use clients to access tenant resources
* rather than signing into your tenant directly, you can use the non-interactive sign-in date to along with
* lastSignInDateTime to identify inactive users. The timestamp represents date and time information using ISO 8601 format
* and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is: '2014-01-01T00:00:00Z'. Azure AD maintains
* non-interactive sign-ins going back to May 2020. For more information about using the value of this property, see
* Manage inactive user accounts in Azure AD.
*/
lastNonInteractiveSignInDateTime?: NullableOption<string>;
// Request identifier of the last non-interactive sign-in performed by this user.
lastNonInteractiveSignInRequestId?: NullableOption<string>;
/**
* The last interactive sign-in date and time for a specific user. You can use this field to calculate the last time a
* user attempted to sign into the directory with an interactive authentication method. This field can be used to build
* reports, such as inactive users. The timestamp represents date and time information using ISO 8601 format and is always
* in UTC time. For example, midnight UTC on Jan 1, 2014 is: '2014-01-01T00:00:00Z'. Azure AD maintains interactive
* sign-ins going back to April 2020. For more information about using the value of this property, see Manage inactive
* user accounts in Azure AD.
*/
lastSignInDateTime?: NullableOption<string>;
// Request identifier of the last interactive sign-in performed by this user.
lastSignInRequestId?: NullableOption<string>;
}
export interface SignInLocation {
/**
* Provides the city where the sign-in originated. This is calculated using latitude/longitude information from the
* sign-in activity.
*/
city?: NullableOption<string>;
/**
* Provides the country code info (2 letter code) where the sign-in originated. This is calculated using
* latitude/longitude information from the sign-in activity.
*/
countryOrRegion?: NullableOption<string>;
// Provides the latitude, longitude and altitude where the sign-in originated.
geoCoordinates?: NullableOption<GeoCoordinates>;
/**
* Provides the State where the sign-in originated. This is calculated using latitude/longitude information from the
* sign-in activity.
*/
state?: NullableOption<string>;
}
export interface SignInStatus {
// Provides additional details on the sign-in activity
additionalDetails?: NullableOption<string>;
/**
* Provides the 5-6 digit error code that's generated during a sign-in failure. Check out the list of error codes and
* messages.
*/
errorCode?: NullableOption<number>;
/**
* Provides the error message or the reason for failure for the corresponding sign-in activity. Check out the list of
* error codes and messages.
*/
failureReason?: NullableOption<string>;
}
export interface TargetResource {
// Indicates the visible name defined for the resource. Typically specified when the resource is created.
displayName?: NullableOption<string>;
/**
* When type is set to Group, this indicates the group type. Possible values are: unifiedGroups, azureAD, and
* unknownFutureValue
*/
groupType?: NullableOption<GroupType>;
// Indicates the unique ID of the resource.
id?: NullableOption<string>;
// Indicates name, old value and new value of each attribute that changed. Property values depend on the operation type.
modifiedProperties?: NullableOption<ModifiedProperty[]>;
// Describes the resource type. Example values include Application, Group, ServicePrincipal, and User.
type?: NullableOption<string>;
// When type is set to User, this includes the user name that initiated the action; null for other types.
userPrincipalName?: NullableOption<string>;
}
export interface AssignedLicense {
// A collection of the unique identifiers for plans that have been disabled.
disabledPlans?: string[];
// The unique identifier for the SKU.
skuId?: NullableOption<string>;
}
export interface AssignedPlan {
/**
* The date and time at which the plan was assigned. 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 is 2014-01-01T00:00:00Z.
*/
assignedDateTime?: NullableOption<string>;
/**
* Condition of the capability assignment. The possible values are Enabled, Warning, Suspended, Deleted, LockedOut. See a
* detailed description of each value.
*/
capabilityStatus?: NullableOption<string>;
// The name of the service; for example, exchange.
service?: NullableOption<string>;
/**
* A GUID that identifies the service plan. For a complete list of GUIDs and their equivalent friendly service names, see
* Product names and service plan identifiers for licensing.
*/
servicePlanId?: NullableOption<string>;
}
export interface AuthorizationInfo {
certificateUserIds?: NullableOption<string[]>;
}
export interface EmployeeOrgData {
// The cost center associated with the user. Returned only on $select. Supports $filter.
costCenter?: NullableOption<string>;
// The name of the division in which the user works. Returned only on $select. Supports $filter.
division?: NullableOption<string>;
}
export interface ObjectIdentity {
/**
* Specifies the issuer of the identity, for example facebook.com.For local accounts (where signInType is not federated),
* this property is the local B2C tenant default domain name, for example contoso.onmicrosoft.com.For external users from
* other Azure AD organization, this will be the domain of the federated organization, for example contoso.com.Supports
* $filter. 512 character limit.
*/
issuer?: NullableOption<string>;
/**
* Specifies the unique identifier assigned to the user by the issuer. The combination of issuer and issuerAssignedId must
* be unique within the organization. Represents the sign-in name for the user, when signInType is set to emailAddress or
* userName (also known as local accounts).When signInType is set to: emailAddress, (or a custom string that starts with
* emailAddress like emailAddress1) issuerAssignedId must be a valid email addressuserName, issuerAssignedId must begin
* with alphabetical character or number, and can only contain alphanumeric characters and the following symbols: - or
* Supports $filter. 64 character limit.
*/
issuerAssignedId?: NullableOption<string>;
/**
* Specifies the user sign-in types in your directory, such as emailAddress, userName, federated, or userPrincipalName.
* federated represents a unique identifier for a user from an issuer, that can be in any format chosen by the issuer.
* Setting or updating a userPrincipalName identity will update the value of the userPrincipalName property on the user
* object. The validations performed on the userPrincipalName property on the user object, for example, verified domains
* and acceptable characters, will be performed when setting or updating a userPrincipalName identity. Additional
* validation is enforced on issuerAssignedId when the sign-in type is set to emailAddress or userName. This property can
* also be set to any custom string.
*/
signInType?: NullableOption<string>;
}
export interface LicenseAssignmentState {
assignedByGroup?: NullableOption<string>;
disabledPlans?: NullableOption<string[]>;
error?: NullableOption<string>;
lastUpdatedDateTime?: NullableOption<string>;
skuId?: NullableOption<string>;
state?: NullableOption<string>;
}
export interface OnPremisesExtensionAttributes {
// First customizable extension attribute.
extensionAttribute1?: NullableOption<string>;
// Tenth customizable extension attribute.
extensionAttribute10?: NullableOption<string>;
// Eleventh customizable extension attribute.
extensionAttribute11?: NullableOption<string>;
// Twelfth customizable extension attribute.
extensionAttribute12?: NullableOption<string>;
// Thirteenth customizable extension attribute.
extensionAttribute13?: NullableOption<string>;
// Fourteenth customizable extension attribute.
extensionAttribute14?: NullableOption<string>;
// Fifteenth customizable extension attribute.
extensionAttribute15?: NullableOption<string>;
// Second customizable extension attribute.
extensionAttribute2?: NullableOption<string>;
// Third customizable extension attribute.
extensionAttribute3?: NullableOption<string>;
// Fourth customizable extension attribute.
extensionAttribute4?: NullableOption<string>;
// Fifth customizable extension attribute.
extensionAttribute5?: NullableOption<string>;
// Sixth customizable extension attribute.
extensionAttribute6?: NullableOption<string>;
// Seventh customizable extension attribute.
extensionAttribute7?: NullableOption<string>;
// Eighth customizable extension attribute.
extensionAttribute8?: NullableOption<string>;
// Ninth customizable extension attribute.
extensionAttribute9?: NullableOption<string>;
}
export interface OnPremisesProvisioningError {
/**
* Category of the provisioning error. Note: Currently, there is only one possible value. Possible value: PropertyConflict
* - indicates a property value is not unique. Other objects contain the same value for the property.
*/
category?: NullableOption<string>;
// The date and time at which the error occurred.
occurredDateTime?: NullableOption<string>;
// Name of the directory property causing the error. Current possible values: UserPrincipalName or ProxyAddress
propertyCausingError?: NullableOption<string>;
// Value of the property causing the error.
value?: NullableOption<string>;
}
export interface PasswordProfile {
// true if the user must change her password on the next login; otherwise false.
forceChangePasswordNextSignIn?: NullableOption<boolean>;
/**
* If true, at next sign-in, the user must perform a multi-factor authentication (MFA) before being forced to change their
* password. The behavior is identical to forceChangePasswordNextSignIn except that the user is required to first perform
* a multi-factor authentication before password change. After a password change, this property will be automatically
* reset to false. If not set, default is false.
*/
forceChangePasswordNextSignInWithMfa?: NullableOption<boolean>;
/**
* The password for the user. This property is required when a user is created. It can be updated, but the user will be
* required to change the password on the next login. The password must satisfy minimum requirements as specified by the
* users passwordPolicies property. By default, a strong password is required.
*/
password?: NullableOption<string>;
}
export interface ProvisionedPlan {
// For example, 'Enabled'.
capabilityStatus?: NullableOption<string>;
// For example, 'Success'.
provisioningStatus?: NullableOption<string>;
// The name of the service; for example, 'AccessControlS2S'
service?: NullableOption<string>;
}
export interface MailboxSettings {
// Folder ID of an archive folder for the user.
archiveFolder?: NullableOption<string>;
// Configuration settings to automatically notify the sender of an incoming email with a message from the signed-in user.
automaticRepliesSetting?: NullableOption<AutomaticRepliesSetting>;
// The date format for the user's mailbox.
dateFormat?: NullableOption<string>;
/**
* If the user has a calendar delegate, this specifies whether the delegate, mailbox owner, or both receive meeting
* messages and meeting responses. Possible values are: sendToDelegateAndInformationToPrincipal,
* sendToDelegateAndPrincipal, sendToDelegateOnly.
*/
delegateMeetingMessageDeliveryOptions?: NullableOption<DelegateMeetingMessageDeliveryOptions>;
// The locale information for the user, including the preferred language and country/region.
language?: NullableOption<LocaleInfo>;
// The time format for the user's mailbox.
timeFormat?: NullableOption<string>;
// The default time zone for the user's mailbox.
timeZone?: NullableOption<string>;
/**
* The purpose of the mailbox. Differentiates a mailbox for a single user from a shared mailbox and equipment mailbox in
* Exchange Online. Possible values are: user, linked, shared, room, equipment, others, unknownFutureValue. Read-only.
*/
userPurpose?: NullableOption<UserPurpose>;
// The days of the week and hours in a specific time zone that the user works.
workingHours?: NullableOption<WorkingHours>;
}
export interface EmailAddress {
// The email address of the person or entity.
address?: NullableOption<string>;
// The display name of the person or entity.
name?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
export interface InvitedUserMessageInfo {
// Additional recipients the invitation message should be sent to. Currently only 1 additional recipient is supported.
ccRecipients?: NullableOption<Recipient[]>;
// Customized message body you want to send if you don't want the default message.
customizedMessageBody?: NullableOption<string>;
/**
* The language you want to send the default message in. If the customizedMessageBody is specified, this property is
* ignored, and the message is sent using the customizedMessageBody. The language format should be in ISO 639. The default
* is en-US.
*/
messageLanguage?: NullableOption<string>;
}
export interface Recipient {
// The recipient's email address.
emailAddress?: NullableOption<EmailAddress>;
}
export interface ApplicationServicePrincipal {
application?: NullableOption<Application>;
servicePrincipal?: NullableOption<ServicePrincipal>;
}
export interface AddIn {
id?: NullableOption<string>;
properties?: KeyValue[];
type?: string;
}
export interface ApiApplication {
// When true, allows an application to use claims mapping without specifying a custom signing key.
acceptMappedClaims?: NullableOption<boolean>;
/**
* Used for bundling consent if you have a solution that contains two parts: a client app and a custom web API app. If you
* set the appID of the client app to this value, the user only consents once to the client app. Azure AD knows that
* consenting to the client means implicitly consenting to the web API and automatically provisions service principals for
* both APIs at the same time. Both the client and the web API app must be registered in the same tenant.
*/
knownClientApplications?: NullableOption<string[]>;
/**
* The definition of the delegated permissions exposed by the web API represented by this application registration. These
* delegated permissions may be requested by a client application, and may be granted by users or administrators during
* consent. Delegated permissions are sometimes referred to as OAuth 2.0 scopes.
*/
oauth2PermissionScopes?: PermissionScope[];
/**
* Lists the client applications that are pre-authorized with the specified delegated permissions to access this
* application's APIs. Users are not required to consent to any pre-authorized application (for the permissions
* specified). However, any additional permissions not listed in preAuthorizedApplications (requested through incremental
* consent for example) will require user consent.
*/
preAuthorizedApplications?: NullableOption<PreAuthorizedApplication[]>;
/**
* Specifies the access token version expected by this resource. This changes the version and format of the JWT produced
* independent of the endpoint or client used to request the access token. The endpoint used, v1.0 or v2.0, is chosen by
* the client and only impacts the version of id_tokens. Resources need to explicitly configure
* requestedAccessTokenVersion to indicate the supported access token format. Possible values for
* requestedAccessTokenVersion are 1, 2, or null. If the value is null, this defaults to 1, which corresponds to the v1.0
* endpoint. If signInAudience on the application is configured as AzureADandPersonalMicrosoftAccount, the value for this
* property must be 2
*/
requestedAccessTokenVersion?: NullableOption<number>;
}
export interface AppRole {
/**
* Specifies whether this app role can be assigned to users and groups (by setting to ['User']), to other application's
* (by setting to ['Application'], or both (by setting to ['User', 'Application']). App roles supporting assignment to
* other applications' service principals are also known as application permissions. The 'Application' value is only
* supported for app roles defined on application entities.
*/
allowedMemberTypes?: string[];
/**
* The description for the app role. This is displayed when the app role is being assigned and, if the app role functions
* as an application permission, during consent experiences.
*/
description?: NullableOption<string>;
// Display name for the permission that appears in the app role assignment and consent experiences.
displayName?: NullableOption<string>;
/**
* Unique role identifier inside the appRoles collection. When creating a new app role, a new GUID identifier must be
* provided.
*/
id?: string;
/**
* When creating or updating an app role, this must be set to true (which is the default). To delete a role, this must
* first be set to false. At that point, in a subsequent call, this role may be removed.
*/
isEnabled?: boolean;
/**
* Specifies if the app role is defined on the application object or on the servicePrincipal entity. Must not be included
* in any POST or PATCH requests. Read-only.
*/
origin?: NullableOption<string>;
/**
* Specifies the value to include in the roles claim in ID tokens and access tokens authenticating an assigned user or
* service principal. Must not exceed 120 characters in length. Allowed characters are : ! # $ % &amp; ' ( ) * + , - . / :
* ; = ? @ [ ] ^ + _ { } ~, as well as characters in the ranges 0-9, A-Z and a-z. Any other character, including the space
* character, are not allowed. May not begin with ..
*/
value?: NullableOption<string>;
}
export interface Certification {
// URL that shows certification details for the application.
certificationDetailsUrl?: NullableOption<string>;
// The timestamp when the current certification for the application will expire.
certificationExpirationDateTime?: NullableOption<string>;
// Indicates whether the application is certified by Microsoft.
isCertifiedByMicrosoft?: NullableOption<boolean>;
// Indicates whether the application has been self-attested by the application developer or the publisher.
isPublisherAttested?: NullableOption<boolean>;
// The timestamp when the certification for the application was most recently added or updated.
lastCertificationDateTime?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
export interface InformationalUrl {
// CDN URL to the application's logo, Read-only.
logoUrl?: NullableOption<string>;
// Link to the application's marketing page. For example, https://www.contoso.com/app/marketing
marketingUrl?: NullableOption<string>;
// Link to the application's privacy statement. For example, https://www.contoso.com/app/privacy
privacyStatementUrl?: NullableOption<string>;
// Link to the application's support page. For example, https://www.contoso.com/app/support
supportUrl?: NullableOption<string>;
// Link to the application's terms of service statement. For example, https://www.contoso.com/app/termsofservice
termsOfServiceUrl?: NullableOption<string>;
}
export interface KeyCredential {
/**
* A 40-character binary type that can be used to identify the credential. Optional. When not provided in the payload,
* defaults to the thumbprint of the certificate.
*/
customKeyIdentifier?: NullableOption<string>;
// Friendly name for the key. Optional.
displayName?: NullableOption<string>;
/**
* The date and time at which the credential expires. The DateTimeOffset type represents date and time information using
* ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
*/
endDateTime?: NullableOption<string>;
/**
* The certificate's raw data in byte array converted to Base64 string. Returned only on $select for a single object, that
* is, GET applications/{applicationId}?$select=keyCredentials or GET
* servicePrincipals/{servicePrincipalId}?$select=keyCredentials; otherwise, it is always null. From a .cer certificate,
* you can read the key using the Convert.ToBase64String() method. For more information, see Get the certificate key.
*/
key?: NullableOption<string>;
// The unique identifier (GUID) for the key.
keyId?: NullableOption<string>;
/**
* The date and time at which the credential becomes valid.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 is 2014-01-01T00:00:00Z.
*/
startDateTime?: NullableOption<string>;
// The type of key credential; for example, Symmetric, AsymmetricX509Cert.
type?: NullableOption<string>;
// A string that describes the purpose for which the key can be used; for example, Verify.
usage?: NullableOption<string>;
}
export interface OptionalClaims {
// The optional claims returned in the JWT access token.
accessToken?: NullableOption<OptionalClaim[]>;
// The optional claims returned in the JWT ID token.
idToken?: NullableOption<OptionalClaim[]>;
// The optional claims returned in the SAML token.
saml2Token?: NullableOption<OptionalClaim[]>;
}
export interface ParentalControlSettings {
/**
* Specifies the two-letter ISO country codes. Access to the application will be blocked for minors from the countries
* specified in this list.
*/
countriesBlockedForMinors?: NullableOption<string[]>;
/**
* Specifies the legal age group rule that applies to users of the app. Can be set to one of the following values:
* ValueDescriptionAllowDefault. Enforces the legal minimum. This means parental consent is required for minors in the
* European Union and Korea.RequireConsentForPrivacyServicesEnforces the user to specify date of birth to comply with
* COPPA rules. RequireConsentForMinorsRequires parental consent for ages below 18, regardless of country minor
* rules.RequireConsentForKidsRequires parental consent for ages below 14, regardless of country minor
* rules.BlockMinorsBlocks minors from using the app.
*/
legalAgeGroupRule?: NullableOption<string>;
}
export interface PasswordCredential {
// Do not use.
customKeyIdentifier?: NullableOption<string>;
// Friendly name for the password. Optional.
displayName?: NullableOption<string>;
/**
* The date and time at which the password expires represented using ISO 8601 format and is always in UTC time. For
* example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Optional.
*/
endDateTime?: NullableOption<string>;
// Contains the first three characters of the password. Read-only.
hint?: NullableOption<string>;
// The unique identifier for the password.
keyId?: NullableOption<string>;
/**
* Read-only; Contains the strong passwords generated by Azure AD that are 16-64 characters in length. The generated
* password value is only returned during the initial POST request to addPassword. There is no way to retrieve this
* password in the future.
*/
secretText?: NullableOption<string>;
/**
* The date and time at which the password becomes valid. 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 is 2014-01-01T00:00:00Z. Optional.
*/
startDateTime?: NullableOption<string>;
}
export interface PublicClientApplication {
/**
* Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and
* access tokens are sent.
*/
redirectUris?: string[];
}
export interface RequestSignatureVerification {
// Specifies which weak algorithms are allowed. The possible values are: rsaSha1, unknownFutureValue.
allowedWeakAlgorithms?: NullableOption<WeakAlgorithms>;
// Specifies whether signed authentication requests for this application should be required.
isSignedRequestRequired?: boolean;
}
export interface RequiredResourceAccess {
// The list of OAuth2.0 permission scopes and app roles that the application requires from the specified resource.
resourceAccess?: ResourceAccess[];
/**
* The unique identifier for the resource that the application requires access to. This should be equal to the appId
* declared on the target resource application.
*/
resourceAppId?: string;
}
export interface SpaApplication {
/**
* Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and
* access tokens are sent.
*/
redirectUris?: string[];
}
export interface VerifiedPublisher {
// The timestamp when the verified publisher was first added or most recently updated.
addedDateTime?: NullableOption<string>;
// The verified publisher name from the app publisher's Partner Center account.
displayName?: NullableOption<string>;
// The ID of the verified publisher from the app publisher's Partner Center account.
verifiedPublisherId?: NullableOption<string>;
}
export interface WebApplication {
// Home page or landing page of the application.
homePageUrl?: NullableOption<string>;
// Specifies whether this web application can request tokens using the OAuth 2.0 implicit flow.
implicitGrantSettings?: NullableOption<ImplicitGrantSettings>;
/**
* Specifies the URL that will be used by Microsoft's authorization service to logout an user using front-channel,
* back-channel or SAML logout protocols.
*/
logoutUrl?: NullableOption<string>;
/**
* Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and
* access tokens are sent.
*/
redirectUris?: string[];
redirectUriSettings?: RedirectUriSettings[];
}
export interface PermissionScope {
/**
* A description of the delegated permissions, intended to be read by an administrator granting the permission on behalf
* of all users. This text appears in tenant-wide admin consent experiences.
*/
adminConsentDescription?: NullableOption<string>;
// The permission's title, intended to be read by an administrator granting the permission on behalf of all users.
adminConsentDisplayName?: NullableOption<string>;
/**
* Unique delegated permission identifier inside the collection of delegated permissions defined for a resource
* application.
*/
id?: string;
/**
* When creating or updating a permission, this property must be set to true (which is the default). To delete a
* permission, this property must first be set to false. At that point, in a subsequent call, the permission may be
* removed.
*/
isEnabled?: boolean;
origin?: NullableOption<string>;
/**
* The possible values are: User and Admin. Specifies whether this delegated permission should be considered safe for
* non-admin users to consent to on behalf of themselves, or whether an administrator consent should always be required.
* While Microsoft Graph defines the default consent requirement for each permission, the tenant administrator may
* override the behavior in their organization (by allowing, restricting, or limiting user consent to this delegated
* permission). For more information, see Configure how users consent to applications.
*/
type?: NullableOption<string>;
/**
* A description of the delegated permissions, intended to be read by a user granting the permission on their own behalf.
* This text appears in consent experiences where the user is consenting only on behalf of themselves.
*/
userConsentDescription?: NullableOption<string>;
/**
* A title for the permission, intended to be read by a user granting the permission on their own behalf. This text
* appears in consent experiences where the user is consenting only on behalf of themselves.
*/
userConsentDisplayName?: NullableOption<string>;
/**
* Specifies the value to include in the scp (scope) claim in access tokens. Must not exceed 120 characters in length.
* Allowed characters are : ! # $ % &amp; ' ( ) * + , - . / : ; = ? @ [ ] ^ + _ { } ~, as well as characters in the ranges
* 0-9, A-Z and a-z. Any other character, including the space character, are not allowed. May not begin with ..
*/
value?: NullableOption<string>;
}
export interface ResourceSpecificPermission {
// Describes the level of access that the resource-specific permission represents.
description?: NullableOption<string>;
// The display name for the resource-specific permission.
displayName?: NullableOption<string>;
// The unique identifier for the resource-specific application permission.
id?: string;
// Indicates whether the permission is enabled.
isEnabled?: boolean;
// The value of the permission.
value?: NullableOption<string>;
}
export interface SamlSingleSignOnSettings {
// The relative URI the service provider would redirect to after completion of the single sign-on flow.
relayState?: NullableOption<string>;
}
export interface AuthenticationMethodFeatureConfiguration {
// A single entity that is excluded from this feature.
excludeTarget?: NullableOption<FeatureTarget>;
// A single entity that is included in this feature.
includeTarget?: NullableOption<FeatureTarget>;
/**
* Enable or disable the feature. Possible values are: default, enabled, disabled, unknownFutureValue. The default value
* is used when the configuration hasn't been explicitly set and uses the default behavior of Azure AD for the setting.
* The default value is disabled.
*/
state?: NullableOption<AdvancedConfigState>;
}
export interface FeatureTarget {
// The ID of the entity that's targeted in the include or exclude rule, or all_users to target all users.
id?: NullableOption<string>;
// The kind of entity that's targeted. The possible values are: group, administrativeUnit, role, unknownFutureValue.
targetType?: NullableOption<FeatureTargetType>;
}
export interface AuthenticationMethodsRegistrationCampaign {
// Users and groups of users that are excluded from being prompted to set up the authentication method.
excludeTargets?: ExcludeTarget[];
// Users and groups of users that are prompted to set up the authentication method.
includeTargets?: AuthenticationMethodsRegistrationCampaignIncludeTarget[];
/**
* Specifies the number of days that the user sees a prompt again if they select 'Not now' and snoozes the prompt.
* Minimum: 0 days. Maximum: 14 days. If the value is '0', the user is prompted during every MFA attempt.
*/
snoozeDurationInDays?: number;
/**
* Enable or disable the feature. Possible values are: default, enabled, disabled, unknownFutureValue. The default value
* is used when the configuration hasn't been explicitly set and uses the default behavior of Azure Active Directory for
* the setting. The default value is disabled.
*/
state?: AdvancedConfigState;
}
export interface ExcludeTarget {
// The object identifier of an Azure Active Directory user or group.
id?: string;
// The type of the authentication method target. Possible values are: user, group, unknownFutureValue.
targetType?: AuthenticationMethodTargetType;
}
export interface AuthenticationMethodsRegistrationCampaignIncludeTarget {
// The object identifier of an Azure Active Directory user or group.
id?: string;
// The authentication method that the user is prompted to register. The value must be microsoftAuthenticator.
targetedAuthenticationMethod?: NullableOption<string>;
// The type of the authentication method target. Possible values are: user, group, unknownFutureValue.
targetType?: AuthenticationMethodTargetType;
}
export interface Fido2KeyRestrictions {
// A collection of Authenticator Attestation GUIDs. AADGUIDs define key types and manufacturers.
aaGuids?: NullableOption<string[]>;
// Enforcement type. Possible values are: allow, block.
enforcementType?: NullableOption<Fido2RestrictionEnforcementType>;
// Determines if the configured key enforcement is enabled.
isEnforced?: NullableOption<boolean>;
}
export interface MicrosoftAuthenticatorFeatureSettings {
// Determines whether the user's Authenticator app will show them the client app they are signing into.
displayAppInformationRequiredState?: NullableOption<AuthenticationMethodFeatureConfiguration>;
/**
* Determines whether the user's Authenticator app will show them the geographic location of where the authentication
* request originated from.
*/
displayLocationInformationRequiredState?: NullableOption<AuthenticationMethodFeatureConfiguration>;
}
export interface RegistrationEnforcement {
// Run campaigns to remind users to set up targeted authentication methods.
authenticationMethodsRegistrationCampaign?: NullableOption<AuthenticationMethodsRegistrationCampaign>;
}
export interface UpdateAllowedCombinationsResult {
// Information about why the updateAllowedCombinations action was successful or failed.
additionalInformation?: NullableOption<string>;
// References to existing Conditional Access policies that use this authentication strength.
conditionalAccessReferences?: NullableOption<string[]>;
// The list of current authentication method combinations allowed by the authentication strength.
currentCombinations?: AuthenticationMethodModes[];
/**
* The list of former authentication method combinations allowed by the authentication strength before they were updated
* through the updateAllowedCombinations action.
*/
previousCombinations?: AuthenticationMethodModes[];
}
export interface X509CertificateAuthenticationModeConfiguration {
/**
* Rules are configured in addition to the authentication mode to bind a specific x509CertificateRuleType to an
* x509CertificateAuthenticationMode. For example, bind the policyOID with identifier 1.32.132.343 to
* x509CertificateMultiFactor authentication mode.
*/
rules?: NullableOption<X509CertificateRule[]>;
/**
* The type of strong authentication mode. The possible values are: x509CertificateSingleFactor,
* x509CertificateMultiFactor, unknownFutureValue.
*/
x509CertificateAuthenticationDefaultMode?: NullableOption<X509CertificateAuthenticationMode>;
}
export interface X509CertificateRule {
// The identifier of the X.509 certificate. Required.
identifier?: NullableOption<string>;
/**
* The type of strong authentication mode. The possible values are: x509CertificateSingleFactor,
* x509CertificateMultiFactor, unknownFutureValue. Required.
*/
x509CertificateAuthenticationMode?: NullableOption<X509CertificateAuthenticationMode>;
/**
* The type of the X.509 certificate mode configuration rule. The possible values are: issuerSubject, policyOID,
* unknownFutureValue. Required.
*/
x509CertificateRuleType?: NullableOption<X509CertificateRuleType>;
}
export interface X509CertificateUserBinding {
/**
* The priority of the binding. Azure AD uses the binding with the highest priority. This value must be a non-negative
* integer and unique in the collection of objects in the certificateUserBindings property of an
* x509CertificateAuthenticationMethodConfiguration object. Required
*/
priority?: number;
/**
* Defines the Azure AD user property of the user object to use for the binding. The possible values are:
* userPrincipalName, onPremisesUserPrincipalName, certificateUserIds. Required.
*/
userProperty?: NullableOption<string>;
/**
* The field on the X.509 certificate to use for the binding. The possible values are: PrincipalName, RFC822Name,
* SubjectKeyIdentifier, SHA1PublicKey.
*/
x509CertificateField?: NullableOption<string>;
}
export interface AvailabilityItem {
// The end time of the time slot.
endDateTime?: DateTimeTimeZone;
/**
* Indicates the service ID in case of 1:n appointments. If the appointment is of type 1:n, this field will be present,
* otherwise, null.
*/
serviceId?: NullableOption<string>;
// The start time of the time slot.
startDateTime?: DateTimeTimeZone;
// The status of the staff member. Possible values are: available, busy, slotsAvailable, outOfOffice, unknownFutureValue.
status?: NullableOption<BookingsAvailabilityStatus>;
}
export interface DateTimeTimeZone {
/**
* A single point of time in a combined date and time representation ({date}T{time}; for example,
* 2017-08-29T04:00:00.0000000).
*/
dateTime?: string;
// Represents a time zone, for example, 'Pacific Standard Time'. See below for more possible values.
timeZone?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface BookingCustomerInformationBase {}
export interface BookingCustomerInformation extends BookingCustomerInformationBase {
/**
* The ID of the bookingCustomer for this appointment. If no ID is specified when an appointment is created, then a new
* bookingCustomer object is created. Once set, you should consider the customerId immutable.
*/
customerId?: NullableOption<string>;
// It consists of the list of custom questions and answers given by the customer as part of the appointment
customQuestionAnswers?: NullableOption<BookingQuestionAnswer[]>;
// The SMTP address of the bookingCustomer who is booking the appointment
emailAddress?: NullableOption<string>;
// Represents location information for the bookingCustomer who is booking the appointment.
location?: NullableOption<Location>;
// The customer's name.
name?: NullableOption<string>;
/**
* Notes from the customer associated with this appointment. You can get the value only when reading this
* bookingAppointment by its ID. You can set this property only when initially creating an appointment with a new
* customer. After that point, the value is computed from the customer represented by the customerId.
*/
notes?: NullableOption<string>;
// The customer's phone number.
phone?: NullableOption<string>;
// The time zone of the customer. For a list of possible values, see dateTimeTimeZone.
timeZone?: NullableOption<string>;
}
export interface BookingQuestionAnswer {
// The answer given by the user in case the answerInputType is text.
answer?: NullableOption<string>;
// The expected answer type. The possible values are: text, radioButton, unknownFutureValue.
answerInputType?: NullableOption<AnswerInputType>;
// In case the answerInputType is radioButton, this will consists of a list of possible answer values.
answerOptions?: NullableOption<string[]>;
// Indicates whether it is mandatory to answer the custom question.
isRequired?: NullableOption<boolean>;
// The question.
question?: NullableOption<string>;
// The ID of the custom question.
questionId?: NullableOption<string>;
// The answers selected by the user.
selectedOptions?: NullableOption<string[]>;
}
export interface Location {
// The street address of the location.
address?: NullableOption<PhysicalAddress>;
// The geographic coordinates and elevation of the location.
coordinates?: NullableOption<OutlookGeoCoordinates>;
// The name associated with the location.
displayName?: NullableOption<string>;
// Optional email address of the location.
locationEmailAddress?: NullableOption<string>;
/**
* The type of location. The possible values are: default, conferenceRoom, homeAddress, businessAddress,geoCoordinates,
* streetAddress, hotel, restaurant, localBusiness, postalAddress. Read-only.
*/
locationType?: NullableOption<LocationType>;
// Optional URI representing the location.
locationUri?: NullableOption<string>;
// For internal use only.
uniqueId?: NullableOption<string>;
// For internal use only.
uniqueIdType?: NullableOption<LocationUniqueIdType>;
}
export interface BookingQuestionAssignment {
// The ID of the custom question.
isRequired?: boolean;
// Indicates whether it is mandatory to answer the custom question.
questionId?: string;
}
export interface BookingReminder {
// The message in the reminder.
message?: string;
/**
* The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601
* format.
*/
offset?: string;
// The persons who should receive the reminder. Possible values are: allAttendees, staff, customer, unknownFutureValue.
recipients?: BookingReminderRecipients;
}
export interface BookingSchedulingPolicy {
// True if to allow customers to choose a specific person for the booking.
allowStaffSelection?: boolean;
// Maximum number of days in advance that a booking can be made. It follows the ISO 8601 format.
maximumAdvance?: string;
// The minimum amount of time before which bookings and cancellations must be made. It follows the ISO 8601 format.
minimumLeadTime?: string;
/**
* True to notify the business via email when a booking is created or changed. Use the email address specified in the
* email property of the bookingBusiness entity for the business.
*/
sendConfirmationsToOwner?: boolean;
// Duration of each time slot, denoted in ISO 8601 format.
timeSlotInterval?: string;
}
export interface BookingWorkHours {
/**
* The day of the week represented by this instance. Possible values are: sunday, monday, tuesday, wednesday, thursday,
* friday, saturday.
*/
day?: DayOfWeek;
// A list of start/end times during a day.
timeSlots?: NullableOption<BookingWorkTimeSlot[]>;
}
export interface BookingWorkTimeSlot {
// The time of the day when work stops. For example, 17:00:00.0000000.
endTime?: string;
// The time of the day when work starts. For example, 08:00:00.0000000.
startTime?: string;
}
export interface PhysicalAddress {
// The city.
city?: NullableOption<string>;
// The country or region. It's a free-format string value, for example, 'United States'.
countryOrRegion?: NullableOption<string>;
// The postal code.
postalCode?: NullableOption<string>;
// The state.
state?: NullableOption<string>;
// The street.
street?: NullableOption<string>;
}
export interface OutlookGeoCoordinates {
/**
* The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude
* and longitude are accurate to within 50 meters.
*/
accuracy?: NullableOption<number>;
// The altitude of the location.
altitude?: NullableOption<number>;
// The accuracy of the altitude.
altitudeAccuracy?: NullableOption<number>;
// The latitude of the location.
latitude?: NullableOption<number>;
// The longitude of the location.
longitude?: NullableOption<number>;
}
export interface Phone {
language?: NullableOption<string>;
// The phone number.
number?: NullableOption<string>;
region?: NullableOption<string>;
/**
* The type of phone number. The possible values are: home, business, mobile, other, assistant, homeFax, businessFax,
* otherFax, pager, radio.
*/
type?: NullableOption<PhoneType>;
}
export interface StaffAvailabilityItem {
// Each item in this collection indicates a slot and the status of the staff member.
availabilityItems?: NullableOption<AvailabilityItem[]>;
// The ID of the staff member.
staffId?: NullableOption<string>;
}
export interface TimeSlot {
// The date, time, and time zone that a period ends.
end?: DateTimeTimeZone;
// The date, time, and time zone that a period begins.
start?: DateTimeTimeZone;
}
export interface DataSubject {
// Email of the data subject.
email?: NullableOption<string>;
// First name of the data subject.
firstName?: NullableOption<string>;
// Last Name of the data subject.
lastName?: NullableOption<string>;
/**
* The country/region of residency. The residency information is uesed only for internal reporting but not for the content
* search.
*/
residency?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
export interface IdentitySet {
// Optional. The application associated with this action.
application?: NullableOption<Identity>;
// Optional. The device associated with this action.
device?: NullableOption<Identity>;
// Optional. The user associated with this action.
user?: NullableOption<Identity>;
}
// tslint:disable-next-line: interface-name
export interface ItemBody {
// The content of the item.
content?: NullableOption<string>;
// The type of the content. Possible values are text and html.
contentType?: NullableOption<BodyType>;
}
export interface KeyValuePair {
// Name for this key-value pair
name?: string;
// Value for this key-value pair
value?: NullableOption<string>;
}
export interface PublicError {
// Represents the error code.
code?: NullableOption<string>;
// Details of the error.
details?: NullableOption<PublicErrorDetail[]>;
// Details of the inner error.
innerError?: NullableOption<PublicInnerError>;
// A non-localized message for the developer.
message?: NullableOption<string>;
// The target of the error.
target?: NullableOption<string>;
}
export interface PublicErrorDetail {
// The error code.
code?: NullableOption<string>;
// The error message.
message?: NullableOption<string>;
// The target of the error.
target?: NullableOption<string>;
}
export interface PublicInnerError {
// The error code.
code?: NullableOption<string>;
// A collection of error details.
details?: NullableOption<PublicErrorDetail[]>;
// The error message.
message?: NullableOption<string>;
// The target of the error.
target?: NullableOption<string>;
}
export interface SubjectRightsRequestDetail {
// Count of items that are excluded from the request.
excludedItemCount?: NullableOption<number>;
// Count of items per insight.
insightCounts?: NullableOption<KeyValuePair[]>;
// Count of items found.
itemCount?: NullableOption<number>;
// Count of item that need review.
itemNeedReview?: NullableOption<number>;
// Count of items per product, such as Exchange, SharePoint, OneDrive, and Teams.
productItemCounts?: NullableOption<KeyValuePair[]>;
// Count of items signed off by the administrator.
signedOffItemCount?: NullableOption<number>;
// Total item size in bytes.
totalItemSize?: NullableOption<number>;
}
export interface SubjectRightsRequestHistory {
// Identity of the user who changed the subject rights request.
changedBy?: NullableOption<IdentitySet>;
// Data and time when the entity was changed.
eventDateTime?: NullableOption<string>;
/**
* The stage when the entity was changed. Possible values are: contentRetrieval, contentReview, generateReport,
* contentDeletion, caseResolved, unknownFutureValue.
*/
stage?: NullableOption<SubjectRightsRequestStage>;
/**
* The status of the stage when the entity was changed. Possible values are: notStarted, current, completed, failed,
* unknownFutureValue.
*/
stageStatus?: NullableOption<SubjectRightsRequestStageStatus>;
// Type of history.
type?: NullableOption<string>;
}
export interface SubjectRightsRequestStageDetail {
// Describes the error, if any, for the current stage.
error?: NullableOption<PublicError>;
/**
* The stage of the subject rights request. Possible values are: contentRetrieval, contentReview, generateReport,
* contentDeletion, caseResolved, unknownFutureValue.
*/
stage?: NullableOption<SubjectRightsRequestStage>;
// Status of the current stage. Possible values are: notStarted, current, completed, failed, unknownFutureValue.
status?: NullableOption<SubjectRightsRequestStageStatus>;
}
export interface TeamFunSettings {
// If set to true, enables users to include custom memes.
allowCustomMemes?: NullableOption<boolean>;
// If set to true, enables Giphy use.
allowGiphy?: NullableOption<boolean>;
// If set to true, enables users to include stickers and memes.
allowStickersAndMemes?: NullableOption<boolean>;
// Giphy content rating. Possible values are: moderate, strict.
giphyContentRating?: NullableOption<GiphyRatingType>;
}
export interface TeamGuestSettings {
// If set to true, guests can add and update channels.
allowCreateUpdateChannels?: NullableOption<boolean>;
// If set to true, guests can delete channels.
allowDeleteChannels?: NullableOption<boolean>;
}
export interface TeamMemberSettings {
// If set to true, members can add and remove apps.
allowAddRemoveApps?: NullableOption<boolean>;
// If set to true, members can add and update private channels.
allowCreatePrivateChannels?: NullableOption<boolean>;
// If set to true, members can add and update channels.
allowCreateUpdateChannels?: NullableOption<boolean>;
// If set to true, members can add, update, and remove connectors.
allowCreateUpdateRemoveConnectors?: NullableOption<boolean>;
// If set to true, members can add, update, and remove tabs.
allowCreateUpdateRemoveTabs?: NullableOption<boolean>;
// If set to true, members can delete channels.
allowDeleteChannels?: NullableOption<boolean>;
}
export interface TeamMessagingSettings {
// If set to true, @channel mentions are allowed.
allowChannelMentions?: NullableOption<boolean>;
// If set to true, owners can delete any message.
allowOwnerDeleteMessages?: NullableOption<boolean>;
// If set to true, @team mentions are allowed.
allowTeamMentions?: NullableOption<boolean>;
// If set to true, users can delete their messages.
allowUserDeleteMessages?: NullableOption<boolean>;
// If set to true, users can edit their messages.
allowUserEditMessages?: NullableOption<boolean>;
}
export interface TeamSummary {
// Count of guests in a team.
guestsCount?: NullableOption<number>;
// Count of members in a team.
membersCount?: NullableOption<number>;
// Count of owners in a team.
ownersCount?: NullableOption<number>;
}
export interface ResultInfo {
// The result code.
code?: number;
// The message.
message?: NullableOption<string>;
// The result sub-code.
subcode?: number;
}
export interface AssignedLabel {
// The display name of the label. Read-only.
displayName?: NullableOption<string>;
// The unique identifier of the label.
labelId?: NullableOption<string>;
}
export interface LicenseProcessingState {
state?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface Root {}
export interface SharepointIds {
// The unique identifier (guid) for the item's list in SharePoint.
listId?: NullableOption<string>;
// An integer identifier for the item within the containing list.
listItemId?: NullableOption<string>;
// The unique identifier (guid) for the item within OneDrive for Business or a SharePoint site.
listItemUniqueId?: NullableOption<string>;
// The unique identifier (guid) for the item's site collection (SPSite).
siteId?: NullableOption<string>;
// The SharePoint URL for the site that contains the item.
siteUrl?: NullableOption<string>;
// The unique identifier (guid) for the tenancy.
tenantId?: NullableOption<string>;
// The unique identifier (guid) for the item's site (SPWeb).
webId?: NullableOption<string>;
}
export interface SiteCollection {
// The geographic region code for where this site collection resides. Read-only.
dataLocationCode?: NullableOption<string>;
// The hostname for the site collection. Read-only.
hostname?: NullableOption<string>;
// If present, indicates that this is a root site collection in SharePoint. Read-only.
root?: NullableOption<Root>;
}
// tslint:disable-next-line: no-empty-interface
export interface ApiAuthenticationConfigurationBase {}
export interface AssignmentOrder {
/**
* A list of identityUserFlowAttribute object identifiers that determine the order in which attributes should be collected
* within a user flow.
*/
order?: NullableOption<string[]>;
}
export interface BasicAuthentication extends ApiAuthenticationConfigurationBase {
// The password. It is not returned in the responses.
password?: NullableOption<string>;
// The username.
username?: NullableOption<string>;
}
export interface ClientCertificateAuthentication extends ApiAuthenticationConfigurationBase {
// The list of certificates uploaded for this API connector.
certificateList?: NullableOption<Pkcs12CertificateInformation[]>;
}
export interface Pkcs12CertificateInformation {
/**
* Represents whether the certificate is the active certificate to be used for calling the API connector. The active
* certificate is the most recently uploaded certificate which is not yet expired but whose notBefore time is in the past.
*/
isActive?: boolean;
/**
* The certificate's expiry. This value is a NumericDate as defined in RFC 7519 (A JSON numeric value representing the
* number of seconds from 1970-01-01T00:00:00Z UTC until the specified UTC date/time, ignoring leap seconds.)
*/
notAfter?: number;
/**
* The certificate's issue time (not before). This value is a NumericDate as defined in RFC 7519 (A JSON numeric value
* representing the number of seconds from 1970-01-01T00:00:00Z UTC until the specified UTC date/time, ignoring leap
* seconds.)
*/
notBefore?: number;
// The certificate thumbprint.
thumbprint?: NullableOption<string>;
}
export interface Pkcs12Certificate extends ApiAuthenticationConfigurationBase {
// The password for the pfx file. Required. If no password is used, you must still provide a value of ''.
password?: NullableOption<string>;
/**
* Represents the pfx content that is sent. The value should be a base-64 encoded version of the actual certificate
* content. Required.
*/
pkcs12Value?: NullableOption<string>;
}
export interface SelfServiceSignUpAuthenticationFlowConfiguration {
/**
* Indicates whether self-service sign-up flow is enabled or disabled. The default value is false. This property is not a
* key. Required.
*/
isEnabled?: boolean;
}
export interface UserAttributeValuesItem {
// Determines whether the value is set as the default.
isDefault?: boolean;
// The display name of the property displayed to the user in the user flow.
name?: NullableOption<string>;
// The value that is set when this item is selected.
value?: NullableOption<string>;
}
export interface UserFlowApiConnectorConfiguration {
postAttributeCollection?: NullableOption<IdentityApiConnector>;
postFederationSignup?: NullableOption<IdentityApiConnector>;
}
export interface LobbyBypassSettings {
// Specifies whether or not to always let dial-in callers bypass the lobby. Optional.
isDialInBypassEnabled?: NullableOption<boolean>;
// Specifies the type of participants that are automatically admitted into a meeting, bypassing the lobby. Optional.
scope?: NullableOption<LobbyBypassScope>;
}
export interface WatermarkProtectionValues {
// Indicates whether to apply a watermark to any shared content.
isEnabledForContentSharing?: NullableOption<boolean>;
// Indicates whether to apply a watermark to everyone's video feed.
isEnabledForVideo?: NullableOption<boolean>;
}
export interface AlternativeSecurityId {
// For internal use only
identityProvider?: NullableOption<string>;
// For internal use only
key?: NullableOption<string>;
// For internal use only
type?: NullableOption<number>;
}
export interface PreAuthorizedApplication {
// The unique identifier for the application.
appId?: NullableOption<string>;
// The unique identifier for the oauth2PermissionScopes the application requires.
delegatedPermissionIds?: string[];
}
export interface AppManagementConfiguration {
// Collection of keyCredential restrictions settings to be applied to an application or service principal.
keyCredentials?: NullableOption<KeyCredentialConfiguration[]>;
// Collection of password restrictions settings to be applied to an application or service principal.
passwordCredentials?: NullableOption<PasswordCredentialConfiguration[]>;
}
export interface KeyCredentialConfiguration {
maxLifetime?: NullableOption<string>;
/**
* Timestamp when the policy is enforced for all apps created on or after the specified date. For existing applications,
* the enforcement date would be back dated. To apply to all applications regardless of their creation date, this property
* would be null. Nullable.
*/
restrictForAppsCreatedAfterDateTime?: NullableOption<string>;
/**
* The type of restriction being applied. Possible values are asymmetricKeyLifetime, unknownFutureValue. Each value of
* restrictionType can be used only once per policy.
*/
restrictionType?: NullableOption<AppKeyCredentialRestrictionType>;
}
export interface PasswordCredentialConfiguration {
maxLifetime?: NullableOption<string>;
/**
* Enforces the policy for an app created on or after the enforcement date. For existing applications, the enforcement
* date would be back dated. To apply to all applications, enforcement datetime would be null.
*/
restrictForAppsCreatedAfterDateTime?: NullableOption<string>;
/**
* The type of restriction being applied. The possible values are: passwordAddition, passwordLifetime,
* symmetricKeyAddition, symmetricKeyLifetime,customPasswordAddition, unknownFutureValue. Each value of restrictionType
* can be used only once per policy.
*/
restrictionType?: NullableOption<AppCredentialRestrictionType>;
}
export interface CertificateAuthority {
// Required. The base64 encoded string representing the public certificate.
certificate?: string;
// The URL of the certificate revocation list.
certificateRevocationListUrl?: NullableOption<string>;
/**
* The URL contains the list of all revoked certificates since the last time a full certificate revocaton list was
* created.
*/
deltaCertificateRevocationListUrl?: NullableOption<string>;
/**
* Required. true if the trusted certificate is a root authority, false if the trusted certificate is an intermediate
* authority.
*/
isRootAuthority?: boolean;
// The issuer of the certificate, calculated from the certificate value. Read-only.
issuer?: string;
// The subject key identifier of the certificate, calculated from the certificate value. Read-only.
issuerSki?: string;
}
// tslint:disable-next-line: no-empty-interface
export interface ComplexExtensionValue {}
export interface CrossTenantAccessPolicyB2BSetting {
// The list of applications targeted with your cross-tenant access policy.
applications?: NullableOption<CrossTenantAccessPolicyTargetConfiguration>;
// The list of users and groups targeted with your cross-tenant access policy.
usersAndGroups?: NullableOption<CrossTenantAccessPolicyTargetConfiguration>;
}
export interface CrossTenantAccessPolicyTargetConfiguration {
// Defines whether access is allowed or blocked. The possible values are: allowed, blocked, unknownFutureValue.
accessType?: NullableOption<CrossTenantAccessPolicyTargetConfigurationAccessType>;
// Specifies whether to target users, groups, or applications with this rule.
targets?: NullableOption<CrossTenantAccessPolicyTarget[]>;
}
export interface CrossTenantAccessPolicyInboundTrust {
// Specifies whether compliant devices from external Azure AD organizations are trusted.
isCompliantDeviceAccepted?: NullableOption<boolean>;
// Specifies whether hybrid Azure AD joined devices from external Azure AD organizations are trusted.
isHybridAzureADJoinedDeviceAccepted?: NullableOption<boolean>;
// Specifies whether MFA from external Azure AD organizations is trusted.
isMfaAccepted?: NullableOption<boolean>;
}
export interface CrossTenantAccessPolicyTarget {
/**
* The unique identifier of the user, group, or application; one of the following keywords: AllUsers and AllApplications;
* or for targets that are applications, you may use reserved values.
*/
target?: NullableOption<string>;
// The type of resource that you want to target. The possible values are: user, group, application, unknownFutureValue.
targetType?: NullableOption<CrossTenantAccessPolicyTargetType>;
}
export interface CrossTenantUserSyncInbound {
/**
* Defines whether user objects should be synchronized from the partner tenant. false causes any current user
* synchronization from the source tenant to the target tenant to stop. This property has no impact on existing users who
* have already been synchronized.
*/
isSyncAllowed?: NullableOption<boolean>;
}
export interface DefaultUserRolePermissions {
/**
* Indicates whether the default user role can create applications. This setting corresponds to the Users can register
* applications setting in the User settings menu in the Azure portal.
*/
allowedToCreateApps?: boolean;
/**
* Indicates whether the default user role can create security groups. This setting corresponds to the following menus in
* the Azure portal: The Users can create security groups in Azure portals, API or PowerShell setting in the Group
* settings menu. Users can create security groups setting in the User settings menu.
*/
allowedToCreateSecurityGroups?: boolean;
/**
* Indicates whether the default user role can create tenants. This setting corresponds to the Restrict non-admin users
* from creating tenants setting in the User settings menu in the Azure portal. When this setting is false, users assigned
* the Tenant Creator role can still create tenants.
*/
allowedToCreateTenants?: NullableOption<boolean>;
// Indicates whether the registered owners of a device can read their own BitLocker recovery keys with default user role.
allowedToReadBitlockerKeysForOwnedDevice?: NullableOption<boolean>;
// Indicates whether the default user role can read other users.
allowedToReadOtherUsers?: boolean;
/**
* Indicates if user consent to apps is allowed, and if it is, which permission to grant consent and which app consent
* policy (permissionGrantPolicy) govern the permission for users to grant consent. Value should be in the format
* managePermissionGrantsForSelf.{id}, where {id} is the id of a built-in or custom app consent policy. An empty list
* indicates user consent to apps is disabled.
*/
permissionGrantPoliciesAssigned?: NullableOption<string[]>;
}
export interface DomainState {
/**
* Timestamp for when the last activity occurred. The value is updated when an operation is scheduled, the asynchronous
* task starts, and when the operation completes.
*/
lastActionDateTime?: NullableOption<string>;
// Type of asynchronous operation. The values can be ForceDelete or Verification
operation?: NullableOption<string>;
/**
* Current status of the operation. Scheduled - Operation has been scheduled but has not started. InProgress - Task has
* started and is in progress. Failed - Operation has failed.
*/
status?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
export interface ImplicitGrantSettings {
// Specifies whether this web application can request an access token using the OAuth 2.0 implicit flow.
enableAccessTokenIssuance?: NullableOption<boolean>;
// Specifies whether this web application can request an ID token using the OAuth 2.0 implicit flow.
enableIdTokenIssuance?: NullableOption<boolean>;
}
// tslint:disable-next-line: interface-name
export interface InboundOutboundPolicyConfiguration {
// Defines whether external users coming inbound are allowed.
inboundAllowed?: NullableOption<boolean>;
// Defines whether internal users are allowed to go outbound.
outboundAllowed?: NullableOption<boolean>;
}
// tslint:disable-next-line: interface-name
export interface InstanceResourceAccess {
permissions?: ResourcePermission[];
resourceAppId?: string;
}
export interface ResourcePermission {
type?: string;
value?: string;
}
export interface LicenseUnitsDetail {
// The number of units that are enabled for the active subscription of the service SKU.
enabled?: NullableOption<number>;
/**
* The number of units that are suspended because the subscription of the service SKU has been cancelled. The units cannot
* be assigned but can still be reactivated before they are deleted.
*/
suspended?: NullableOption<number>;
/**
* The number of units that are in warning status. When the subscription of the service SKU has expired, the customer has
* a grace period to renew their subscription before it is cancelled (moved to a suspended state).
*/
warning?: NullableOption<number>;
}
export interface LoginPageLayoutConfiguration {
isFooterShown?: NullableOption<boolean>;
isHeaderShown?: NullableOption<boolean>;
layoutTemplateType?: NullableOption<LayoutTemplateType>;
}
export interface LoginPageTextVisibilitySettings {
hideAccountResetCredentials?: NullableOption<boolean>;
hideCannotAccessYourAccount?: NullableOption<boolean>;
hideForgotMyPassword?: NullableOption<boolean>;
hidePrivacyAndCookies?: NullableOption<boolean>;
hideResetItNow?: NullableOption<boolean>;
hideTermsOfUse?: NullableOption<boolean>;
}
export interface OnPremisesAccidentalDeletionPrevention {
/**
* Threshold value which triggers accidental deletion prevention. The threshold is either an absolute number of objects or
* a percentage number of objects.
*/
alertThreshold?: NullableOption<number>;
/**
* The status of the accidental deletion prevention feature. The possible values are: disabled, enabledForCount,
* enabledForPercentage, unknownFutureValue.
*/
synchronizationPreventionType?: NullableOption<OnPremisesDirectorySynchronizationDeletionPreventionType>;
}
export interface OnPremisesDirectorySynchronizationConfiguration {
// Contains the accidental deletion prevention configuration for a tenant.
accidentalDeletionPrevention?: NullableOption<OnPremisesAccidentalDeletionPrevention>;
}
export interface OnPremisesDirectorySynchronizationFeature {
// Used to block cloud object takeover via source anchor hard match if enabled.
blockCloudObjectTakeoverThroughHardMatchEnabled?: NullableOption<boolean>;
/**
* Use to block soft match for all objects if enabled for the tenant. Customers are encouraged to enable this feature and
* keep it enabled until soft matching is required again for their tenancy. This flag should be enabled again after any
* soft matching has been completed and is no longer needed.
*/
blockSoftMatchEnabled?: NullableOption<boolean>;
/**
* When true, persists the values of Mobile and OtherMobile in on-premises AD during sync cycles instead of values of
* MobilePhone or AlternateMobilePhones in Azure AD.
*/
bypassDirSyncOverridesEnabled?: NullableOption<boolean>;
// Used to indicate that cloud password policy applies to users whose passwords are synchronized from on-premises.
cloudPasswordPolicyForPasswordSyncedUsersEnabled?: NullableOption<boolean>;
// Used to enable concurrent user credentials update in OrgId.
concurrentCredentialUpdateEnabled?: NullableOption<boolean>;
// Used to enable concurrent user creation in OrgId.
concurrentOrgIdProvisioningEnabled?: NullableOption<boolean>;
// Used to indicate that device write-back is enabled.
deviceWritebackEnabled?: NullableOption<boolean>;
// Used to indicate that directory extensions are being synced from on-premises AD to Azure AD.
directoryExtensionsEnabled?: NullableOption<boolean>;
/**
* Used to indicate that for a Microsoft Forefront Online Protection for Exchange (FOPE) migrated tenant, the conflicting
* proxy address should be migrated over.
*/
fopeConflictResolutionEnabled?: NullableOption<boolean>;
// Used to enable object-level group writeback feature for additional group types.
groupWriteBackEnabled?: NullableOption<boolean>;
// Used to indicate on-premise password synchronization is enabled.
passwordSyncEnabled?: NullableOption<boolean>;
// Used to indicate that writeback of password resets from Azure AD to on-premises AD is enabled.
passwordWritebackEnabled?: NullableOption<boolean>;
// Used to indicate that we should quarantine objects with conflicting proxy address.
quarantineUponProxyAddressesConflictEnabled?: NullableOption<boolean>;
// Used to indicate that we should quarantine objects conflicting with duplicate userPrincipalName.
quarantineUponUpnConflictEnabled?: NullableOption<boolean>;
// Used to indicate that we should soft match objects based on userPrincipalName.
softMatchOnUpnEnabled?: NullableOption<boolean>;
// Used to indicate that we should synchronize userPrincipalName objects for managed users with licenses.
synchronizeUpnForManagedUsersEnabled?: NullableOption<boolean>;
// Used to indicate that Microsoft 365 Group write-back is enabled.
unifiedGroupWritebackEnabled?: NullableOption<boolean>;
/**
* Used to indicate that feature to force password change for a user on logon is enabled while synchronizing on-premise
* credentials.
*/
userForcePasswordChangeOnLogonEnabled?: NullableOption<boolean>;
// Used to indicate that user writeback is enabled.
userWritebackEnabled?: NullableOption<boolean>;
}
export interface OptionalClaim {
/**
* Additional properties of the claim. If a property exists in this collection, it modifies the behavior of the optional
* claim specified in the name property.
*/
additionalProperties?: NullableOption<string[]>;
/**
* If the value is true, the claim specified by the client is necessary to ensure a smooth authorization experience for
* the specific task requested by the end user. The default value is false.
*/
essential?: boolean;
// The name of the optional claim.
name?: string;
/**
* The source (directory object) of the claim. There are predefined claims and user-defined claims from extension
* properties. If the source value is null, the claim is a predefined optional claim. If the source value is user, the
* value in the name property is the extension property from the user object.
*/
source?: NullableOption<string>;
}
export interface PhysicalOfficeAddress {
// The city.
city?: NullableOption<string>;
// The country or region. It's a free-format string value, for example, 'United States'.
countryOrRegion?: NullableOption<string>;
// Office location such as building and office number for an organizational contact.
officeLocation?: NullableOption<string>;
// The postal code.
postalCode?: NullableOption<string>;
// The state.
state?: NullableOption<string>;
// The street.
street?: NullableOption<string>;
}
export interface PrivacyProfile {
// A valid smtp email address for the privacy statement contact. Not required.
contactEmail?: NullableOption<string>;
/**
* A valid URL format that begins with http:// or https://. Maximum length is 255 characters. The URL that directs to the
* company's privacy statement. Not required.
*/
statementUrl?: NullableOption<string>;
}
export interface RedirectUriSettings {
index?: NullableOption<number>;
uri?: NullableOption<string>;
}
export interface ResourceAccess {
/**
* The unique identifier of an app role or delegated permission exposed by the resource application. For delegated
* permissions, this should match the id property of one of the delegated permissions in the oauth2PermissionScopes
* collection of the resource application's service principal. For app roles (application permissions), this should match
* the id property of an app role in the appRoles collection of the resource application's service principal.
*/
id?: string;
/**
* Specifies whether the id property references a delegated permission or an app role (application permission). The
* possible values are: Scope (for delegated permissions) or Role (for app roles).
*/
type?: NullableOption<string>;
}
export interface SelfSignedCertificate {
customKeyIdentifier?: NullableOption<string>;
displayName?: NullableOption<string>;
endDateTime?: NullableOption<string>;
key?: NullableOption<string>;
keyId?: NullableOption<string>;
startDateTime?: NullableOption<string>;
thumbprint?: NullableOption<string>;
type?: NullableOption<string>;
usage?: NullableOption<string>;
}
export interface ServicePlanInfo {
/**
* The object the service plan can be assigned to. The possible values are:User - service plan can be assigned to
* individual users.Company - service plan can be assigned to the entire tenant.
*/
appliesTo?: NullableOption<string>;
/**
* The provisioning status of the service plan. The possible values are:Success - Service is fully provisioned.Disabled -
* Service has been disabled.ErrorStatus - The service plan has not been provisioned and is in an error state.PendingInput
* - Service is not yet provisioned; awaiting service confirmation.PendingActivation - Service is provisioned but requires
* explicit activation by administrator (for example, Intune_O365 service plan)PendingProvisioning - Microsoft has added a
* new service to the product SKU and it has not been activated in the tenant, yet.
*/
provisioningStatus?: NullableOption<string>;
// The unique identifier of the service plan.
servicePlanId?: NullableOption<string>;
// The name of the service plan.
servicePlanName?: NullableOption<string>;
}
export interface SettingTemplateValue {
// Default value for the setting.
defaultValue?: NullableOption<string>;
// Description of the setting.
description?: NullableOption<string>;
// Name of the setting.
name?: NullableOption<string>;
// Type of the setting.
type?: NullableOption<string>;
}
export interface SettingValue {
// Name of the setting (as defined by the groupSettingTemplate).
name?: NullableOption<string>;
// Value of the setting.
value?: NullableOption<string>;
}
export interface SigningCertificateUpdateStatus {
// Status of the last certificate update. Read-only. For a list of statuses, see certificateUpdateResult status.
certificateUpdateResult?: NullableOption<string>;
// Date and time in ISO 8601 format and in UTC time when the certificate was last updated. Read-only.
lastRunDateTime?: NullableOption<string>;
}
export interface UnifiedRolePermission {
// Set of tasks that can be performed on a resource. Required.
allowedResourceActions?: string[];
// Optional constraints that must be met for the permission to be effective. Not supported for custom roles.
condition?: NullableOption<string>;
// Set of tasks that may not be performed on a resource. Not yet supported.
excludedResourceActions?: NullableOption<string[]>;
}
export interface VerifiedDomain {
// For example, Email, OfficeCommunicationsOnline.
capabilities?: NullableOption<string>;
// true if this is the default domain associated with the tenant; otherwise, false.
isDefault?: NullableOption<boolean>;
// true if this is the initial domain associated with the tenant; otherwise, false.
isInitial?: NullableOption<boolean>;
// The domain name; for example, contoso.onmicrosoft.com.
name?: NullableOption<string>;
// For example, Managed.
type?: NullableOption<string>;
}
export interface BrowserSharedCookieHistory {
// The comment for the shared cookie.
comment?: NullableOption<string>;
// The name of the cookie.
displayName?: string;
// Controls whether a cookie is a host-only or domain cookie.
hostOnly?: boolean;
// The URL of the cookie.
hostOrDomain?: NullableOption<string>;
// The user who last modified the cookie.
lastModifiedBy?: IdentitySet;
// The path of the cookie.
path?: NullableOption<string>;
// The date and time when the cookie was last published.
publishedDateTime?: string;
/**
* Specifies how the cookies are shared between Microsoft Edge and Internet Explorer. The possible values are:
* microsoftEdge, internetExplorer11, both, unknownFutureValue.
*/
sourceEnvironment?: NullableOption<BrowserSharedCookieSourceEnvironment>;
}
export interface BrowserSiteHistory {
/**
* Controls the behavior of redirected sites. If true, indicates that the site will open in Internet Explorer 11 or
* Microsoft Edge even if the site is navigated to as part of a HTTP or meta refresh redirection chain.
*/
allowRedirect?: NullableOption<boolean>;
// The comment for the site.
comment?: string;
/**
* Controls what compatibility setting is used for specific sites or domains. The possible values are: default,
* internetExplorer8Enterprise, internetExplorer7Enterprise, internetExplorer11, internetExplorer10, internetExplorer9,
* internetExplorer8, internetExplorer7, internetExplorer5, unknownFutureValue.
*/
compatibilityMode?: NullableOption<BrowserSiteCompatibilityMode>;
// The user who last modified the site.
lastModifiedBy?: NullableOption<IdentitySet>;
// The merge type of the site. The possible values are: noMerge, default, unknownFutureValue.
mergeType?: NullableOption<BrowserSiteMergeType>;
// The date and time when the site was last published.
publishedDateTime?: string;
/**
* The target environment that the site should open in. The possible values are: internetExplorerMode, internetExplorer11,
* microsoftEdge, configurable, none, unknownFutureValue.Prior to June 15, 2022, the internetExplorer11 option would allow
* opening a site in the Internet Explorer 11 (IE11) desktop application. Following the retirement of IE11 on June 15,
* 2022, the internetExplorer11 option will no longer open an IE11 window and will instead behave the same as the
* internetExplorerMode option.
*/
targetEnvironment?: NullableOption<BrowserSiteTargetEnvironment>;
}
// tslint:disable-next-line: no-empty-interface
export interface EducationAssignmentRecipient {}
// tslint:disable-next-line: no-empty-interface
export interface EducationAssignmentClassRecipient extends EducationAssignmentRecipient {}
export interface EducationAssignmentGrade {
// User who did the grading.
gradedBy?: NullableOption<IdentitySet>;
/**
* Moment in time when the grade was applied to this submission object. 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 is
* 2014-01-01T00:00:00Z
*/
gradedDateTime?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface EducationAssignmentGradeType {}
// tslint:disable-next-line: no-empty-interface
export interface EducationAssignmentGroupRecipient extends EducationAssignmentRecipient {}
export interface EducationAssignmentIndividualRecipient extends EducationAssignmentRecipient {
// A collection of IDs of the recipients.
recipients?: NullableOption<string[]>;
}
export interface EducationAssignmentPointsGrade extends EducationAssignmentGrade {
// Number of points a teacher is giving this submission object.
points?: NullableOption<number>;
}
export interface EducationAssignmentPointsGradeType extends EducationAssignmentGradeType {
// Max points possible for this assignment.
maxPoints?: NullableOption<number>;
}
export interface EducationResource {
// The individual who created the resource.
createdBy?: NullableOption<IdentitySet>;
/**
* Moment in time when the resource was created. 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 is 2014-01-01T00:00:00Z
*/
createdDateTime?: NullableOption<string>;
// Display name of resource.
displayName?: NullableOption<string>;
// The last user to modify the resource.
lastModifiedBy?: NullableOption<IdentitySet>;
/**
* Moment in time when the resource was last modified. 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 is 2014-01-01T00:00:00Z.
*/
lastModifiedDateTime?: NullableOption<string>;
}
export interface EducationExcelResource extends EducationResource {
// Pointer to the Excel file object.
fileUrl?: NullableOption<string>;
}
export interface EducationExternalResource extends EducationResource {
// Location of the resource. Required
webUrl?: NullableOption<string>;
}
export interface EducationFeedback {
// User who created the feedback.
feedbackBy?: NullableOption<IdentitySet>;
/**
* Moment in time when the feedback was given. 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 is 2014-01-01T00:00:00Z
*/
feedbackDateTime?: NullableOption<string>;
// Feedback.
text?: NullableOption<EducationItemBody>;
}
export interface EducationItemBody {
content?: NullableOption<string>;
contentType?: NullableOption<BodyType>;
}
export interface EducationFileResource extends EducationResource {
// Location on disk of the file resource.
fileUrl?: NullableOption<string>;
}
export interface EducationLinkResource extends EducationResource {
// URL to the resource.
link?: NullableOption<string>;
}
export interface EducationMediaResource extends EducationResource {
// Location of the file on shared point folder. Required
fileUrl?: NullableOption<string>;
}
export interface EducationPowerPointResource extends EducationResource {
// Location of the file on disk.
fileUrl?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface EducationSubmissionRecipient {}
export interface EducationSubmissionIndividualRecipient extends EducationSubmissionRecipient {
// User ID of the user to whom the submission is assigned.
userId?: NullableOption<string>;
}
export interface EducationTeamsAppResource extends EducationResource {
// URL that points to the icon of the app.
appIconWebUrl?: NullableOption<string>;
// Teams app ID of the application.
appId?: NullableOption<string>;
// URL for the app resource that will be opened by Teams.
teamsEmbeddedContentUrl?: NullableOption<string>;
// URL for the app resource that can be opened in the browser.
webUrl?: NullableOption<string>;
}
export interface EducationWordResource extends EducationResource {
// Location of the file on disk.
fileUrl?: NullableOption<string>;
}
export interface RubricCriterion {
// The description of this criterion.
description?: NullableOption<EducationItemBody>;
}
export interface RubricLevel {
// The description of this rubric level.
description?: NullableOption<EducationItemBody>;
// The name of this rubric level.
displayName?: NullableOption<string>;
// Null if this is a no-points rubric; educationAssignmentPointsGradeType if it is a points rubric.
grading?: NullableOption<EducationAssignmentGradeType>;
// The ID of this resource.
levelId?: NullableOption<string>;
}
export interface RubricQuality {
// The collection of criteria for this rubric quality.
criteria?: NullableOption<RubricCriterion[]>;
// The description of this rubric quality.
description?: NullableOption<EducationItemBody>;
// The name of this rubric quality.
displayName?: NullableOption<string>;
// The ID of this resource.
qualityId?: NullableOption<string>;
// If present, a numerical weight for this quality. Weights must add up to 100.
weight?: NullableOption<number>;
}
export interface RubricQualityFeedbackModel {
// Specific feedback for one quality of this rubric.
feedback?: NullableOption<EducationItemBody>;
// The ID of the rubricQuality that this feedback is related to.
qualityId?: NullableOption<string>;
}
export interface RubricQualitySelectedColumnModel {
// ID of the selected level for this quality.
columnId?: NullableOption<string>;
// ID of the associated quality.
qualityId?: NullableOption<string>;
}
export interface EducationCourse {
// Unique identifier for the course.
courseNumber?: NullableOption<string>;
// Description of the course.
description?: NullableOption<string>;
// Name of the course.
displayName?: NullableOption<string>;
// ID of the course from the syncing system.
externalId?: NullableOption<string>;
// Subject of the course.
subject?: NullableOption<string>;
}
export interface EducationTerm {
// Display name of the term.
displayName?: NullableOption<string>;
// End of the term.
endDate?: NullableOption<string>;
// ID of term in the syncing system.
externalId?: NullableOption<string>;
// Start of the term.
startDate?: NullableOption<string>;
}
export interface RelatedContact {
// Indicates whether the user has been consented to access student data.
accessConsent?: NullableOption<boolean>;
// Name of the contact. Required.
displayName?: string;
// Primary email address of the contact. Required.
emailAddress?: string;
// Mobile phone number of the contact.
mobilePhone?: NullableOption<string>;
/**
* Relationship to the user. Possible values are: parent, relative, aide, doctor, guardian, child, other,
* unknownFutureValue.
*/
relationship?: ContactRelationship;
}
export interface EducationOnPremisesInfo {
// Unique identifier for the user object in Active Directory.
immutableId?: NullableOption<string>;
}
export interface EducationStudent {
// Birth date of the student.
birthDate?: NullableOption<string>;
// ID of the student in the source system.
externalId?: NullableOption<string>;
// The possible values are: female, male, other, unknownFutureValue.
gender?: NullableOption<EducationGender>;
// Current grade level of the student.
grade?: NullableOption<string>;
// Year the student is graduating from the school.
graduationYear?: NullableOption<string>;
// Student Number.
studentNumber?: NullableOption<string>;
}
export interface EducationTeacher {
// ID of the teacher in the source system.
externalId?: NullableOption<string>;
// Teacher number.
teacherNumber?: NullableOption<string>;
}
export interface WorkbookFilterCriteria {
color?: NullableOption<string>;
criterion1?: NullableOption<string>;
criterion2?: NullableOption<string>;
dynamicCriteria?: string;
filterOn?: string;
icon?: NullableOption<WorkbookIcon>;
operator?: string;
values?: NullableOption<any>;
}
export interface WorkbookIcon {
// Represents the index of the icon in the given set.
index?: number;
/**
* Represents the set that the icon is part of. The possible values are: Invalid, ThreeArrows, ThreeArrowsGray,
* ThreeFlags, ThreeTrafficLights1, ThreeTrafficLights2, ThreeSigns, ThreeSymbols, ThreeSymbols2, FourArrows,
* FourArrowsGray, FourRedToBlack, FourRating, FourTrafficLights, FiveArrows, FiveArrowsGray, FiveRating, FiveQuarters,
* ThreeStars, ThreeTriangles, FiveBoxes.
*/
set?: string;
}
export interface WorkbookFilterDatetime {
// The date in ISO8601 format used to filter data.
date?: NullableOption<string>;
/**
* How specific the date should be used to keep data. For example, if the date is 2005-04-02 and the specifity is set to
* 'month', the filter operation will keep all rows with a date in the month of april 2009. The possible values are: Year,
* Monday, Day, Hour, Minute, Second.
*/
specificity?: string;
}
export interface WorkbookOperationError {
// The error code.
code?: NullableOption<string>;
innerError?: NullableOption<WorkbookOperationError>;
// The error message.
message?: NullableOption<string>;
}
export interface WorkbookRangeReference {
address?: NullableOption<string>;
}
export interface WorkbookSessionInfo {
// Id of the workbook session.
id?: NullableOption<string>;
// true for persistent session. false for non-persistent session (view mode)
persistChanges?: NullableOption<boolean>;
}
export interface WorkbookSortField {
// Represents whether the sorting is done in an ascending fashion.
ascending?: boolean;
// Represents the color that is the target of the condition if the sorting is on font or cell color.
color?: NullableOption<string>;
// Represents additional sorting options for this field. The possible values are: Normal, TextAsNumber.
dataOption?: string;
// Represents the icon that is the target of the condition if the sorting is on the cell's icon.
icon?: NullableOption<WorkbookIcon>;
/**
* Represents the column (or row, depending on the sort orientation) that the condition is on. Represented as an offset
* from the first column (or row).
*/
key?: number;
// Represents the type of sorting of this condition. The possible values are: Value, CellColor, FontColor, Icon.
sortOn?: string;
}
export interface WorkbookWorksheetProtectionOptions {
// Represents the worksheet protection option of allowing using auto filter feature.
allowAutoFilter?: boolean;
// Represents the worksheet protection option of allowing deleting columns.
allowDeleteColumns?: boolean;
// Represents the worksheet protection option of allowing deleting rows.
allowDeleteRows?: boolean;
// Represents the worksheet protection option of allowing formatting cells.
allowFormatCells?: boolean;
// Represents the worksheet protection option of allowing formatting columns.
allowFormatColumns?: boolean;
// Represents the worksheet protection option of allowing formatting rows.
allowFormatRows?: boolean;
// Represents the worksheet protection option of allowing inserting columns.
allowInsertColumns?: boolean;
// Represents the worksheet protection option of allowing inserting hyperlinks.
allowInsertHyperlinks?: boolean;
// Represents the worksheet protection option of allowing inserting rows.
allowInsertRows?: boolean;
// Represents the worksheet protection option of allowing using pivot table feature.
allowPivotTables?: boolean;
// Represents the worksheet protection option of allowing using sort feature.
allowSort?: boolean;
}
export interface Quota {
// Total space consumed by files in the recycle bin, in bytes. Read-only.
deleted?: NullableOption<number>;
// Total space remaining before reaching the quota limit, in bytes. Read-only.
remaining?: NullableOption<number>;
// Enumeration value that indicates the state of the storage space. Read-only.
state?: NullableOption<string>;
// Information about the drive's storage quota plans. Only in Personal OneDrive.
storagePlanInformation?: NullableOption<StoragePlanInformation>;
// Total allowed storage space, in bytes. Read-only.
total?: NullableOption<number>;
// Total space used, in bytes. Read-only.
used?: NullableOption<number>;
}
// tslint:disable-next-line: no-empty-interface
export interface SystemFacet {}
export interface Audio {
// The title of the album for this audio file.
album?: NullableOption<string>;
// The artist named on the album for the audio file.
albumArtist?: NullableOption<string>;
// The performing artist for the audio file.
artist?: NullableOption<string>;
// Bitrate expressed in kbps.
bitrate?: NullableOption<number>;
// The name of the composer of the audio file.
composers?: NullableOption<string>;
// Copyright information for the audio file.
copyright?: NullableOption<string>;
// The number of the disc this audio file came from.
disc?: NullableOption<number>;
// The total number of discs in this album.
discCount?: NullableOption<number>;
// Duration of the audio file, expressed in milliseconds
duration?: NullableOption<number>;
// The genre of this audio file.
genre?: NullableOption<string>;
// Indicates if the file is protected with digital rights management.
hasDrm?: NullableOption<boolean>;
// Indicates if the file is encoded with a variable bitrate.
isVariableBitrate?: NullableOption<boolean>;
// The title of the audio file.
title?: NullableOption<string>;
// The number of the track on the original disc for this audio file.
track?: NullableOption<number>;
// The total number of tracks on the original disc for this audio file.
trackCount?: NullableOption<number>;
// The year the audio file was recorded.
year?: NullableOption<number>;
}
export interface Bundle {
// If the bundle is an [album][], then the album property is included
album?: NullableOption<Album>;
// Number of children contained immediately within this container.
childCount?: NullableOption<number>;
}
export interface Deleted {
// Represents the state of the deleted item.
state?: NullableOption<string>;
}
export interface File {
// Hashes of the file's binary content, if available. Read-only.
hashes?: NullableOption<Hashes>;
/**
* The MIME type for the file. This is determined by logic on the server and might not be the value provided when the file
* was uploaded. Read-only.
*/
mimeType?: NullableOption<string>;
processingMetadata?: NullableOption<boolean>;
}
export interface FileSystemInfo {
// The UTC date and time the file was created on a client.
createdDateTime?: NullableOption<string>;
// The UTC date and time the file was last accessed. Available for the recent file list only.
lastAccessedDateTime?: NullableOption<string>;
// The UTC date and time the file was last modified on a client.
lastModifiedDateTime?: NullableOption<string>;
}
export interface Folder {
// Number of children contained immediately within this container.
childCount?: NullableOption<number>;
// A collection of properties defining the recommended view for the folder.
view?: NullableOption<FolderView>;
}
// tslint:disable-next-line: interface-name
export interface Image {
// Optional. Height of the image, in pixels. Read-only.
height?: NullableOption<number>;
// Optional. Width of the image, in pixels. Read-only.
width?: NullableOption<number>;
}
export interface Malware {
// Contains the virus details for the malware facet.
description?: NullableOption<string>;
}
export interface Package {
/**
* A string indicating the type of package. While oneNote is the only currently defined value, you should expect other
* package types to be returned and handle them accordingly.
*/
type?: NullableOption<string>;
}
export interface PendingOperations {
// A property that indicates that an operation that might update the binary content of a file is pending completion.
pendingContentUpdate?: NullableOption<PendingContentUpdate>;
}
export interface Photo {
// Camera manufacturer. Read-only.
cameraMake?: NullableOption<string>;
// Camera model. Read-only.
cameraModel?: NullableOption<string>;
// The denominator for the exposure time fraction from the camera. Read-only.
exposureDenominator?: NullableOption<number>;
// The numerator for the exposure time fraction from the camera. Read-only.
exposureNumerator?: NullableOption<number>;
// The F-stop value from the camera. Read-only.
fNumber?: NullableOption<number>;
// The focal length from the camera. Read-only.
focalLength?: NullableOption<number>;
// The ISO value from the camera. Read-only.
iso?: NullableOption<number>;
// The orientation value from the camera. Writable on OneDrive Personal.
orientation?: NullableOption<number>;
// Represents the date and time the photo was taken. Read-only.
takenDateTime?: NullableOption<string>;
}
export interface PublicationFacet {
// The state of publication for this document. Either published or checkout. Read-only.
level?: NullableOption<string>;
// The unique identifier for the version that is visible to the current caller. Read-only.
versionId?: NullableOption<string>;
}
export interface RemoteItem {
// Identity of the user, device, and application which created the item. Read-only.
createdBy?: NullableOption<IdentitySet>;
// Date and time of item creation. Read-only.
createdDateTime?: NullableOption<string>;
// Indicates that the remote item is a file. Read-only.
file?: NullableOption<File>;
// Information about the remote item from the local file system. Read-only.
fileSystemInfo?: NullableOption<FileSystemInfo>;
// Indicates that the remote item is a folder. Read-only.
folder?: NullableOption<Folder>;
// Unique identifier for the remote item in its drive. Read-only.
id?: NullableOption<string>;
// Image metadata, if the item is an image. Read-only.
image?: NullableOption<Image>;
// Identity of the user, device, and application which last modified the item. Read-only.
lastModifiedBy?: NullableOption<IdentitySet>;
// Date and time the item was last modified. Read-only.
lastModifiedDateTime?: NullableOption<string>;
// Optional. Filename of the remote item. Read-only.
name?: NullableOption<string>;
/**
* If present, indicates that this item is a package instead of a folder or file. Packages are treated like files in some
* contexts and folders in others. Read-only.
*/
package?: NullableOption<Package>;
// Properties of the parent of the remote item. Read-only.
parentReference?: NullableOption<ItemReference>;
/**
* Indicates that the item has been shared with others and provides information about the shared state of the item.
* Read-only.
*/
shared?: NullableOption<Shared>;
/**
* Provides interop between items in OneDrive for Business and SharePoint with the full set of item identifiers.
* Read-only.
*/
sharepointIds?: NullableOption<SharepointIds>;
// Size of the remote item. Read-only.
size?: NullableOption<number>;
// If the current item is also available as a special folder, this facet is returned. Read-only.
specialFolder?: NullableOption<SpecialFolder>;
// Video metadata, if the item is a video. Read-only.
video?: NullableOption<Video>;
// DAV compatible URL for the item.
webDavUrl?: NullableOption<string>;
// URL that displays the resource in the browser. Read-only.
webUrl?: NullableOption<string>;
}
export interface SearchResult {
/**
* A callback URL that can be used to record telemetry information. The application should issue a GET on this URL if the
* user interacts with this item to improve the quality of results.
*/
onClickTelemetryUrl?: NullableOption<string>;
}
export interface Shared {
// The identity of the owner of the shared item. Read-only.
owner?: NullableOption<IdentitySet>;
// Indicates the scope of how the item is shared: anonymous, organization, or users. Read-only.
scope?: NullableOption<string>;
// The identity of the user who shared the item. Read-only.
sharedBy?: NullableOption<IdentitySet>;
// The UTC date and time when the item was shared. Read-only.
sharedDateTime?: NullableOption<string>;
}
export interface SpecialFolder {
// The unique identifier for this item in the /drive/special collection
name?: NullableOption<string>;
}
export interface Video {
// Number of audio bits per sample.
audioBitsPerSample?: NullableOption<number>;
// Number of audio channels.
audioChannels?: NullableOption<number>;
// Name of the audio format (AAC, MP3, etc.).
audioFormat?: NullableOption<string>;
// Number of audio samples per second.
audioSamplesPerSecond?: NullableOption<number>;
// Bit rate of the video in bits per second.
bitrate?: NullableOption<number>;
// Duration of the file in milliseconds.
duration?: NullableOption<number>;
// 'Four character code' name of the video format.
fourCC?: NullableOption<string>;
// Frame rate of the video.
frameRate?: NullableOption<number>;
// Height of the video, in pixels.
height?: NullableOption<number>;
// Width of the video, in pixels.
width?: NullableOption<number>;
}
export interface ListInfo {
// If true, indicates that content types are enabled for this list.
contentTypesEnabled?: NullableOption<boolean>;
// If true, indicates that the list is not normally visible in the SharePoint user experience.
hidden?: NullableOption<boolean>;
/**
* An enumerated value that represents the base list template used in creating the list. Possible values include
* documentLibrary, genericList, task, survey, announcements, contacts, and more.
*/
template?: NullableOption<string>;
}
export interface AttendeeAvailability {
/**
* The email address and type of attendee - whether it's a person or a resource, and whether required or optional if it's
* a person.
*/
attendee?: NullableOption<AttendeeBase>;
/**
* The availability status of the attendee. The possible values are: free, tentative, busy, oof, workingElsewhere,
* unknown.
*/
availability?: NullableOption<FreeBusyStatus>;
}
export interface AttendeeBase extends Recipient {
/**
* The type of attendee. The possible values are: required, optional, resource. Currently if the attendee is a person,
* findMeetingTimes always considers the person is of the Required type.
*/
type?: NullableOption<AttendeeType>;
}
export interface LocationConstraint {
/**
* The client requests the service to include in the response a meeting location for the meeting. If this is true and all
* the resources are busy, findMeetingTimes will not return any meeting time suggestions. If this is false and all the
* resources are busy, findMeetingTimes would still look for meeting times without locations.
*/
isRequired?: NullableOption<boolean>;
// Constraint information for one or more locations that the client requests for the meeting.
locations?: NullableOption<LocationConstraintItem[]>;
// The client requests the service to suggest one or more meeting locations.
suggestLocation?: NullableOption<boolean>;
}
export interface LocationConstraintItem extends Location {
/**
* If set to true and the specified resource is busy, findMeetingTimes looks for another resource that is free. If set to
* false and the specified resource is busy, findMeetingTimes returns the resource best ranked in the user's cache without
* checking if it's free. Default is true.
*/
resolveAvailability?: NullableOption<boolean>;
}
export interface MeetingTimeSuggestion {
// An array that shows the availability status of each attendee for this meeting suggestion.
attendeeAvailability?: NullableOption<AttendeeAvailability[]>;
// A percentage that represents the likelhood of all the attendees attending.
confidence?: NullableOption<number>;
// An array that specifies the name and geographic location of each meeting location for this meeting suggestion.
locations?: NullableOption<Location[]>;
// A time period suggested for the meeting.
meetingTimeSlot?: NullableOption<TimeSlot>;
/**
* Order of meeting time suggestions sorted by their computed confidence value from high to low, then by chronology if
* there are suggestions with the same confidence.
*/
order?: NullableOption<number>;
/**
* Availability of the meeting organizer for this meeting suggestion. The possible values are: free, tentative, busy, oof,
* workingElsewhere, unknown.
*/
organizerAvailability?: NullableOption<FreeBusyStatus>;
// Reason for suggesting the meeting time.
suggestionReason?: NullableOption<string>;
}
export interface MeetingTimeSuggestionsResult {
/**
* A reason for not returning any meeting suggestions. The possible values are: attendeesUnavailable,
* attendeesUnavailableOrUnknown, locationsUnavailable, organizerUnavailable, or unknown. This property is an empty string
* if the meetingTimeSuggestions property does include any meeting suggestions.
*/
emptySuggestionsReason?: NullableOption<string>;
// An array of meeting suggestions.
meetingTimeSuggestions?: NullableOption<MeetingTimeSuggestion[]>;
}
export interface TimeConstraint {
// The nature of the activity, optional. The possible values are: work, personal, unrestricted, or unknown.
activityDomain?: NullableOption<ActivityDomain>;
timeSlots?: NullableOption<TimeSlot[]>;
}
export interface AttachmentItem {
// The type of attachment. Possible values are: file, item, reference. Required.
attachmentType?: NullableOption<AttachmentType>;
/**
* The CID or Content-Id of the attachment for referencing in case of in-line attachments using &amp;lt;img
* src='cid:contentId'&amp;gt; tag in HTML messages. Optional.
*/
contentId?: NullableOption<string>;
// The nature of the data in the attachment. Optional.
contentType?: NullableOption<string>;
// true if the attachment is an inline attachment; otherwise, false. Optional.
isInline?: NullableOption<boolean>;
/**
* The display name of the attachment. This can be a descriptive string and does not have to be the actual file name.
* Required.
*/
name?: NullableOption<string>;
// The length of the attachment in bytes. Required.
size?: NullableOption<number>;
}
export interface Attendee extends AttendeeBase {
/**
* An alternate date/time proposed by the attendee for a meeting request to start and end. If the attendee hasn't proposed
* another time, then this property is not included in a response of a GET event.
*/
proposedNewTime?: NullableOption<TimeSlot>;
// The attendee's response (none, accepted, declined, etc.) for the event and date-time that the response was sent.
status?: NullableOption<ResponseStatus>;
}
export interface ResponseStatus {
/**
* The response type. Possible values are: none, organizer, tentativelyAccepted, accepted, declined, notResponded.To
* differentiate between none and notResponded: none from organizer's perspective. This value is used when the status of
* an attendee/participant is reported to the organizer of a meeting. notResponded from attendee's perspective.
* Indicates the attendee has not responded to the meeting request. Clients can treat notResponded == none. As an example,
* if attendee Alex hasn't responded to a meeting request, getting Alex' response status for that event in Alex' calendar
* returns notResponded. Getting Alex' response from the calendar of any other attendee or the organizer's returns none.
* Getting the organizer's response for the event in anybody's calendar also returns none.
*/
response?: NullableOption<ResponseType>;
/**
* The date and time when the response was returned. It uses ISO 8601 format and is always in UTC time. For example,
* midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
*/
time?: NullableOption<string>;
}
export interface AutomaticRepliesMailTips {
// The automatic reply message.
message?: NullableOption<string>;
// The language that the automatic reply message is in.
messageLanguage?: NullableOption<LocaleInfo>;
// The date and time that automatic replies are set to end.
scheduledEndTime?: NullableOption<DateTimeTimeZone>;
// The date and time that automatic replies are set to begin.
scheduledStartTime?: NullableOption<DateTimeTimeZone>;
}
export interface LocaleInfo {
// A name representing the user's locale in natural language, for example, 'English (United States)'.
displayName?: NullableOption<string>;
/**
* A locale representation for the user, which includes the user's preferred language and country/region. For example,
* 'en-us'. The language component follows 2-letter codes as defined in ISO 639-1, and the country component follows
* 2-letter codes as defined in ISO 3166-1 alpha-2.
*/
locale?: NullableOption<string>;
}
export interface AutomaticRepliesSetting {
/**
* The set of audience external to the signed-in user's organization who will receive the ExternalReplyMessage, if Status
* is AlwaysEnabled or Scheduled. The possible values are: none, contactsOnly, all.
*/
externalAudience?: NullableOption<ExternalAudienceScope>;
// The automatic reply to send to the specified external audience, if Status is AlwaysEnabled or Scheduled.
externalReplyMessage?: NullableOption<string>;
/**
* The automatic reply to send to the audience internal to the signed-in user's organization, if Status is AlwaysEnabled
* or Scheduled.
*/
internalReplyMessage?: NullableOption<string>;
// The date and time that automatic replies are set to end, if Status is set to Scheduled.
scheduledEndDateTime?: NullableOption<DateTimeTimeZone>;
// The date and time that automatic replies are set to begin, if Status is set to Scheduled.
scheduledStartDateTime?: NullableOption<DateTimeTimeZone>;
// Configurations status for automatic replies. The possible values are: disabled, alwaysEnabled, scheduled.
status?: NullableOption<AutomaticRepliesStatus>;
}
export interface CalendarSharingMessageAction {
action?: NullableOption<CalendarSharingAction>;
actionType?: NullableOption<CalendarSharingActionType>;
importance?: NullableOption<CalendarSharingActionImportance>;
}
export interface ConvertIdResult {
/**
* An error object indicating the reason for the conversion failure. This value is not present if the conversion
* succeeded.
*/
errorDetails?: NullableOption<GenericError>;
// The identifier that was converted. This value is the original, un-converted identifier.
sourceId?: NullableOption<string>;
// The converted identifier. This value is not present if the conversion failed.
targetId?: NullableOption<string>;
}
export interface GenericError {
// The error code.
code?: NullableOption<string>;
// The error message.
message?: NullableOption<string>;
}
export interface TimeZoneBase {
/**
* The name of a time zone. It can be a standard time zone name such as 'Hawaii-Aleutian Standard Time', or 'Customized
* Time Zone' for a custom time zone.
*/
name?: NullableOption<string>;
}
export interface CustomTimeZone extends TimeZoneBase {
/**
* The time offset of the time zone from Coordinated Universal Time (UTC). This value is in minutes. Time zones that are
* ahead of UTC have a positive offset; time zones that are behind UTC have a negative offset.
*/
bias?: NullableOption<number>;
// Specifies when the time zone switches from standard time to daylight saving time.
daylightOffset?: NullableOption<DaylightTimeZoneOffset>;
// Specifies when the time zone switches from daylight saving time to standard time.
standardOffset?: NullableOption<StandardTimeZoneOffset>;
}
export interface StandardTimeZoneOffset {
// Represents the nth occurrence of the day of week that the transition from daylight saving time to standard time occurs.
dayOccurrence?: NullableOption<number>;
// Represents the day of the week when the transition from daylight saving time to standard time.
dayOfWeek?: NullableOption<DayOfWeek>;
// Represents the month of the year when the transition from daylight saving time to standard time occurs.
month?: NullableOption<number>;
// Represents the time of day when the transition from daylight saving time to standard time occurs.
time?: NullableOption<string>;
/**
* Represents how frequently in terms of years the change from daylight saving time to standard time occurs. For example,
* a value of 0 means every year.
*/
year?: NullableOption<number>;
}
export interface DaylightTimeZoneOffset extends StandardTimeZoneOffset {
// The time offset from Coordinated Universal Time (UTC) for daylight saving time. This value is in minutes.
daylightBias?: NullableOption<number>;
}
export interface FollowupFlag {
// The date and time that the follow-up was finished.
completedDateTime?: NullableOption<DateTimeTimeZone>;
/**
* The date and time that the follow up is to be finished. Note: To set the due date, you must also specify the
* startDateTime; otherwise, you will get a 400 Bad Request response.
*/
dueDateTime?: NullableOption<DateTimeTimeZone>;
// The status for follow-up for an item. Possible values are notFlagged, complete, and flagged.
flagStatus?: NullableOption<FollowupFlagStatus>;
// The date and time that the follow-up is to begin.
startDateTime?: NullableOption<DateTimeTimeZone>;
}
export interface FreeBusyError {
// Describes the error.
message?: NullableOption<string>;
// The response code from querying for the availability of the user, distribution list, or resource.
responseCode?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
export interface InternetMessageHeader {
// Represents the key in a key-value pair.
name?: NullableOption<string>;
// The value in a key-value pair.
value?: NullableOption<string>;
}
export interface WorkingHours {
// The days of the week on which the user works.
daysOfWeek?: NullableOption<DayOfWeek[]>;
// The time of the day that the user stops working.
endTime?: NullableOption<string>;
// The time of the day that the user starts working.
startTime?: NullableOption<string>;
// The time zone to which the working hours apply.
timeZone?: NullableOption<TimeZoneBase>;
}
export interface MailTips {
// Mail tips for automatic reply if it has been set up by the recipient.
automaticReplies?: NullableOption<AutomaticRepliesMailTips>;
// A custom mail tip that can be set on the recipient's mailbox.
customMailTip?: NullableOption<string>;
/**
* Whether the recipient's mailbox is restricted, for example, accepting messages from only a predefined list of senders,
* rejecting messages from a predefined list of senders, or accepting messages from only authenticated senders.
*/
deliveryRestricted?: NullableOption<boolean>;
// The email address of the recipient to get mailtips for.
emailAddress?: NullableOption<EmailAddress>;
// Errors that occur during the getMailTips action.
error?: NullableOption<MailTipsError>;
// The number of external members if the recipient is a distribution list.
externalMemberCount?: NullableOption<number>;
/**
* Whether sending messages to the recipient requires approval. For example, if the recipient is a large distribution list
* and a moderator has been set up to approve messages sent to that distribution list, or if sending messages to a
* recipient requires approval of the recipient's manager.
*/
isModerated?: NullableOption<boolean>;
// The mailbox full status of the recipient.
mailboxFull?: NullableOption<boolean>;
// The maximum message size that has been configured for the recipient's organization or mailbox.
maxMessageSize?: NullableOption<number>;
/**
* The scope of the recipient. Possible values are: none, internal, external, externalPartner, externalNonParther. For
* example, an administrator can set another organization to be its 'partner'. The scope is useful if an administrator
* wants certain mailtips to be accessible to certain scopes. It's also useful to senders to inform them that their
* message may leave the organization, helping them make the correct decisions about wording, tone and content.
*/
recipientScope?: NullableOption<RecipientScopeType>;
// Recipients suggested based on previous contexts where they appear in the same message.
recipientSuggestions?: NullableOption<Recipient[]>;
// The number of members if the recipient is a distribution list.
totalMemberCount?: NullableOption<number>;
}
export interface MailTipsError {
// The error code.
code?: NullableOption<string>;
// The error message.
message?: NullableOption<string>;
}
export interface MessageRuleActions {
// A list of categories to be assigned to a message.
assignCategories?: NullableOption<string[]>;
// The ID of a folder that a message is to be copied to.
copyToFolder?: NullableOption<string>;
// Indicates whether a message should be moved to the Deleted Items folder.
delete?: NullableOption<boolean>;
// The email addresses of the recipients to which a message should be forwarded as an attachment.
forwardAsAttachmentTo?: NullableOption<Recipient[]>;
// The email addresses of the recipients to which a message should be forwarded.
forwardTo?: NullableOption<Recipient[]>;
// Indicates whether a message should be marked as read.
markAsRead?: NullableOption<boolean>;
// Sets the importance of the message, which can be: low, normal, high.
markImportance?: NullableOption<Importance>;
// The ID of the folder that a message will be moved to.
moveToFolder?: NullableOption<string>;
// Indicates whether a message should be permanently deleted and not saved to the Deleted Items folder.
permanentDelete?: NullableOption<boolean>;
// The email addresses to which a message should be redirected.
redirectTo?: NullableOption<Recipient[]>;
// Indicates whether subsequent rules should be evaluated.
stopProcessingRules?: NullableOption<boolean>;
}
export interface MessageRulePredicates {
/**
* Represents the strings that should appear in the body of an incoming message in order for the condition or exception to
* apply.
*/
bodyContains?: NullableOption<string[]>;
/**
* Represents the strings that should appear in the body or subject of an incoming message in order for the condition or
* exception to apply.
*/
bodyOrSubjectContains?: NullableOption<string[]>;
/**
* Represents the categories that an incoming message should be labeled with in order for the condition or exception to
* apply.
*/
categories?: NullableOption<string[]>;
// Represents the specific sender email addresses of an incoming message in order for the condition or exception to apply.
fromAddresses?: NullableOption<Recipient[]>;
// Indicates whether an incoming message must have attachments in order for the condition or exception to apply.
hasAttachments?: NullableOption<boolean>;
/**
* Represents the strings that appear in the headers of an incoming message in order for the condition or exception to
* apply.
*/
headerContains?: NullableOption<string[]>;
/**
* The importance that is stamped on an incoming message in order for the condition or exception to apply: low, normal,
* high.
*/
importance?: NullableOption<Importance>;
// Indicates whether an incoming message must be an approval request in order for the condition or exception to apply.
isApprovalRequest?: NullableOption<boolean>;
// Indicates whether an incoming message must be automatically forwarded in order for the condition or exception to apply.
isAutomaticForward?: NullableOption<boolean>;
// Indicates whether an incoming message must be an auto reply in order for the condition or exception to apply.
isAutomaticReply?: NullableOption<boolean>;
// Indicates whether an incoming message must be encrypted in order for the condition or exception to apply.
isEncrypted?: NullableOption<boolean>;
// Indicates whether an incoming message must be a meeting request in order for the condition or exception to apply.
isMeetingRequest?: NullableOption<boolean>;
// Indicates whether an incoming message must be a meeting response in order for the condition or exception to apply.
isMeetingResponse?: NullableOption<boolean>;
// Indicates whether an incoming message must be a non-delivery report in order for the condition or exception to apply.
isNonDeliveryReport?: NullableOption<boolean>;
/**
* Indicates whether an incoming message must be permission controlled (RMS-protected) in order for the condition or
* exception to apply.
*/
isPermissionControlled?: NullableOption<boolean>;
// Indicates whether an incoming message must be a read receipt in order for the condition or exception to apply.
isReadReceipt?: NullableOption<boolean>;
// Indicates whether an incoming message must be S/MIME-signed in order for the condition or exception to apply.
isSigned?: NullableOption<boolean>;
// Indicates whether an incoming message must be a voice mail in order for the condition or exception to apply.
isVoicemail?: NullableOption<boolean>;
/**
* Represents the flag-for-action value that appears on an incoming message in order for the condition or exception to
* apply. The possible values are: any, call, doNotForward, followUp, fyi, forward, noResponseNecessary, read, reply,
* replyToAll, review.
*/
messageActionFlag?: NullableOption<MessageActionFlag>;
/**
* Indicates whether the owner of the mailbox must not be a recipient of an incoming message in order for the condition or
* exception to apply.
*/
notSentToMe?: NullableOption<boolean>;
/**
* Represents the strings that appear in either the toRecipients or ccRecipients properties of an incoming message in
* order for the condition or exception to apply.
*/
recipientContains?: NullableOption<string[]>;
/**
* Represents the strings that appear in the from property of an incoming message in order for the condition or exception
* to apply.
*/
senderContains?: NullableOption<string[]>;
/**
* Represents the sensitivity level that must be stamped on an incoming message in order for the condition or exception to
* apply. The possible values are: normal, personal, private, confidential.
*/
sensitivity?: NullableOption<Sensitivity>;
/**
* Indicates whether the owner of the mailbox must be in the ccRecipients property of an incoming message in order for the
* condition or exception to apply.
*/
sentCcMe?: NullableOption<boolean>;
/**
* Indicates whether the owner of the mailbox must be the only recipient in an incoming message in order for the condition
* or exception to apply.
*/
sentOnlyToMe?: NullableOption<boolean>;
/**
* Represents the email addresses that an incoming message must have been sent to in order for the condition or exception
* to apply.
*/
sentToAddresses?: NullableOption<Recipient[]>;
/**
* Indicates whether the owner of the mailbox must be in the toRecipients property of an incoming message in order for the
* condition or exception to apply.
*/
sentToMe?: NullableOption<boolean>;
/**
* Indicates whether the owner of the mailbox must be in either a toRecipients or ccRecipients property of an incoming
* message in order for the condition or exception to apply.
*/
sentToOrCcMe?: NullableOption<boolean>;
/**
* Represents the strings that appear in the subject of an incoming message in order for the condition or exception to
* apply.
*/
subjectContains?: NullableOption<string[]>;
/**
* Represents the minimum and maximum sizes (in kilobytes) that an incoming message must fall in between in order for the
* condition or exception to apply.
*/
withinSizeRange?: NullableOption<SizeRange>;
}
export interface SizeRange {
// The maximum size (in kilobytes) that an incoming message must have in order for a condition or exception to apply.
maximumSize?: NullableOption<number>;
// The minimum size (in kilobytes) that an incoming message must have in order for a condition or exception to apply.
minimumSize?: NullableOption<number>;
}
export interface OnlineMeetingInfo {
// The ID of the conference.
conferenceId?: NullableOption<string>;
/**
* The external link that launches the online meeting. This is a URL that clients will launch into a browser and will
* redirect the user to join the meeting.
*/
joinUrl?: NullableOption<string>;
// All of the phone numbers associated with this conference.
phones?: NullableOption<Phone[]>;
// The pre-formatted quickdial for this call.
quickDial?: NullableOption<string>;
// The toll free numbers that can be used to join the conference.
tollFreeNumbers?: NullableOption<string[]>;
// The toll number that can be used to join the conference.
tollNumber?: NullableOption<string>;
}
export interface PatternedRecurrence {
/**
* The frequency of an event. For access reviews: Do not specify this property for a one-time access review. Only
* interval, dayOfMonth, and type (weekly, absoluteMonthly) properties of recurrencePattern are supported.
*/
pattern?: NullableOption<RecurrencePattern>;
// The duration of an event.
range?: NullableOption<RecurrenceRange>;
}
export interface RecurrencePattern {
// The day of the month on which the event occurs. Required if type is absoluteMonthly or absoluteYearly.
dayOfMonth?: number;
/**
* A collection of the days of the week on which the event occurs. The possible values are: sunday, monday, tuesday,
* wednesday, thursday, friday, saturday. If type is relativeMonthly or relativeYearly, and daysOfWeek specifies more than
* one day, the event falls on the first day that satisfies the pattern. Required if type is weekly, relativeMonthly, or
* relativeYearly.
*/
daysOfWeek?: NullableOption<DayOfWeek[]>;
/**
* The first day of the week. The possible values are: sunday, monday, tuesday, wednesday, thursday, friday, saturday.
* Default is sunday. Required if type is weekly.
*/
firstDayOfWeek?: NullableOption<DayOfWeek>;
/**
* Specifies on which instance of the allowed days specified in daysOfWeek the event occurs, counted from the first
* instance in the month. The possible values are: first, second, third, fourth, last. Default is first. Optional and used
* if type is relativeMonthly or relativeYearly.
*/
index?: NullableOption<WeekIndex>;
/**
* The number of units between occurrences, where units can be in days, weeks, months, or years, depending on the type.
* Required.
*/
interval?: number;
// The month in which the event occurs. This is a number from 1 to 12.
month?: number;
/**
* The recurrence pattern type: daily, weekly, absoluteMonthly, relativeMonthly, absoluteYearly, relativeYearly. Required.
* For more information, see values of type property.
*/
type?: NullableOption<RecurrencePatternType>;
}
export interface RecurrenceRange {
/**
* The date to stop applying the recurrence pattern. Depending on the recurrence pattern of the event, the last occurrence
* of the meeting may not be this date. Required if type is endDate.
*/
endDate?: NullableOption<string>;
// The number of times to repeat the event. Required and must be positive if type is numbered.
numberOfOccurrences?: number;
// Time zone for the startDate and endDate properties. Optional. If not specified, the time zone of the event is used.
recurrenceTimeZone?: NullableOption<string>;
/**
* The date to start applying the recurrence pattern. The first occurrence of the meeting may be this date or later,
* depending on the recurrence pattern of the event. Must be the same value as the start property of the recurring event.
* Required.
*/
startDate?: NullableOption<string>;
// The recurrence range. The possible values are: endDate, noEnd, numbered. Required.
type?: NullableOption<RecurrenceRangeType>;
}
export interface PersonType {
// The type of data source, such as Person.
class?: NullableOption<string>;
// The secondary type of data source, such as OrganizationUser.
subclass?: NullableOption<string>;
}
export interface Reminder {
/**
* Identifies the version of the reminder. Every time the reminder is changed, changeKey changes as well. This allows
* Exchange to apply changes to the correct version of the object.
*/
changeKey?: NullableOption<string>;
// The date, time and time zone that the event ends.
eventEndTime?: NullableOption<DateTimeTimeZone>;
// The unique ID of the event. Read only.
eventId?: NullableOption<string>;
// The location of the event.
eventLocation?: NullableOption<Location>;
// The date, time, and time zone that the event starts.
eventStartTime?: NullableOption<DateTimeTimeZone>;
// The text of the event's subject line.
eventSubject?: NullableOption<string>;
/**
* The URL to open the event in Outlook on the web.The event will open in the browser if you are logged in to your mailbox
* via Outlook on the web. You will be prompted to login if you are not already logged in with the browser.This URL cannot
* be accessed from within an iFrame.
*/
eventWebLink?: NullableOption<string>;
// The date, time, and time zone that the reminder is set to occur.
reminderFireTime?: NullableOption<DateTimeTimeZone>;
}
export interface ScheduleInformation {
/**
* Represents a merged view of availability of all the items in scheduleItems. The view consists of time slots.
* Availability during each time slot is indicated with: 0= free, 1= tentative, 2= busy, 3= out of office, 4= working
* elsewhere.
*/
availabilityView?: NullableOption<string>;
// Error information from attempting to get the availability of the user, distribution list, or resource.
error?: NullableOption<FreeBusyError>;
// An SMTP address of the user, distribution list, or resource, identifying an instance of scheduleInformation.
scheduleId?: NullableOption<string>;
// Contains the items that describe the availability of the user or resource.
scheduleItems?: NullableOption<ScheduleItem[]>;
/**
* The days of the week and hours in a specific time zone that the user works. These are set as part of the user's
* mailboxSettings.
*/
workingHours?: NullableOption<WorkingHours>;
}
export interface ScheduleItem {
// The date, time, and time zone that the corresponding event ends.
end?: NullableOption<DateTimeTimeZone>;
// The sensitivity of the corresponding event. True if the event is marked private, false otherwise. Optional.
isPrivate?: NullableOption<boolean>;
// The location where the corresponding event is held or attended from. Optional.
location?: NullableOption<string>;
// The date, time, and time zone that the corresponding event starts.
start?: NullableOption<DateTimeTimeZone>;
/**
* The availability status of the user or resource during the corresponding event. The possible values are: free,
* tentative, busy, oof, workingElsewhere, unknown.
*/
status?: NullableOption<FreeBusyStatus>;
// The corresponding event's subject line. Optional.
subject?: NullableOption<string>;
}
export interface ScoredEmailAddress {
// The email address.
address?: NullableOption<string>;
itemId?: NullableOption<string>;
/**
* The relevance score of the email address. A relevance score is used as a sort key, in relation to the other returned
* results. A higher relevance score value corresponds to a more relevant result. Relevance is determined by the users
* communication and collaboration patterns and business relationships.
*/
relevanceScore?: NullableOption<number>;
selectionLikelihood?: NullableOption<SelectionLikelihoodInfo>;
}
export interface TimeZoneInformation {
// An identifier for the time zone.
alias?: NullableOption<string>;
// A display string that represents the time zone.
displayName?: NullableOption<string>;
}
export interface UploadSession {
/**
* The date and time in UTC that the upload session will expire. The complete file must be uploaded before this expiration
* time is reached.
*/
expirationDateTime?: NullableOption<string>;
/**
* A collection of byte ranges that the server is missing for the file. These ranges are zero indexed and of the format
* 'start-end' (e.g. '0-26' to indicate the first 27 bytes of the file). When uploading files as Outlook attachments,
* instead of a collection of ranges, this property always indicates a single value '{start}', the location in the file
* where the next upload should begin.
*/
nextExpectedRanges?: NullableOption<string[]>;
// The URL endpoint that accepts PUT requests for byte ranges of the file.
uploadUrl?: NullableOption<string>;
}
export interface Website {
// The URL of the website.
address?: NullableOption<string>;
// The display name of the web site.
displayName?: NullableOption<string>;
// The possible values are: other, home, work, blog, profile.
type?: NullableOption<WebsiteType>;
}
// tslint:disable-next-line: interface-name
export interface IdleSessionSignOut {
// Indicates whether the idle session sign-out policy is enabled.
isEnabled?: NullableOption<boolean>;
// Number of seconds of inactivity after which a user is signed out.
signOutAfterInSeconds?: NullableOption<number>;
// Number of seconds of inactivity after which a user is notified that they'll be signed out.
warnAfterInSeconds?: NullableOption<number>;
}
// tslint:disable-next-line: no-empty-interface
export interface AccessAction {}
export interface Album {
// Unique identifier of the [driveItem][] that is the cover of the album.
coverImageItemId?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface BooleanColumn {}
export interface CalculatedColumn {
// For dateTime output types, the format of the value. Must be one of dateOnly or dateTime.
format?: NullableOption<string>;
// The formula used to compute the value for this column.
formula?: NullableOption<string>;
// The output type used to format values in this column. Must be one of boolean, currency, dateTime, number, or text.
outputType?: NullableOption<string>;
}
export interface ChoiceColumn {
// If true, allows custom values that aren't in the configured choices.
allowTextEntry?: NullableOption<boolean>;
// The list of values available for this column.
choices?: NullableOption<string[]>;
// How the choices are to be presented in the UX. Must be one of checkBoxes, dropDownMenu, or radioButtons
displayAs?: NullableOption<string>;
}
export interface ColumnValidation {
// Default BCP 47 language tag for the description.
defaultLanguage?: NullableOption<string>;
/**
* Localized messages that explain what is needed for this column's value to be considered valid. User will be prompted
* with this message if validation fails.
*/
descriptions?: NullableOption<DisplayNameLocalization[]>;
// The formula to validate column value. For examples, see Examples of common formulas in lists.
formula?: NullableOption<string>;
}
export interface DisplayNameLocalization {
/**
* If present, the value of this field contains the displayName string that has been set for the language present in the
* languageTag field.
*/
displayName?: NullableOption<string>;
// Provides the language culture-code and friendly name of the language that the displayName field has been provided in.
languageTag?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface ContentApprovalStatusColumn {}
export interface ContentTypeInfo {
// The id of the content type.
id?: NullableOption<string>;
// The name of the content type.
name?: NullableOption<string>;
}
export interface ContentTypeOrder {
// Whether this is the default Content Type
default?: NullableOption<boolean>;
// Specifies the position in which the Content Type appears in the selection UI.
position?: NullableOption<number>;
}
export interface CurrencyColumn {
// Specifies the locale from which to infer the currency symbol.
locale?: NullableOption<string>;
}
export interface DateTimeColumn {
/**
* How the value should be presented in the UX. Must be one of default, friendly, or standard. See below for more details.
* If unspecified, treated as default.
*/
displayAs?: NullableOption<string>;
// Indicates whether the value should be presented as a date only or a date and time. Must be one of dateOnly or dateTime
format?: NullableOption<string>;
}
export interface DefaultColumnValue {
// The formula used to compute the default value for this column.
formula?: NullableOption<string>;
// The direct value to use as the default value for this column.
value?: NullableOption<string>;
}
export interface DocumentSet {
// Content types allowed in document set.
allowedContentTypes?: NullableOption<ContentTypeInfo[]>;
// Default contents of document set.
defaultContents?: NullableOption<DocumentSetContent[]>;
// Specifies whether to push welcome page changes to inherited content types.
propagateWelcomePageChanges?: NullableOption<boolean>;
// Indicates whether to add the name of the document set to each file name.
shouldPrefixNameToFile?: NullableOption<boolean>;
// Welcome page absolute URL.
welcomePageUrl?: NullableOption<string>;
sharedColumns?: NullableOption<ColumnDefinition[]>;
welcomePageColumns?: NullableOption<ColumnDefinition[]>;
}
export interface DocumentSetContent {
// Content type information of the file.
contentType?: NullableOption<ContentTypeInfo>;
// Name of the file in resource folder that should be added as a default content or a template in the document set.
fileName?: NullableOption<string>;
// Folder name in which the file will be placed when a new document set is created in the library.
folderName?: NullableOption<string>;
}
export interface DocumentSetVersionItem {
// The unique identifier for the item.
itemId?: NullableOption<string>;
// The title of the item.
title?: NullableOption<string>;
// The version ID of the item.
versionId?: NullableOption<string>;
}
export interface DriveItemUploadableProperties {
// Provides a user-visible description of the item. Read-write. Only on OneDrive Personal.
description?: NullableOption<string>;
// Provides an expected file size to perform a quota check prior to upload. Only on OneDrive Personal.
fileSize?: NullableOption<number>;
// File system information on client. Read-write.
fileSystemInfo?: NullableOption<FileSystemInfo>;
// The name of the item (filename and extension). Read-write.
name?: NullableOption<string>;
}
export interface DriveRecipient {
// The alias of the domain object, for cases where an email address is unavailable (e.g. security groups).
alias?: NullableOption<string>;
// The email address for the recipient, if the recipient has an associated email address.
email?: NullableOption<string>;
// The unique identifier for the recipient in the directory.
objectId?: NullableOption<string>;
}
export interface Hashes {
// The CRC32 value of the file in little endian (if available). Read-only.
crc32Hash?: NullableOption<string>;
/**
* A proprietary hash of the file that can be used to determine if the contents of the file have changed (if available).
* Read-only.
*/
quickXorHash?: NullableOption<string>;
// SHA1 hash for the contents of the file (if available). Read-only.
sha1Hash?: NullableOption<string>;
// SHA256 hash for the contents of the file (if available). Read-only.
sha256Hash?: NullableOption<string>;
}
export interface FolderView {
// The method by which the folder should be sorted.
sortBy?: NullableOption<string>;
// If true, indicates that items should be sorted in descending order. Otherwise, items should be sorted ascending.
sortOrder?: NullableOption<string>;
// The type of view that should be used to represent the folder.
viewType?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface GeolocationColumn {}
export interface HyperlinkOrPictureColumn {
// Specifies whether the display format used for URL columns is an image or a hyperlink.
isPicture?: NullableOption<boolean>;
}
// tslint:disable-next-line: interface-name
export interface IncompleteData {
// The service does not have source data before the specified time.
missingDataBeforeDateTime?: NullableOption<string>;
// Some data was not recorded due to excessive activity.
wasThrottled?: NullableOption<boolean>;
}
// tslint:disable-next-line: interface-name
export interface ItemActionStat {
// The number of times the action took place. Read-only.
actionCount?: NullableOption<number>;
// The number of distinct actors that performed the action. Read-only.
actorCount?: NullableOption<number>;
}
// tslint:disable-next-line: interface-name
export interface ItemPreviewInfo {
getUrl?: NullableOption<string>;
postParameters?: NullableOption<string>;
postUrl?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
export interface ItemReference {
/**
* Unique identifier of the drive instance that contains the driveItem. Only returned if the item is located in a
* [drive][]. Read-only.
*/
driveId?: NullableOption<string>;
// Identifies the type of drive. Only returned if the item is located in a [drive][]. See [drive][] resource for values.
driveType?: NullableOption<string>;
// Unique identifier of the driveItem in the drive or a listItem in a list. Read-only.
id?: NullableOption<string>;
// The name of the item being referenced. Read-only.
name?: NullableOption<string>;
// Path that can be used to navigate to the item. Read-only.
path?: NullableOption<string>;
// A unique identifier for a shared resource that can be accessed via the [Shares][] API.
shareId?: NullableOption<string>;
// Returns identifiers useful for SharePoint REST compatibility. Read-only.
sharepointIds?: NullableOption<SharepointIds>;
/**
* For OneDrive for Business and SharePoint, this property represents the ID of the site that contains the parent document
* library of the driveItem resource or the parent list of the listItem resource. The value is the same as the id property
* of that [site][] resource. It is an opaque string that consists of three identifiers of the site. For OneDrive, this
* property is not populated.
*/
siteId?: NullableOption<string>;
}
export interface LookupColumn {
// Indicates whether multiple values can be selected from the source.
allowMultipleValues?: NullableOption<boolean>;
// Indicates whether values in the column should be able to exceed the standard limit of 255 characters.
allowUnlimitedLength?: NullableOption<boolean>;
// The name of the lookup source column.
columnName?: NullableOption<string>;
// The unique identifier of the lookup source list.
listId?: NullableOption<string>;
/**
* If specified, this column is a secondary lookup, pulling an additional field from the list item looked up by the
* primary lookup. Use the list item looked up by the primary as the source for the column named here.
*/
primaryLookupColumnId?: NullableOption<string>;
}
export interface NumberColumn {
// How many decimal places to display. See below for information about the possible values.
decimalPlaces?: NullableOption<string>;
// How the value should be presented in the UX. Must be one of number or percentage. If unspecified, treated as number.
displayAs?: NullableOption<string>;
// The maximum permitted value.
maximum?: NullableOption<number>;
// The minimum permitted value.
minimum?: NullableOption<number>;
}
export interface PendingContentUpdate {
// Date and time the pending binary operation was queued in UTC time. Read-only.
queuedDateTime?: NullableOption<string>;
}
export interface PersonOrGroupColumn {
// Indicates whether multiple values can be selected from the source.
allowMultipleSelection?: NullableOption<boolean>;
// Whether to allow selection of people only, or people and groups. Must be one of peopleAndGroups or peopleOnly.
chooseFromType?: NullableOption<string>;
// How to display the information about the person or group chosen. See below.
displayAs?: NullableOption<string>;
}
export interface StoragePlanInformation {
// Indicates whether there are higher storage quota plans available. Read-only.
upgradeAvailable?: NullableOption<boolean>;
}
export interface SharePointIdentity extends Identity {
// The sign in name of the SharePoint identity.
loginName?: NullableOption<string>;
}
export interface SharePointIdentitySet extends IdentitySet {
// The group associated with this action. Optional.
group?: NullableOption<Identity>;
// The SharePoint group associated with this action. Optional.
siteGroup?: NullableOption<SharePointIdentity>;
// The SharePoint user associated with this action. Optional.
siteUser?: NullableOption<SharePointIdentity>;
}
export interface SharingInvitation {
// The email address provided for the recipient of the sharing invitation. Read-only.
email?: NullableOption<string>;
/**
* Provides information about who sent the invitation that created this permission, if that information is available.
* Read-only.
*/
invitedBy?: NullableOption<IdentitySet>;
redeemedBy?: NullableOption<string>;
// If true the recipient of the invitation needs to sign in in order to access the shared item. Read-only.
signInRequired?: NullableOption<boolean>;
}
export interface SharingLink {
// The app the link is associated with.
application?: NullableOption<Identity>;
/**
* If true then the user can only use this link to view the item on the web, and cannot use it to download the contents of
* the item. Only for OneDrive for Business and SharePoint.
*/
preventsDownload?: NullableOption<boolean>;
/**
* The scope of the link represented by this permission. Value anonymous indicates the link is usable by anyone,
* organization indicates the link is only usable for users signed into the same tenant.
*/
scope?: NullableOption<string>;
// The type of the link created.
type?: NullableOption<string>;
/**
* For embed links, this property contains the HTML code for an &amp;lt;iframe&amp;gt; element that will embed the item in
* a webpage.
*/
webHtml?: NullableOption<string>;
// A URL that opens the item in the browser on the OneDrive website.
webUrl?: NullableOption<string>;
}
export interface TermColumn {
// Specifies whether the column will allow more than one value.
allowMultipleValues?: NullableOption<boolean>;
// Specifies whether to display the entire term path or only the term label.
showFullyQualifiedName?: NullableOption<boolean>;
parentTerm?: NullableOption<TermStore.Term>;
termSet?: NullableOption<TermStore.Set>;
}
export interface TextColumn {
// Whether to allow multiple lines of text.
allowMultipleLines?: NullableOption<boolean>;
// Whether updates to this column should replace existing text, or append to it.
appendChangesToExistingText?: NullableOption<boolean>;
// The size of the text box.
linesForEditing?: NullableOption<number>;
// The maximum number of characters for the value.
maxLength?: NullableOption<number>;
// The type of text being stored. Must be one of plain or richText
textType?: NullableOption<string>;
}
export interface Thumbnail {
// The content stream for the thumbnail.
content?: NullableOption<any>;
// The height of the thumbnail, in pixels.
height?: NullableOption<number>;
/**
* The unique identifier of the item that provided the thumbnail. This is only available when a folder thumbnail is
* requested.
*/
sourceItemId?: NullableOption<string>;
// The URL used to fetch the thumbnail content.
url?: NullableOption<string>;
// The width of the thumbnail, in pixels.
width?: NullableOption<number>;
}
// tslint:disable-next-line: no-empty-interface
export interface ThumbnailColumn {}
export interface AudioConferencing {
// The conference id of the online meeting.
conferenceId?: NullableOption<string>;
// A URL to the externally-accessible web page that contains dial-in information.
dialinUrl?: NullableOption<string>;
tollFreeNumber?: NullableOption<string>;
// List of toll-free numbers that are displayed in the meeting invite.
tollFreeNumbers?: NullableOption<string[]>;
tollNumber?: NullableOption<string>;
// List of toll numbers that are displayed in the meeting invite.
tollNumbers?: NullableOption<string[]>;
}
export interface BroadcastMeetingSettings {
// Defines who can join the Teams live event. Possible values are listed in the following table.
allowedAudience?: NullableOption<BroadcastMeetingAudience>;
// Caption settings of a Teams live event.
captions?: NullableOption<BroadcastMeetingCaptionSettings>;
// Indicates whether attendee report is enabled for this Teams live event. Default value is false.
isAttendeeReportEnabled?: NullableOption<boolean>;
// Indicates whether Q&amp;A is enabled for this Teams live event. Default value is false.
isQuestionAndAnswerEnabled?: NullableOption<boolean>;
// Indicates whether recording is enabled for this Teams live event. Default value is false.
isRecordingEnabled?: NullableOption<boolean>;
// Indicates whether video on demand is enabled for this Teams live event. Default value is false.
isVideoOnDemandEnabled?: NullableOption<boolean>;
}
export interface ChatInfo {
// The unique identifier of a message in a Microsoft Teams channel.
messageId?: NullableOption<string>;
// The ID of the reply message.
replyChainMessageId?: NullableOption<string>;
// The unique identifier for a thread in Microsoft Teams.
threadId?: NullableOption<string>;
}
export interface JoinMeetingIdSettings {
// Indicates whether a passcode is required to join a meeting when using joinMeetingId. Optional.
isPasscodeRequired?: NullableOption<boolean>;
// The meeting ID to be used to join a meeting. Optional. Read-only.
joinMeetingId?: NullableOption<string>;
// The passcode to join a meeting. Optional. Read-only.
passcode?: NullableOption<string>;
}
export interface MeetingParticipants {
attendees?: NullableOption<MeetingParticipantInfo[]>;
organizer?: NullableOption<MeetingParticipantInfo>;
}
export interface ExtensionSchemaProperty {
// The name of the strongly-typed property defined as part of a schema extension.
name?: NullableOption<string>;
/**
* The type of the property that is defined as part of a schema extension. Allowed values are Binary, Boolean, DateTime,
* Integer or String. See the table below for more details.
*/
type?: NullableOption<string>;
}
export interface AttributeDefinition {
anchor?: boolean;
apiExpressions?: NullableOption<StringKeyStringValuePair[]>;
caseExact?: boolean;
defaultValue?: NullableOption<string>;
flowNullValues?: boolean;
metadata?: NullableOption<AttributeDefinitionMetadataEntry[]>;
multivalued?: boolean;
mutability?: Mutability;
name?: NullableOption<string>;
referencedObjects?: NullableOption<ReferencedObject[]>;
required?: boolean;
type?: AttributeType;
}
export interface StringKeyStringValuePair {
key?: NullableOption<string>;
value?: NullableOption<string>;
}
export interface AttributeDefinitionMetadataEntry {
key?: NullableOption<AttributeDefinitionMetadata>;
value?: NullableOption<string>;
}
export interface ReferencedObject {
referencedObjectName?: NullableOption<string>;
referencedProperty?: NullableOption<string>;
}
export interface AttributeMapping {
defaultValue?: NullableOption<string>;
exportMissingReferences?: boolean;
flowBehavior?: AttributeFlowBehavior;
flowType?: AttributeFlowType;
matchingPriority?: number;
source?: NullableOption<AttributeMappingSource>;
targetAttributeName?: NullableOption<string>;
}
export interface AttributeMappingSource {
expression?: NullableOption<string>;
name?: NullableOption<string>;
parameters?: NullableOption<StringKeyAttributeMappingSourceValuePair[]>;
type?: AttributeMappingSourceType;
}
export interface AttributeMappingParameterSchema {
allowMultipleOccurrences?: boolean;
name?: NullableOption<string>;
required?: boolean;
type?: AttributeType;
}
export interface StringKeyAttributeMappingSourceValuePair {
key?: NullableOption<string>;
value?: NullableOption<AttributeMappingSource>;
}
export interface ContainerFilter {
includedContainers?: NullableOption<string[]>;
}
export interface ExpressionInputObject {
definition?: NullableOption<ObjectDefinition>;
properties?: NullableOption<StringKeyObjectValuePair[]>;
}
export interface ObjectDefinition {
attributes?: NullableOption<AttributeDefinition[]>;
metadata?: NullableOption<ObjectDefinitionMetadataEntry[]>;
name?: NullableOption<string>;
supportedApis?: NullableOption<string[]>;
}
export interface StringKeyObjectValuePair {
key?: NullableOption<string>;
}
export interface Filter {
categoryFilterGroups?: NullableOption<FilterGroup[]>;
groups?: NullableOption<FilterGroup[]>;
inputFilterGroups?: NullableOption<FilterGroup[]>;
}
export interface FilterGroup {
clauses?: NullableOption<FilterClause[]>;
name?: NullableOption<string>;
}
export interface FilterClause {
operatorName?: NullableOption<string>;
sourceOperandName?: NullableOption<string>;
targetOperand?: NullableOption<FilterOperand>;
}
export interface FilterOperand {
values?: NullableOption<string[]>;
}
export interface GroupFilter {
includedGroups?: NullableOption<string[]>;
}
export interface ObjectDefinitionMetadataEntry {
key?: NullableOption<ObjectDefinitionMetadata>;
value?: NullableOption<string>;
}
export interface ObjectMapping {
attributeMappings?: NullableOption<AttributeMapping[]>;
enabled?: boolean;
flowTypes?: ObjectFlowTypes;
metadata?: NullableOption<ObjectMappingMetadataEntry[]>;
name?: NullableOption<string>;
scope?: NullableOption<Filter>;
sourceObjectName?: NullableOption<string>;
targetObjectName?: NullableOption<string>;
}
export interface ObjectMappingMetadataEntry {
key?: NullableOption<ObjectMappingMetadata>;
value?: NullableOption<string>;
}
export interface ParseExpressionResponse {
error?: NullableOption<PublicError>;
evaluationResult?: NullableOption<string[]>;
evaluationSucceeded?: boolean;
parsedExpression?: NullableOption<AttributeMappingSource>;
parsingSucceeded?: boolean;
}
export interface PublicErrorResponse {
error?: NullableOption<PublicError>;
}
export interface StringKeyLongValuePair {
key?: NullableOption<string>;
value?: number;
}
export interface SynchronizationError {
code?: NullableOption<string>;
message?: NullableOption<string>;
tenantActionable?: boolean;
}
export interface SynchronizationJobApplicationParameters {
ruleId?: NullableOption<string>;
subjects?: NullableOption<SynchronizationJobSubject[]>;
}
export interface SynchronizationJobSubject {
links?: NullableOption<SynchronizationLinkedObjects>;
objectId?: NullableOption<string>;
objectTypeName?: NullableOption<string>;
}
export interface SynchronizationJobRestartCriteria {
resetScope?: NullableOption<SynchronizationJobRestartScope>;
}
export interface SynchronizationLinkedObjects {
manager?: NullableOption<SynchronizationJobSubject>;
members?: NullableOption<SynchronizationJobSubject[]>;
owners?: NullableOption<SynchronizationJobSubject[]>;
}
export interface SynchronizationMetadataEntry {
key?: NullableOption<SynchronizationMetadata>;
value?: NullableOption<string>;
}
export interface SynchronizationProgress {
completedUnits?: number;
progressObservationDateTime?: string;
totalUnits?: number;
units?: NullableOption<string>;
}
export interface SynchronizationQuarantine {
currentBegan?: string;
error?: NullableOption<SynchronizationError>;
nextAttempt?: string;
reason?: QuarantineReason;
seriesBegan?: string;
seriesCount?: number;
}
export interface SynchronizationRule {
containerFilter?: NullableOption<ContainerFilter>;
editable?: boolean;
groupFilter?: NullableOption<GroupFilter>;
id?: NullableOption<string>;
metadata?: NullableOption<StringKeyStringValuePair[]>;
name?: NullableOption<string>;
objectMappings?: NullableOption<ObjectMapping[]>;
priority?: number;
sourceDirectoryName?: NullableOption<string>;
targetDirectoryName?: NullableOption<string>;
}
export interface SynchronizationSchedule {
expiration?: NullableOption<string>;
interval?: string;
state?: SynchronizationScheduleState;
}
export interface SynchronizationSecretKeyStringValuePair {
key?: SynchronizationSecret;
value?: NullableOption<string>;
}
export interface SynchronizationStatus {
code?: SynchronizationStatusCode;
countSuccessiveCompleteFailures?: number;
escrowsPruned?: boolean;
lastExecution?: NullableOption<SynchronizationTaskExecution>;
lastSuccessfulExecution?: NullableOption<SynchronizationTaskExecution>;
lastSuccessfulExecutionWithExports?: NullableOption<SynchronizationTaskExecution>;
progress?: NullableOption<SynchronizationProgress[]>;
quarantine?: NullableOption<SynchronizationQuarantine>;
steadyStateFirstAchievedTime?: string;
steadyStateLastAchievedTime?: string;
synchronizedEntryCountByType?: NullableOption<StringKeyLongValuePair[]>;
troubleshootingUrl?: NullableOption<string>;
}
export interface SynchronizationTaskExecution {
activityIdentifier?: NullableOption<string>;
countEntitled?: number;
countEntitledForProvisioning?: number;
countEscrowed?: number;
countEscrowedRaw?: number;
countExported?: number;
countExports?: number;
countImported?: number;
countImportedDeltas?: number;
countImportedReferenceDeltas?: number;
error?: NullableOption<SynchronizationError>;
state?: SynchronizationTaskExecutionResult;
timeBegan?: string;
timeEnded?: string;
}
// tslint:disable-next-line: no-empty-interface
export interface AccessReviewApplyAction {}
export interface AccessReviewHistoryScheduleSettings {
/**
* Detailed settings for recurrence using the standard Outlook recurrence object. Note: Only dayOfMonth, interval, and
* type (weekly, absoluteMonthly) properties are supported. Use the property startDate on recurrenceRange to determine the
* day the review starts. Required.
*/
recurrence?: PatternedRecurrence;
/**
* A duration string in ISO 8601 duration format specifying the lookback period of the generated review history data. For
* example, if a history definition is scheduled to run on the 1st of every month, the reportRange is P1M. In this case,
* on the first of every month, access review history data will be collected containing only the previous month's review
* data. Note: Only years, months, and days ISO 8601 properties are supported. Required.
*/
reportRange?: string;
}
// tslint:disable-next-line: no-empty-interface
export interface AccessReviewScope {}
export interface AccessReviewQueryScope extends AccessReviewScope {
// The query representing what will be reviewed in an access review.
query?: NullableOption<string>;
/**
* In the scenario where reviewers need to be specified dynamically, this property is used to indicate the relative source
* of the query. This property is only required if a relative query is specified. For example, ./manager.
*/
queryRoot?: NullableOption<string>;
// Indicates the type of query. Types include MicrosoftGraph and ARM.
queryType?: NullableOption<string>;
}
export interface AccessReviewInactiveUsersQueryScope extends AccessReviewQueryScope {
/**
* Defines the duration of inactivity. Inactivity is based on the last sign in date of the user compared to the access
* review instance's start date. If this property is not specified, it's assigned the default value PT0S.
*/
inactiveDuration?: NullableOption<string>;
}
export interface AccessReviewInstanceDecisionItemResource {
// Display name of the resource
displayName?: NullableOption<string>;
// Identifier of the resource
id?: NullableOption<string>;
// Type of resource. Types include: Group, ServicePrincipal, DirectoryRole, AzureRole, AccessPackageAssignmentPolicy.
type?: NullableOption<string>;
}
export interface AccessReviewInstanceDecisionItemAccessPackageAssignmentPolicyResource extends AccessReviewInstanceDecisionItemResource {
// Display name of the access package to which access has been granted.
accessPackageDisplayName?: NullableOption<string>;
// Identifier of the access package to which access has been granted.
accessPackageId?: NullableOption<string>;
}
export interface AccessReviewInstanceDecisionItemAzureRoleResource extends AccessReviewInstanceDecisionItemResource {
// Details of the scope this role is associated with.
scope?: NullableOption<AccessReviewInstanceDecisionItemResource>;
}
export interface AccessReviewInstanceDecisionItemServicePrincipalResource extends AccessReviewInstanceDecisionItemResource {
// The globally unique identifier of the application to which access has been granted.
appId?: NullableOption<string>;
}
export interface AccessReviewNotificationRecipientItem {
// Determines the recipient of the notification email.
notificationRecipientScope?: NullableOption<AccessReviewNotificationRecipientScope>;
/**
* Indicates the type of access review email to be sent. Supported template type is CompletedAdditionalRecipients, which
* sends review completion notifications to the recipients.
*/
notificationTemplateType?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface AccessReviewNotificationRecipientScope {}
export interface AccessReviewNotificationRecipientQueryScope extends AccessReviewNotificationRecipientScope {
/**
* Represents the query for who the recipients are. For example, /groups/{group id}/members for group members and
* /users/{user id} for a specific user.
*/
query?: NullableOption<string>;
/**
* In the scenario where reviewers need to be specified dynamically, indicates the relative source of the query. This
* property is only required if a relative query (that is, ./manager) is specified.
*/
queryRoot?: NullableOption<string>;
// Indicates the type of query. Allowed value is MicrosoftGraph.
queryType?: NullableOption<string>;
}
export interface AccessReviewReviewerScope {
// The query specifying who will be the reviewer.
query?: NullableOption<string>;
/**
* In the scenario where reviewers need to be specified dynamically, this property is used to indicate the relative source
* of the query. This property is only required if a relative query, for example, ./manager, is specified. Possible value:
* decisions.
*/
queryRoot?: NullableOption<string>;
// The type of query. Examples include MicrosoftGraph and ARM.
queryType?: NullableOption<string>;
}
export interface AccessReviewScheduleSettings {
/**
* Optional field. Describes the actions to take once a review is complete. There are two types that are currently
* supported: removeAccessApplyAction (default) and disableAndDeleteUserApplyAction. Field only needs to be specified in
* the case of disableAndDeleteUserApplyAction.
*/
applyActions?: NullableOption<AccessReviewApplyAction[]>;
/**
* Indicates whether decisions are automatically applied. When set to false, an admin must apply the decisions manually
* once the reviewer completes the access review. When set to true, decisions are applied automatically after the access
* review instance duration ends, whether or not the reviewers have responded. Default value is false. CAUTION: If both
* autoApplyDecisionsEnabled and defaultDecisionEnabled are true, all access for the principals to the resource risks
* being revoked if the reviewers fail to respond.
*/
autoApplyDecisionsEnabled?: boolean;
/**
* Indicates whether decisions on previous access review stages are available for reviewers on an accessReviewInstance
* with multiple subsequent stages. If not provided, the default is disabled (false).
*/
decisionHistoriesForReviewersEnabled?: NullableOption<boolean>;
// Decision chosen if defaultDecisionEnabled is enabled. Can be one of Approve, Deny, or Recommendation.
defaultDecision?: NullableOption<string>;
/**
* Indicates whether the default decision is enabled or disabled when reviewers do not respond. Default value is false.
* CAUTION: If both autoApplyDecisionsEnabled and defaultDecisionEnabled are true, all access for the principals to the
* resource risks being revoked if the reviewers fail to respond.
*/
defaultDecisionEnabled?: boolean;
/**
* Duration of an access review instance in days. NOTE: If the stageSettings of the accessReviewScheduleDefinition object
* is defined, its durationInDays setting will be used instead of the value of this property.
*/
instanceDurationInDays?: number;
// Indicates whether reviewers are required to provide justification with their decision. Default value is false.
justificationRequiredOnApproval?: boolean;
// Indicates whether emails are enabled or disabled. Default value is false.
mailNotificationsEnabled?: boolean;
/**
* Indicates whether decision recommendations are enabled or disabled. NOTE: If the stageSettings of the
* accessReviewScheduleDefinition object is defined, its recommendationsEnabled setting will be used instead of the value
* of this property.
*/
recommendationsEnabled?: boolean;
/**
* Detailed settings for recurrence using the standard Outlook recurrence object. Note: Only dayOfMonth, interval, and
* type (weekly, absoluteMonthly) properties are supported. Use the property startDate on recurrenceRange to determine the
* day the review starts.
*/
recurrence?: NullableOption<PatternedRecurrence>;
// Indicates whether reminders are enabled or disabled. Default value is false.
reminderNotificationsEnabled?: boolean;
}
export interface AccessReviewStageSettings {
/**
* Indicate which decisions will go to the next stage. Can be a sub-set of Approve, Deny, Recommendation, or NotReviewed.
* If not provided, all decisions will go to the next stage. Optional.
*/
decisionsThatWillMoveToNextStage?: NullableOption<string[]>;
/**
* Defines the sequential or parallel order of the stages and depends on the stageId. Only sequential stages are currently
* supported. For example, if stageId is 2, then dependsOn must be 1. If stageId is 1, do not specify dependsOn. Required
* if stageId is not 1.
*/
dependsOn?: string[];
/**
* The duration of the stage. Required. NOTE: The cumulative value of this property across all stages 1. Will override the
* instanceDurationInDays setting on the accessReviewScheduleDefinition object. 2. Cannot exceed the length of one
* recurrence. That is, if the review recurs weekly, the cumulative durationInDays cannot exceed 7.
*/
durationInDays?: number;
/**
* If provided, the fallback reviewers are asked to complete a review if the primary reviewers do not exist. For example,
* if managers are selected as reviewers and a principal under review does not have a manager in Azure AD, the fallback
* reviewers are asked to review that principal. NOTE: The value of this property will override the corresponding setting
* on the accessReviewScheduleDefinition object.
*/
fallbackReviewers?: NullableOption<AccessReviewReviewerScope[]>;
/**
* Indicates whether showing recommendations to reviewers is enabled. Required. NOTE: The value of this property will
* override override the corresponding setting on the accessReviewScheduleDefinition object.
*/
recommendationsEnabled?: boolean;
/**
* Defines who the reviewers are. If none are specified, the review is a self-review (users review their own access). For
* examples of options for assigning reviewers, see Assign reviewers to your access review definition using the Microsoft
* Graph API. NOTE: The value of this property will override the corresponding setting on the
* accessReviewScheduleDefinition.
*/
reviewers?: NullableOption<AccessReviewReviewerScope[]>;
/**
* Unique identifier of the accessReviewStageSettings object. The stageId will be used by the dependsOn property to
* indicate the order of the stages. Required.
*/
stageId?: string;
}
export interface AppConsentRequestScope {
// The name of the scope.
displayName?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface DisableAndDeleteUserApplyAction extends AccessReviewApplyAction {}
export interface PrincipalResourceMembershipsScope extends AccessReviewScope {
// Defines the scopes of the principals whose access to resources are reviewed in the access review.
principalScopes?: NullableOption<AccessReviewScope[]>;
// Defines the scopes of the resources for which access is reviewed.
resourceScopes?: NullableOption<AccessReviewScope[]>;
}
// tslint:disable-next-line: no-empty-interface
export interface RemoveAccessApplyAction extends AccessReviewApplyAction {}
export interface ServicePrincipalIdentity extends Identity {
// The application identifier of the service principal.
appId?: NullableOption<string>;
}
export interface AgreementFileData {
// Data that represents the terms of use PDF document. Read-only.
data?: NullableOption<string>;
}
export interface TermsExpiration {
/**
* Represents the frequency at which the terms will expire, after its first expiration as set in startDateTime. The value
* is represented in ISO 8601 format for durations. For example, PT1M represents a time period of 1 month.
*/
frequency?: NullableOption<string>;
/**
* The DateTime when the agreement is set to expire for all users. 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 is 2014-01-01T00:00:00Z.
*/
startDateTime?: NullableOption<string>;
}
export interface ConditionalAccessSessionControl {
// Specifies whether the session control is enabled.
isEnabled?: NullableOption<boolean>;
}
// tslint:disable-next-line: no-empty-interface
export interface ApplicationEnforcedRestrictionsSessionControl extends ConditionalAccessSessionControl {}
export interface AuthenticationStrengthUsage {
mfa?: NullableOption<ConditionalAccessPolicy[]>;
none?: NullableOption<ConditionalAccessPolicy[]>;
}
export interface CloudAppSecuritySessionControl extends ConditionalAccessSessionControl {
/**
* Possible values are: mcasConfigured, monitorOnly, blockDownloads, unknownFutureValue. For more information, see Deploy
* Conditional Access App Control for featured apps.
*/
cloudAppSecurityType?: NullableOption<CloudAppSecuritySessionControlType>;
}
export interface ConditionalAccessExternalTenants {
/**
* The membership kind. Possible values are: all, enumerated, unknownFutureValue. The enumerated member references an
* conditionalAccessEnumeratedExternalTenants object.
*/
membershipKind?: NullableOption<ConditionalAccessExternalTenantsMembershipKind>;
}
// tslint:disable-next-line: no-empty-interface
export interface ConditionalAccessAllExternalTenants extends ConditionalAccessExternalTenants {}
export interface ConditionalAccessApplications {
/**
* Can be one of the following: The list of client IDs (appId) explicitly excluded from the policy. Office365 - For the
* list of apps included in Office365, see Conditional Access target apps: Office 365
*/
excludeApplications?: string[];
/**
* Can be one of the following: The list of client IDs (appId) the policy applies to, unless explicitly excluded (in
* excludeApplications) All Office365 - For the list of apps included in Office365, see Conditional Access target apps:
* Office 365
*/
includeApplications?: string[];
includeAuthenticationContextClassReferences?: string[];
// User actions to include. Supported values are urn:user:registersecurityinfo and urn:user:registerdevice
includeUserActions?: string[];
}
export interface ConditionalAccessClientApplications {
// Service principal IDs excluded from the policy scope.
excludeServicePrincipals?: string[];
// Service principal IDs included in the policy scope, or ServicePrincipalsInMyTenant.
includeServicePrincipals?: string[];
}
export interface ConditionalAccessConditionSet {
// Applications and user actions included in and excluded from the policy. Required.
applications?: NullableOption<ConditionalAccessApplications>;
/**
* Client applications (service principals and workload identities) included in and excluded from the policy. Either users
* or clientApplications is required.
*/
clientApplications?: NullableOption<ConditionalAccessClientApplications>;
/**
* Client application types included in the policy. Possible values are: all, browser, mobileAppsAndDesktopClients,
* exchangeActiveSync, easSupported, other. Required.
*/
clientAppTypes?: ConditionalAccessClientApp[];
// Devices in the policy.
devices?: NullableOption<ConditionalAccessDevices>;
// Locations included in and excluded from the policy.
locations?: NullableOption<ConditionalAccessLocations>;
// Platforms included in and excluded from the policy.
platforms?: NullableOption<ConditionalAccessPlatforms>;
// Service principal risk levels included in the policy. Possible values are: low, medium, high, none, unknownFutureValue.
servicePrincipalRiskLevels?: RiskLevel[];
/**
* Sign-in risk levels included in the policy. Possible values are: low, medium, high, hidden, none, unknownFutureValue.
* Required.
*/
signInRiskLevels?: RiskLevel[];
/**
* User risk levels included in the policy. Possible values are: low, medium, high, hidden, none, unknownFutureValue.
* Required.
*/
userRiskLevels?: RiskLevel[];
// Users, groups, and roles included in and excluded from the policy. Either users or clientApplications is required.
users?: NullableOption<ConditionalAccessUsers>;
}
export interface ConditionalAccessDevices {
/**
* Filter that defines the dynamic-device-syntax rule to include/exclude devices. A filter can use device properties (such
* as extension attributes) to include/exclude them.
*/
deviceFilter?: NullableOption<ConditionalAccessFilter>;
}
export interface ConditionalAccessLocations {
// Location IDs excluded from scope of policy.
excludeLocations?: string[];
// Location IDs in scope of policy unless explicitly excluded, All, or AllTrusted.
includeLocations?: string[];
}
export interface ConditionalAccessPlatforms {
// Possible values are: android, iOS, windows, windowsPhone, macOS, linux, all, unknownFutureValue.
excludePlatforms?: ConditionalAccessDevicePlatform[];
// Possible values are: android, iOS, windows, windowsPhone, macOS, linux, all, unknownFutureValue.
includePlatforms?: ConditionalAccessDevicePlatform[];
}
export interface ConditionalAccessUsers {
// Group IDs excluded from scope of policy.
excludeGroups?: string[];
// Internal guests or external users excluded from the policy scope. Optionally populated.
excludeGuestsOrExternalUsers?: NullableOption<ConditionalAccessGuestsOrExternalUsers>;
// Role IDs excluded from scope of policy.
excludeRoles?: string[];
// User IDs excluded from scope of policy and/or GuestsOrExternalUsers.
excludeUsers?: string[];
// Group IDs in scope of policy unless explicitly excluded.
includeGroups?: string[];
// Internal guests or external users included in the policy scope. Optionally populated.
includeGuestsOrExternalUsers?: NullableOption<ConditionalAccessGuestsOrExternalUsers>;
// Role IDs in scope of policy unless explicitly excluded.
includeRoles?: string[];
// User IDs in scope of policy unless explicitly excluded, None, All, or GuestsOrExternalUsers.
includeUsers?: string[];
}
export interface ConditionalAccessFilter {
// Mode to use for the filter. Possible values are include or exclude.
mode?: FilterMode;
/**
* Rule syntax is similar to that used for membership rules for groups in Azure Active Directory (Azure AD). For details,
* see rules with multiple expressions
*/
rule?: string;
}
export interface ConditionalAccessEnumeratedExternalTenants extends ConditionalAccessExternalTenants {
/**
* A collection of tenant IDs that define the scope of a policy targeting conditional access for guests and external
* users.
*/
members?: string[];
}
export interface ConditionalAccessGrantControls {
/**
* List of values of built-in controls required by the policy. Possible values: block, mfa, compliantDevice,
* domainJoinedDevice, approvedApplication, compliantApplication, passwordChange, unknownFutureValue.
*/
builtInControls?: ConditionalAccessGrantControl[];
// List of custom controls IDs required by the policy. For more information, see Custom controls.
customAuthenticationFactors?: string[];
// Defines the relationship of the grant controls. Possible values: AND, OR.
operator?: NullableOption<string>;
// List of terms of use IDs required by the policy.
termsOfUse?: string[];
authenticationStrength?: NullableOption<AuthenticationStrengthPolicy>;
}
export interface ConditionalAccessGuestsOrExternalUsers {
/**
* The tenant IDs of the selected types of external users. Either all B2B tenant or a collection of tenant IDs. External
* tenants can be specified only when the property guestOrExternalUserTypes is not null or an empty String.
*/
externalTenants?: NullableOption<ConditionalAccessExternalTenants>;
/**
* Indicates internal guests or external user types. This is a multi-valued property. Possible values are: none,
* internalGuest, b2bCollaborationGuest, b2bCollaborationMember, b2bDirectConnectUser, otherExternalUser, serviceProvider,
* unknownFutureValue.
*/
guestOrExternalUserTypes?: ConditionalAccessGuestOrExternalUserTypes;
}
export interface ConditionalAccessPolicyDetail {
// Represents the type of conditions that govern when the policy applies.
conditions?: ConditionalAccessConditionSet;
// Represents grant controls that must be fulfilled for the policy.
grantControls?: NullableOption<ConditionalAccessGrantControls>;
// Represents a complex type of session controls that is enforced after sign-in.
sessionControls?: NullableOption<ConditionalAccessSessionControls>;
}
export interface ConditionalAccessSessionControls {
/**
* Session control to enforce application restrictions. Only Exchange Online and Sharepoint Online support this session
* control.
*/
applicationEnforcedRestrictions?: NullableOption<ApplicationEnforcedRestrictionsSessionControl>;
// Session control to apply cloud app security.
cloudAppSecurity?: NullableOption<CloudAppSecuritySessionControl>;
/**
* Session control that determines whether it is acceptable for Azure AD to extend existing sessions based on information
* collected prior to an outage or not.
*/
disableResilienceDefaults?: NullableOption<boolean>;
/**
* Session control to define whether to persist cookies or not. All apps should be selected for this session control to
* work correctly.
*/
persistentBrowser?: NullableOption<PersistentBrowserSessionControl>;
// Session control to enforce signin frequency.
signInFrequency?: NullableOption<SignInFrequencySessionControl>;
}
export interface PersistentBrowserSessionControl extends ConditionalAccessSessionControl {
// Possible values are: always, never.
mode?: NullableOption<PersistentBrowserSessionMode>;
}
export interface SignInFrequencySessionControl extends ConditionalAccessSessionControl {
// The possible values are primaryAndSecondaryAuthentication, secondaryAuthentication, unknownFutureValue.
authenticationType?: NullableOption<SignInFrequencyAuthenticationType>;
// The possible values are timeBased, everyTime, unknownFutureValue.
frequencyInterval?: NullableOption<SignInFrequencyInterval>;
// Possible values are: days, hours.
type?: NullableOption<SigninFrequencyType>;
// The number of days or hours.
value?: NullableOption<number>;
}
// tslint:disable-next-line: interface-name no-empty-interface
export interface IpRange {}
// tslint:disable-next-line: interface-name
export interface IPv4CidrRange extends IpRange {
// IPv4 address in CIDR notation. Not nullable.
cidrAddress?: string;
}
// tslint:disable-next-line: interface-name
export interface IPv6CidrRange extends IpRange {
// IPv6 address in CIDR notation. Not nullable.
cidrAddress?: string;
}
export interface RiskServicePrincipalActivity {
/**
* Details of the detected risk. Note: Details for this property are only available for Workload Identities Premium
* customers. Events in tenants without this license will be returned hidden. The possible values are: none, hidden,
* adminConfirmedServicePrincipalCompromised, adminDismissedAllRiskForServicePrincipal. Note that you must use the Prefer:
* include-unknown-enum-members request header to get the following value(s) in this evolvable enum:
* adminConfirmedServicePrincipalCompromised , adminDismissedAllRiskForServicePrincipal.
*/
detail?: NullableOption<RiskDetail>;
riskEventTypes?: NullableOption<string[]>;
}
export interface RiskUserActivity {
/**
* Details of the detected risk. Possible values are: none, adminGeneratedTemporaryPassword,
* userPerformedSecuredPasswordChange, userPerformedSecuredPasswordReset, adminConfirmedSigninSafe, aiConfirmedSigninSafe,
* userPassedMFADrivenByRiskBasedPolicy, adminDismissedAllRiskForUser, adminConfirmedSigninCompromised, hidden,
* adminConfirmedUserCompromised, unknownFutureValue.
*/
detail?: NullableOption<RiskDetail>;
// The type of risk event detected.
riskEventTypes?: NullableOption<string[]>;
}
export interface AccessPackageAnswer {
// The localized display value shown to the requestor and approvers.
displayValue?: NullableOption<string>;
answeredQuestion?: NullableOption<AccessPackageQuestion>;
}
export interface AccessPackageAnswerChoice {
/**
* The actual value of the selected choice. This is typically a string value which is understandable by applications.
* Required.
*/
actualValue?: NullableOption<string>;
// The text of the answer choice represented in a format for a specific locale.
localizations?: NullableOption<AccessPackageLocalizedText[]>;
text?: NullableOption<string>;
}
export interface AccessPackageLocalizedText {
/**
* The language code that text is in. For example, 'en-us'. The language component follows 2-letter codes as defined in
* ISO 639-1, and the country component follows 2-letter codes as defined in ISO 3166-1 alpha-2. Required.
*/
languageCode?: string;
// The question in the specific language. Required.
text?: NullableOption<string>;
}
export interface AccessPackageAnswerString extends AccessPackageAnswer {
// The value stored on the requestor's user profile, if this answer is configured to be stored as a specific attribute.
value?: NullableOption<string>;
}
export interface AccessPackageApprovalStage {
// The number of days that a request can be pending a response before it is automatically denied.
durationBeforeAutomaticDenial?: NullableOption<string>;
// If escalation is required, the time a request can be pending a response from a primary approver.
durationBeforeEscalation?: NullableOption<string>;
/**
* If escalation is enabled and the primary approvers do not respond before the escalation time, the escalationApprovers
* are the users who will be asked to approve requests.
*/
escalationApprovers?: NullableOption<SubjectSet[]>;
// The subjects, typically users, who are the fallback escalation approvers.
fallbackEscalationApprovers?: NullableOption<SubjectSet[]>;
// The subjects, typically users, who are the fallback primary approvers.
fallbackPrimaryApprovers?: NullableOption<SubjectSet[]>;
// Indicates whether the approver is required to provide a justification for approving a request.
isApproverJustificationRequired?: NullableOption<boolean>;
// If true, then one or more escalationApprovers are configured in this approval stage.
isEscalationEnabled?: NullableOption<boolean>;
/**
* The subjects, typically users, who will be asked to approve requests. A collection of singleUser, groupMembers,
* requestorManager, internalSponsors or externalSponsors.
*/
primaryApprovers?: NullableOption<SubjectSet[]>;
}
// tslint:disable-next-line: no-empty-interface
export interface SubjectSet {}
export interface AccessPackageAssignmentApprovalSettings {
// If false, then approval is not required for new requests in this policy.
isApprovalRequiredForAdd?: NullableOption<boolean>;
// If false, then approval is not required for updates to requests in this policy.
isApprovalRequiredForUpdate?: NullableOption<boolean>;
/**
* If approval is required, the one, two or three elements of this collection define each of the stages of approval. An
* empty array is present if no approval is required.
*/
stages?: NullableOption<AccessPackageApprovalStage[]>;
}
export interface AccessPackageAssignmentRequestorSettings {
// False indicates that the requestor is not permitted to include a schedule in their request.
allowCustomAssignmentSchedule?: NullableOption<boolean>;
// True allows on-behalf-of requestors to create a request to add access for another principal.
enableOnBehalfRequestorsToAddAccess?: NullableOption<boolean>;
// True allows on-behalf-of requestors to create a request to remove access for another principal.
enableOnBehalfRequestorsToRemoveAccess?: NullableOption<boolean>;
// True allows on-behalf-of requestors to create a request to update access for another principal.
enableOnBehalfRequestorsToUpdateAccess?: NullableOption<boolean>;
// True allows requestors to create a request to add access for themselves.
enableTargetsToSelfAddAccess?: NullableOption<boolean>;
// True allows requestors to create a request to remove their access.
enableTargetsToSelfRemoveAccess?: NullableOption<boolean>;
// True allows requestors to create a request to update their access.
enableTargetsToSelfUpdateAccess?: NullableOption<boolean>;
// The principals who can request on-behalf-of others.
onBehalfRequestors?: NullableOption<SubjectSet[]>;
}
export interface AccessPackageAssignmentRequestRequirements {
// Indicates whether the requestor is allowed to set a custom schedule.
allowCustomAssignmentSchedule?: NullableOption<boolean>;
// Indicates whether a request to add must be approved by an approver.
isApprovalRequiredForAdd?: NullableOption<boolean>;
// Indicates whether a request to update must be approved by an approver.
isApprovalRequiredForUpdate?: NullableOption<boolean>;
// The description of the policy that the user is trying to request access using.
policyDescription?: NullableOption<string>;
// The display name of the policy that the user is trying to request access using.
policyDisplayName?: NullableOption<string>;
/**
* The identifier of the policy that these requirements are associated with. This identifier can be used when creating a
* new assignment request.
*/
policyId?: NullableOption<string>;
// Schedule restrictions enforced, if any.
schedule?: NullableOption<EntitlementManagementSchedule>;
questions?: NullableOption<AccessPackageQuestion[]>;
}
export interface EntitlementManagementSchedule {
// When the access should expire.
expiration?: NullableOption<ExpirationPattern>;
// For recurring access reviews. Not used in access requests.
recurrence?: NullableOption<PatternedRecurrence>;
/**
* 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 is 2014-01-01T00:00:00Z.
*/
startDateTime?: NullableOption<string>;
}
export interface AccessPackageAssignmentReviewSettings {
/**
* The default decision to apply if the access is not reviewed. The possible values are: keepAccess, removeAccess,
* acceptAccessRecommendation, unknownFutureValue.
*/
expirationBehavior?: NullableOption<AccessReviewExpirationBehavior>;
// This collection specifies the users who will be the fallback reviewers when the primary reviewers don't respond.
fallbackReviewers?: NullableOption<SubjectSet[]>;
// If true, access reviews are required for assignments through this policy.
isEnabled?: NullableOption<boolean>;
// Specifies whether to display recommendations to the reviewer. The default value is true.
isRecommendationEnabled?: NullableOption<boolean>;
// Specifies whether the reviewer must provide justification for the approval. The default value is true.
isReviewerJustificationRequired?: NullableOption<boolean>;
// Specifies whether the principals can review their own assignments.
isSelfReview?: NullableOption<boolean>;
// This collection specifies the users or group of users who will review the access package assignments.
primaryReviewers?: NullableOption<SubjectSet[]>;
// When the first review should start and how often it should recur.
schedule?: NullableOption<EntitlementManagementSchedule>;
}
export interface AccessPackageAutomaticRequestSettings {
gracePeriodBeforeAccessRemoval?: NullableOption<string>;
removeAccessWhenTargetLeavesAllowedTargets?: NullableOption<boolean>;
// If set to true, automatic assignments will be created for targets in the allowed target scope.
requestAccessForAllowedTargets?: NullableOption<boolean>;
}
export interface AttributeRuleMembers extends SubjectSet {
// A description of the membership rule.
description?: NullableOption<string>;
/**
* Determines the allowed target users for this policy. For more information about the syntax of the membership rule, see
* Membership Rules syntax.
*/
membershipRule?: NullableOption<string>;
}
export interface ConnectedOrganizationMembers extends SubjectSet {
// The ID of the connected organization in entitlement management.
connectedOrganizationId?: NullableOption<string>;
// The name of the connected organization.
description?: NullableOption<string>;
}
export interface ConnectionInfo {
// The endpoint that is used by Entitlement Management to communicate with the access package resource.
url?: NullableOption<string>;
}
export interface ExpirationPattern {
/**
* The requestor's desired duration of access represented in ISO 8601 format for durations. For example, PT3H refers to
* three hours. If specified in a request, endDateTime should not be present and the type property should be set to
* afterDuration.
*/
duration?: NullableOption<string>;
/**
* Timestamp of date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on
* Jan 1, 2014 is 2014-01-01T00:00:00Z.
*/
endDateTime?: NullableOption<string>;
/**
* The requestor's desired expiration pattern type. The possible values are: notSpecified, noExpiration, afterDateTime,
* afterDuration.
*/
type?: NullableOption<ExpirationPatternType>;
}
// tslint:disable-next-line: no-empty-interface
export interface ExternalSponsors extends SubjectSet {}
export interface GroupMembers extends SubjectSet {
// The name of the group in Azure AD. Read only.
description?: NullableOption<string>;
// The ID of the group in Azure AD.
groupId?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name no-empty-interface
export interface InternalSponsors extends SubjectSet {}
export interface RequestorManager extends SubjectSet {
/**
* The hierarchical level of the manager with respect to the requestor. For example, the direct manager of a requestor
* would have a managerLevel of 1, while the manager of the requestor's manager would have a managerLevel of 2. Default
* value for managerLevel is 1. Possible values for this property range from 1 to 2.
*/
managerLevel?: NullableOption<number>;
}
export interface SingleServicePrincipal extends SubjectSet {
// Description of this service principal.
description?: NullableOption<string>;
// ID of the servicePrincipal.
servicePrincipalId?: NullableOption<string>;
}
export interface SingleUser extends SubjectSet {
// The name of the user in Azure AD. Read only.
description?: NullableOption<string>;
// The ID of the user in Azure AD.
userId?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface TargetApplicationOwners extends SubjectSet {}
export interface TargetManager extends SubjectSet {
// Manager level, between 1 and 4. The direct manager is 1.
managerLevel?: NullableOption<number>;
}
// tslint:disable-next-line: interface-name no-empty-interface
export interface IdentitySource {}
export interface AzureActiveDirectoryTenant extends IdentitySource {
// The name of the Azure Active Directory tenant. Read only.
displayName?: NullableOption<string>;
// The ID of the Azure Active Directory tenant. Read only.
tenantId?: NullableOption<string>;
}
export interface CrossCloudAzureActiveDirectoryTenant extends IdentitySource {
/**
* The ID of the cloud where the tenant is located, one of microsoftonline.com, microsoftonline.us or
* partner.microsoftonline.cn. Read only.
*/
cloudInstance?: string;
// The name of the Azure Active Directory tenant. Read only.
displayName?: NullableOption<string>;
// The ID of the Azure Active Directory tenant. Read only.
tenantId?: NullableOption<string>;
}
export interface DomainIdentitySource extends IdentitySource {
// The name of the identity source, typically also the domain name. Read only.
displayName?: NullableOption<string>;
// The domain name. Read only.
domainName?: NullableOption<string>;
}
export interface ExternalDomainFederation extends IdentitySource {
// The name of the identity source, typically also the domain name. Read only.
displayName?: NullableOption<string>;
// The domain name. Read only.
domainName?: NullableOption<string>;
// The issuerURI of the incoming federation. Read only.
issuerUri?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface DeviceAndAppManagementAssignmentTarget {}
// tslint:disable-next-line: no-empty-interface
export interface AllDevicesAssignmentTarget extends DeviceAndAppManagementAssignmentTarget {}
// tslint:disable-next-line: no-empty-interface
export interface AllLicensedUsersAssignmentTarget extends DeviceAndAppManagementAssignmentTarget {}
export interface AndroidMinimumOperatingSystem {
/**
* When TRUE, only Version 10.0 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v10_0?: boolean;
/**
* When TRUE, only Version 11.0 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v11_0?: boolean;
/**
* When TRUE, only Version 4.0 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v4_0?: boolean;
/**
* When TRUE, only Version 4.0.3 or later is supported. Default value is FALSE. Exactly one of the minimum operating
* system boolean values will be TRUE.
*/
v4_0_3?: boolean;
/**
* When TRUE, only Version 4.1 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v4_1?: boolean;
/**
* When TRUE, only Version 4.2 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v4_2?: boolean;
/**
* When TRUE, only Version 4.3 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v4_3?: boolean;
/**
* When TRUE, only Version 4.4 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v4_4?: boolean;
/**
* When TRUE, only Version 5.0 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v5_0?: boolean;
/**
* When TRUE, only Version 5.1 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v5_1?: boolean;
/**
* When TRUE, only Version 6.0 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v6_0?: boolean;
/**
* When TRUE, only Version 7.0 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v7_0?: boolean;
/**
* When TRUE, only Version 7.1 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v7_1?: boolean;
/**
* When TRUE, only Version 8.0 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v8_0?: boolean;
/**
* When TRUE, only Version 8.1 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v8_1?: boolean;
/**
* When TRUE, only Version 9.0 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v9_0?: boolean;
}
export interface AppConfigurationSettingItem {
// app configuration key.
appConfigKey?: string;
// app configuration key type. Possible values are: stringType, integerType, realType, booleanType, tokenType.
appConfigKeyType?: MdmAppConfigKeyType;
// app configuration key value.
appConfigKeyValue?: string;
}
export interface ConfigurationManagerCollectionAssignmentTarget extends DeviceAndAppManagementAssignmentTarget {
// The collection Id that is the target of the assignment.
collectionId?: NullableOption<string>;
}
export interface GroupAssignmentTarget extends DeviceAndAppManagementAssignmentTarget {
// The group Id that is the target of the assignment.
groupId?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface ExclusionGroupAssignmentTarget extends GroupAssignmentTarget {}
export interface FileEncryptionInfo {
// The key used to encrypt the file content.
encryptionKey?: NullableOption<string>;
// The file digest prior to encryption. ProfileVersion1 requires a non-null FileDigest.
fileDigest?: NullableOption<string>;
// The file digest algorithm. ProfileVersion1 currently only supports SHA256 for the FileDigestAlgorithm.
fileDigestAlgorithm?: NullableOption<string>;
// The initialization vector (IV) used for the encryption algorithm. Must be 16 bytes.
initializationVector?: NullableOption<string>;
// The hash of the concatenation of the IV and encrypted file content. Must be 32 bytes.
mac?: NullableOption<string>;
/**
* The key used to compute the message authentication code of the concatenation of the IV and encrypted file content. Must
* be 32 bytes.
*/
macKey?: NullableOption<string>;
// The profile identifier. Maps to the strategy used to encrypt the file. Currently, only ProfileVersion1 is supported.
profileIdentifier?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
export interface IosDeviceType {
// Whether the app should run on iPads.
iPad?: boolean;
// Whether the app should run on iPhones and iPods.
iPhoneAndIPod?: boolean;
}
// tslint:disable-next-line: no-empty-interface
export interface MobileAppAssignmentSettings {}
// tslint:disable-next-line: interface-name
export interface IosLobAppAssignmentSettings extends MobileAppAssignmentSettings {
/**
* When TRUE, indicates that the app can be uninstalled by the user. When FALSE, indicates that the app cannot be
* uninstalled by the user. By default, this property is set to null which internally is treated as TRUE.
*/
isRemovable?: NullableOption<boolean>;
/**
* When TRUE, indicates that the app should be uninstalled when the device is removed from Intune. When FALSE, indicates
* that the app will not be uninstalled when the device is removed from Intune. By default, property is set to null which
* internally is treated as TRUE.
*/
uninstallOnDeviceRemoval?: NullableOption<boolean>;
// This is the unique identifier (Id) of the VPN Configuration to apply to the app.
vpnConfigurationId?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
export interface IosMinimumOperatingSystem {
/**
* When TRUE, only Version 10.0 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v10_0?: boolean;
/**
* When TRUE, only Version 11.0 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v11_0?: boolean;
/**
* When TRUE, only Version 12.0 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v12_0?: boolean;
/**
* When TRUE, only Version 13.0 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v13_0?: boolean;
/**
* When TRUE, only Version 14.0 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v14_0?: boolean;
/**
* When TRUE, only Version 15.0 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v15_0?: boolean;
/**
* When TRUE, only Version 8.0 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v8_0?: boolean;
/**
* When TRUE, only Version 9.0 or later is supported. Default value is FALSE. Exactly one of the minimum operating system
* boolean values will be TRUE.
*/
v9_0?: boolean;
}
// tslint:disable-next-line: interface-name
export interface IosStoreAppAssignmentSettings extends MobileAppAssignmentSettings {
// The VPN Configuration Id to apply for this app.
vpnConfigurationId?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
export interface IosVppAppAssignmentSettings extends MobileAppAssignmentSettings {
// Whether or not to use device licensing.
useDeviceLicensing?: boolean;
// The VPN Configuration Id to apply for this app.
vpnConfigurationId?: NullableOption<string>;
}
export interface MacOsLobAppAssignmentSettings extends MobileAppAssignmentSettings {
/**
* When TRUE, indicates that the app should be uninstalled when the device is removed from Intune. When FALSE, indicates
* that the app will not be uninstalled when the device is removed from Intune.
*/
uninstallOnDeviceRemoval?: NullableOption<boolean>;
}
export interface MacOSLobChildApp {
// The build number of the app.
buildNumber?: NullableOption<string>;
// The bundleId of the app.
bundleId?: NullableOption<string>;
// The version number of the app.
versionNumber?: NullableOption<string>;
}
export interface MacOSMinimumOperatingSystem {
/**
* When TRUE, indicates OS X 10.10 or later is required to install the app. When FALSE, indicates some other OS version is
* the minimum OS to install the app. Default value is FALSE.
*/
v10_10?: boolean;
/**
* When TRUE, indicates OS X 10.11 or later is required to install the app. When FALSE, indicates some other OS version is
* the minimum OS to install the app. Default value is FALSE.
*/
v10_11?: boolean;
/**
* When TRUE, indicates macOS 10.12 or later is required to install the app. When FALSE, indicates some other OS version
* is the minimum OS to install the app. Default value is FALSE.
*/
v10_12?: boolean;
/**
* When TRUE, indicates macOS 10.13 or later is required to install the app. When FALSE, indicates some other OS version
* is the minimum OS to install the app. Default value is FALSE.
*/
v10_13?: boolean;
/**
* When TRUE, indicates macOS 10.14 or later is required to install the app. When FALSE, indicates some other OS version
* is the minimum OS to install the app. Default value is FALSE.
*/
v10_14?: boolean;
/**
* When TRUE, indicates macOS 10.15 or later is required to install the app. When FALSE, indicates some other OS version
* is the minimum OS to install the app. Default value is FALSE.
*/
v10_15?: boolean;
/**
* When TRUE, indicates Mac OS X 10.7 or later is required to install the app. When FALSE, indicates some other OS version
* is the minimum OS to install the app. Default value is FALSE.
*/
v10_7?: boolean;
/**
* When TRUE, indicates OS X 10.8 or later is required to install the app. When FALSE, indicates some other OS version is
* the minimum OS to install the app. Default value is FALSE.
*/
v10_8?: boolean;
/**
* When TRUE, indicates OS X 10.9 or later is required to install the app. When FALSE, indicates some other OS version is
* the minimum OS to install the app. Default value is FALSE.
*/
v10_9?: boolean;
/**
* When TRUE, indicates macOS 11.0 or later is required to install the app. When FALSE, indicates some other OS version is
* the minimum OS to install the app. Default value is FALSE.
*/
v11_0?: boolean;
/**
* When TRUE, indicates macOS 12.0 or later is required to install the app. When FALSE, indicates some other OS version is
* the minimum OS to install the app. Default value is FALSE.
*/
v12_0?: boolean;
/**
* When TRUE, indicates macOS 13.0 or later is required to install the app. When FALSE, indicates some other OS version is
* the minimum OS to install the app. Default value is FALSE.
*/
v13_0?: boolean;
}
export interface MicrosoftStoreForBusinessAppAssignmentSettings extends MobileAppAssignmentSettings {
// Whether or not to use device execution context for Microsoft Store for Business mobile app.
useDeviceContext?: boolean;
}
export interface MimeContent {
// Indicates the content mime type.
type?: NullableOption<string>;
// The byte array that contains the actual content.
value?: NullableOption<string>;
}
export interface MobileAppInstallTimeSettings {
// The time at which the app should be installed.
deadlineDateTime?: NullableOption<string>;
// The time at which the app should be available for installation.
startDateTime?: NullableOption<string>;
// Whether the local device time or UTC time should be used when determining the available and deadline times.
useLocalTime?: boolean;
}
export interface VppLicensingType {
// Whether the program supports the device licensing type.
supportsDeviceLicensing?: boolean;
// Whether the program supports the user licensing type.
supportsUserLicensing?: boolean;
}
export interface Win32LobAppAssignmentSettings extends MobileAppAssignmentSettings {
/**
* The delivery optimization priority for this app assignment. This setting is not supported in National Cloud
* environments. Possible values are: notConfigured, foreground.
*/
deliveryOptimizationPriority?: Win32LobAppDeliveryOptimizationPriority;
// The install time settings to apply for this app assignment.
installTimeSettings?: NullableOption<MobileAppInstallTimeSettings>;
// The notification status for this app assignment. Possible values are: showAll, showReboot, hideAll.
notifications?: Win32LobAppNotification;
// The reboot settings to apply for this app assignment.
restartSettings?: NullableOption<Win32LobAppRestartSettings>;
}
export interface Win32LobAppRestartSettings {
// The number of minutes before the restart time to display the countdown dialog for pending restarts.
countdownDisplayBeforeRestartInMinutes?: number;
// The number of minutes to wait before restarting the device after an app installation.
gracePeriodInMinutes?: number;
// The number of minutes to snooze the restart notification dialog when the snooze button is selected.
restartNotificationSnoozeDurationInMinutes?: NullableOption<number>;
}
export interface Win32LobAppRule {
// The rule type indicating the purpose of the rule. Possible values are: detection, requirement.
ruleType?: Win32LobAppRuleType;
}
export interface Win32LobAppFileSystemRule extends Win32LobAppRule {
// A value indicating whether to expand environment variables in the 32-bit context on 64-bit systems.
check32BitOn64System?: boolean;
// The file or folder comparison value.
comparisonValue?: NullableOption<string>;
// The file or folder name to look up.
fileOrFolderName?: NullableOption<string>;
/**
* The file system operation type. Possible values are: notConfigured, exists, modifiedDate, createdDate, version,
* sizeInMB.
*/
operationType?: Win32LobAppFileSystemOperationType;
/**
* The operator for file or folder detection. Possible values are: notConfigured, equal, notEqual, greaterThan,
* greaterThanOrEqual, lessThan, lessThanOrEqual.
*/
operator?: Win32LobAppRuleOperator;
// The file or folder path to look up.
path?: NullableOption<string>;
}
export interface Win32LobAppInstallExperience {
// Device restart behavior. Possible values are: basedOnReturnCode, allow, suppress, force.
deviceRestartBehavior?: Win32LobAppRestartBehavior;
// Indicates the type of execution context the app runs in. Possible values are: system, user.
runAsAccount?: RunAsAccountType;
}
export interface Win32LobAppMsiInformation {
// The MSI package type. Possible values are: perMachine, perUser, dualPurpose.
packageType?: Win32LobAppMsiPackageType;
// The MSI product code.
productCode?: NullableOption<string>;
// The MSI product name.
productName?: NullableOption<string>;
// The MSI product version.
productVersion?: NullableOption<string>;
// The MSI publisher.
publisher?: NullableOption<string>;
// Whether the MSI app requires the machine to reboot to complete installation.
requiresReboot?: boolean;
// The MSI upgrade code.
upgradeCode?: NullableOption<string>;
}
export interface Win32LobAppPowerShellScriptRule extends Win32LobAppRule {
// The script output comparison value. Do not specify a value if the rule is used for detection.
comparisonValue?: NullableOption<string>;
// The display name for the rule. Do not specify this value if the rule is used for detection.
displayName?: NullableOption<string>;
// A value indicating whether a signature check is enforced.
enforceSignatureCheck?: boolean;
/**
* The script output comparison operation type. Use NotConfigured (the default value) if the rule is used for detection.
* Possible values are: notConfigured, string, dateTime, integer, float, version, boolean.
*/
operationType?: Win32LobAppPowerShellScriptRuleOperationType;
/**
* The script output operator. Use NotConfigured (the default value) if the rule is used for detection. Possible values
* are: notConfigured, equal, notEqual, greaterThan, greaterThanOrEqual, lessThan, lessThanOrEqual.
*/
operator?: Win32LobAppRuleOperator;
// A value indicating whether the script should run as 32-bit.
runAs32Bit?: boolean;
/**
* The execution context of the script. Do not specify this value if the rule is used for detection. Script detection
* rules will run in the same context as the associated app install context. Possible values are: system, user.
*/
runAsAccount?: NullableOption<RunAsAccountType>;
// The base64-encoded script content.
scriptContent?: NullableOption<string>;
}
export interface Win32LobAppProductCodeRule extends Win32LobAppRule {
// The product code of the app.
productCode?: NullableOption<string>;
// The product version comparison value.
productVersion?: NullableOption<string>;
/**
* The product version comparison operator. Possible values are: notConfigured, equal, notEqual, greaterThan,
* greaterThanOrEqual, lessThan, lessThanOrEqual.
*/
productVersionOperator?: Win32LobAppRuleOperator;
}
export interface Win32LobAppRegistryRule extends Win32LobAppRule {
// A value indicating whether to search the 32-bit registry on 64-bit systems.
check32BitOn64System?: boolean;
// The registry comparison value.
comparisonValue?: NullableOption<string>;
// The full path of the registry entry containing the value to detect.
keyPath?: NullableOption<string>;
// The registry operation type. Possible values are: notConfigured, exists, doesNotExist, string, integer, version.
operationType?: Win32LobAppRegistryRuleOperationType;
/**
* The operator for registry detection. Possible values are: notConfigured, equal, notEqual, greaterThan,
* greaterThanOrEqual, lessThan, lessThanOrEqual.
*/
operator?: Win32LobAppRuleOperator;
// The name of the registry value to detect.
valueName?: NullableOption<string>;
}
export interface Win32LobAppReturnCode {
// Return code.
returnCode?: number;
// The type of return code. Possible values are: failed, success, softReboot, hardReboot, retry.
type?: Win32LobAppReturnCodeType;
}
export interface WindowsAppXAppAssignmentSettings extends MobileAppAssignmentSettings {
/**
* When TRUE, indicates that device execution context will be used for the AppX mobile app. When FALSE, indicates that
* user context will be used for the AppX mobile app. By default, this property is set to FALSE. Once this property has
* been set to TRUE it cannot be changed.
*/
useDeviceContext?: boolean;
}
export interface WindowsMinimumOperatingSystem {
// Windows version 10.0 or later.
v10_0?: boolean;
// Windows version 8.0 or later.
v8_0?: boolean;
// Windows version 8.1 or later.
v8_1?: boolean;
}
export interface WindowsUniversalAppXAppAssignmentSettings extends MobileAppAssignmentSettings {
/**
* If true, uses device execution context for Windows Universal AppX mobile app. Device-context install is not allowed
* when this type of app is targeted with Available intent. Defaults to false.
*/
useDeviceContext?: boolean;
}
export interface AuditActor {
// Name of the Application.
applicationDisplayName?: NullableOption<string>;
// AAD Application Id.
applicationId?: NullableOption<string>;
// Actor Type.
auditActorType?: NullableOption<string>;
// IPAddress.
ipAddress?: NullableOption<string>;
// Service Principal Name (SPN).
servicePrincipalName?: NullableOption<string>;
// User Id.
userId?: NullableOption<string>;
// List of user permissions when the audit was performed.
userPermissions?: NullableOption<string[]>;
// User Principal Name (UPN).
userPrincipalName?: NullableOption<string>;
}
export interface AuditProperty {
// Display name.
displayName?: NullableOption<string>;
// New value.
newValue?: NullableOption<string>;
// Old value.
oldValue?: NullableOption<string>;
}
export interface AuditResource {
// Audit resource's type.
auditResourceType?: NullableOption<string>;
// Display name.
displayName?: NullableOption<string>;
// List of modified properties.
modifiedProperties?: NullableOption<AuditProperty[]>;
// Audit resource's Id.
resourceId?: NullableOption<string>;
}
export interface DeviceManagementSettings {
// The number of days a device is allowed to go without checking in to remain compliant.
deviceComplianceCheckinThresholdDays?: number;
// Is feature enabled or not for scheduled action for rule.
isScheduledActionEnabled?: boolean;
// Device should be noncompliant when there is no compliance policy targeted when this is true
secureByDefault?: boolean;
}
// tslint:disable-next-line: interface-name
export interface IntuneBrand {
// Email address of the person/organization responsible for IT support.
contactITEmailAddress?: NullableOption<string>;
// Name of the person/organization responsible for IT support.
contactITName?: NullableOption<string>;
// Text comments regarding the person/organization responsible for IT support.
contactITNotes?: NullableOption<string>;
// Phone number of the person/organization responsible for IT support.
contactITPhoneNumber?: NullableOption<string>;
// Logo image displayed in Company Portal apps which have a dark background behind the logo.
darkBackgroundLogo?: NullableOption<MimeContent>;
// Company/organization name that is displayed to end users.
displayName?: NullableOption<string>;
// Logo image displayed in Company Portal apps which have a light background behind the logo.
lightBackgroundLogo?: NullableOption<MimeContent>;
// Display name of the company/organizations IT helpdesk site.
onlineSupportSiteName?: NullableOption<string>;
// URL to the company/organizations IT helpdesk site.
onlineSupportSiteUrl?: NullableOption<string>;
// URL to the company/organizations privacy policy.
privacyUrl?: NullableOption<string>;
// Boolean that represents whether the administrator-supplied display name will be shown next to the logo image.
showDisplayNameNextToLogo?: boolean;
// Boolean that represents whether the administrator-supplied logo images are shown or not shown.
showLogo?: boolean;
// Boolean that represents whether the administrator-supplied display name will be shown next to the logo image.
showNameNextToLogo?: boolean;
// Primary theme color used in the Company Portal applications and web portal.
themeColor?: NullableOption<RgbColor>;
}
export interface AppListItem {
// The application or bundle identifier of the application
appId?: NullableOption<string>;
// The Store URL of the application
appStoreUrl?: NullableOption<string>;
// The application name
name?: string;
// The publisher of the application
publisher?: NullableOption<string>;
}
export interface BitLockerRemovableDrivePolicy {
/**
* This policy setting determines whether BitLocker protection is required for removable data drives to be writable on a
* computer.
*/
blockCrossOrganizationWriteAccess?: boolean;
// Select the encryption method for removable drives. Possible values are: aesCbc128, aesCbc256, xtsAes128, xtsAes256.
encryptionMethod?: NullableOption<BitLockerEncryptionMethod>;
/**
* Indicates whether to block write access to devices configured in another organization. If
* requireEncryptionForWriteAccess is false, this value does not affect.
*/
requireEncryptionForWriteAccess?: boolean;
}
export interface DefenderDetectedMalwareActions {
/**
* Indicates a Defender action to take for high severity Malware threat detected. Possible values are: deviceDefault,
* clean, quarantine, remove, allow, userDefined, block.
*/
highSeverity?: DefenderThreatAction;
/**
* Indicates a Defender action to take for low severity Malware threat detected. Possible values are: deviceDefault,
* clean, quarantine, remove, allow, userDefined, block.
*/
lowSeverity?: DefenderThreatAction;
/**
* Indicates a Defender action to take for moderate severity Malware threat detected. Possible values are: deviceDefault,
* clean, quarantine, remove, allow, userDefined, block.
*/
moderateSeverity?: DefenderThreatAction;
/**
* Indicates a Defender action to take for severe severity Malware threat detected. Possible values are: deviceDefault,
* clean, quarantine, remove, allow, userDefined, block.
*/
severeSeverity?: DefenderThreatAction;
}
export interface DeviceCompliancePolicySettingState {
// Current value of setting on device
currentValue?: NullableOption<string>;
// Error code for the setting
errorCode?: number;
// Error description
errorDescription?: NullableOption<string>;
// Name of setting instance that is being reported.
instanceDisplayName?: NullableOption<string>;
// The setting that is being reported
setting?: NullableOption<string>;
// Localized/user friendly setting name that is being reported
settingName?: NullableOption<string>;
// Contributing policies
sources?: NullableOption<SettingSource[]>;
/**
* The compliance state of the setting. Possible values are: unknown, notApplicable, compliant, remediated, nonCompliant,
* error, conflict, notAssigned.
*/
state?: ComplianceStatus;
// UserEmail
userEmail?: NullableOption<string>;
// UserId
userId?: NullableOption<string>;
// UserName
userName?: NullableOption<string>;
// UserPrincipalName.
userPrincipalName?: NullableOption<string>;
}
export interface SettingSource {
// Not yet documented
displayName?: NullableOption<string>;
// Not yet documented
id?: NullableOption<string>;
// Not yet documented. Possible values are: deviceConfiguration, deviceIntent.
sourceType?: SettingSourceType;
}
export interface DeviceConfigurationSettingState {
// Current value of setting on device
currentValue?: NullableOption<string>;
// Error code for the setting
errorCode?: number;
// Error description
errorDescription?: NullableOption<string>;
// Name of setting instance that is being reported.
instanceDisplayName?: NullableOption<string>;
// The setting that is being reported
setting?: NullableOption<string>;
// Localized/user friendly setting name that is being reported
settingName?: NullableOption<string>;
// Contributing policies
sources?: NullableOption<SettingSource[]>;
/**
* The compliance state of the setting. Possible values are: unknown, notApplicable, compliant, remediated, nonCompliant,
* error, conflict, notAssigned.
*/
state?: ComplianceStatus;
// UserEmail
userEmail?: NullableOption<string>;
// UserId
userId?: NullableOption<string>;
// UserName
userName?: NullableOption<string>;
// UserPrincipalName.
userPrincipalName?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface EdgeSearchEngineBase {}
export interface EdgeSearchEngine extends EdgeSearchEngineBase {
/**
* Allows IT admins to set a predefined default search engine for MDM-Controlled devices. Possible values are: default,
* bing.
*/
edgeSearchEngineType?: EdgeSearchEngineType;
}
export interface EdgeSearchEngineCustom extends EdgeSearchEngineBase {
/**
* Points to a https link containing the OpenSearch xml file that contains, at minimum, the short name and the URL to the
* search Engine.
*/
edgeSearchEngineOpenSearchXmlUrl?: string;
}
// tslint:disable-next-line: interface-name
export interface IosHomeScreenItem {
// Name of the app
displayName?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
export interface IosHomeScreenApp extends IosHomeScreenItem {
// BundleID of the app if isWebClip is false or the URL of a web clip if isWebClip is true.
bundleID?: string;
}
// tslint:disable-next-line: interface-name
export interface IosHomeScreenFolder extends IosHomeScreenItem {
/**
* Pages of Home Screen Layout Icons which must be applications or web clips. This collection can contain a maximum of 500
* elements.
*/
pages?: IosHomeScreenFolderPage[];
}
// tslint:disable-next-line: interface-name
export interface IosHomeScreenFolderPage {
/**
* A list of apps and web clips to appear on a page within a folder. This collection can contain a maximum of 500
* elements.
*/
apps?: IosHomeScreenApp[];
// Name of the folder page
displayName?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
export interface IosHomeScreenPage {
// Name of the page
displayName?: NullableOption<string>;
// A list of apps, folders, and web clips to appear on a page. This collection can contain a maximum of 500 elements.
icons?: IosHomeScreenItem[];
}
// tslint:disable-next-line: interface-name
export interface IosNetworkUsageRule {
// If set to true, corresponding managed apps will not be allowed to use cellular data at any time.
cellularDataBlocked?: boolean;
// If set to true, corresponding managed apps will not be allowed to use cellular data when roaming.
cellularDataBlockWhenRoaming?: boolean;
/**
* Information about the managed apps that this rule is going to apply to. This collection can contain a maximum of 500
* elements.
*/
managedApps?: NullableOption<AppListItem[]>;
}
// tslint:disable-next-line: interface-name
export interface IosNotificationSettings {
// Indicates the type of alert for notifications for this app. Possible values are: deviceDefault, banner, modal, none.
alertType?: IosNotificationAlertType;
// Application name to be associated with the bundleID.
appName?: NullableOption<string>;
// Indicates whether badges are allowed for this app.
badgesEnabled?: NullableOption<boolean>;
// Bundle id of app to which to apply these notification settings.
bundleID?: string;
// Indicates whether notifications are allowed for this app.
enabled?: NullableOption<boolean>;
// Publisher to be associated with the bundleID.
publisher?: NullableOption<string>;
// Indicates whether notifications can be shown in notification center.
showInNotificationCenter?: NullableOption<boolean>;
// Indicates whether notifications can be shown on the lock screen.
showOnLockScreen?: NullableOption<boolean>;
// Indicates whether sounds are allowed for this app.
soundsEnabled?: NullableOption<boolean>;
}
export interface MediaContentRatingAustralia {
/**
* Movies rating selected for Australia. Possible values are: allAllowed, allBlocked, general, parentalGuidance, mature,
* agesAbove15, agesAbove18.
*/
movieRating?: RatingAustraliaMoviesType;
/**
* TV rating selected for Australia. Possible values are: allAllowed, allBlocked, preschoolers, children, general,
* parentalGuidance, mature, agesAbove15, agesAbove15AdultViolence.
*/
tvRating?: RatingAustraliaTelevisionType;
}
export interface MediaContentRatingCanada {
/**
* Movies rating selected for Canada. Possible values are: allAllowed, allBlocked, general, parentalGuidance, agesAbove14,
* agesAbove18, restricted.
*/
movieRating?: RatingCanadaMoviesType;
/**
* TV rating selected for Canada. Possible values are: allAllowed, allBlocked, children, childrenAbove8, general,
* parentalGuidance, agesAbove14, agesAbove18.
*/
tvRating?: RatingCanadaTelevisionType;
}
export interface MediaContentRatingFrance {
/**
* Movies rating selected for France. Possible values are: allAllowed, allBlocked, agesAbove10, agesAbove12, agesAbove16,
* agesAbove18.
*/
movieRating?: RatingFranceMoviesType;
/**
* TV rating selected for France. Possible values are: allAllowed, allBlocked, agesAbove10, agesAbove12, agesAbove16,
* agesAbove18.
*/
tvRating?: RatingFranceTelevisionType;
}
export interface MediaContentRatingGermany {
/**
* Movies rating selected for Germany. Possible values are: allAllowed, allBlocked, general, agesAbove6, agesAbove12,
* agesAbove16, adults.
*/
movieRating?: RatingGermanyMoviesType;
/**
* TV rating selected for Germany. Possible values are: allAllowed, allBlocked, general, agesAbove6, agesAbove12,
* agesAbove16, adults.
*/
tvRating?: RatingGermanyTelevisionType;
}
export interface MediaContentRatingIreland {
/**
* Movies rating selected for Ireland. Possible values are: allAllowed, allBlocked, general, parentalGuidance,
* agesAbove12, agesAbove15, agesAbove16, adults.
*/
movieRating?: RatingIrelandMoviesType;
/**
* TV rating selected for Ireland. Possible values are: allAllowed, allBlocked, general, children, youngAdults,
* parentalSupervision, mature.
*/
tvRating?: RatingIrelandTelevisionType;
}
export interface MediaContentRatingJapan {
/**
* Movies rating selected for Japan. Possible values are: allAllowed, allBlocked, general, parentalGuidance, agesAbove15,
* agesAbove18.
*/
movieRating?: RatingJapanMoviesType;
// TV rating selected for Japan. Possible values are: allAllowed, allBlocked, explicitAllowed.
tvRating?: RatingJapanTelevisionType;
}
export interface MediaContentRatingNewZealand {
/**
* Movies rating selected for New Zealand. Possible values are: allAllowed, allBlocked, general, parentalGuidance, mature,
* agesAbove13, agesAbove15, agesAbove16, agesAbove18, restricted, agesAbove16Restricted.
*/
movieRating?: RatingNewZealandMoviesType;
// TV rating selected for New Zealand. Possible values are: allAllowed, allBlocked, general, parentalGuidance, adults.
tvRating?: RatingNewZealandTelevisionType;
}
export interface MediaContentRatingUnitedKingdom {
/**
* Movies rating selected for United Kingdom. Possible values are: allAllowed, allBlocked, general, universalChildren,
* parentalGuidance, agesAbove12Video, agesAbove12Cinema, agesAbove15, adults.
*/
movieRating?: RatingUnitedKingdomMoviesType;
// TV rating selected for United Kingdom. Possible values are: allAllowed, allBlocked, caution.
tvRating?: RatingUnitedKingdomTelevisionType;
}
export interface MediaContentRatingUnitedStates {
/**
* Movies rating selected for United States. Possible values are: allAllowed, allBlocked, general, parentalGuidance,
* parentalGuidance13, restricted, adults.
*/
movieRating?: RatingUnitedStatesMoviesType;
/**
* TV rating selected for United States. Possible values are: allAllowed, allBlocked, childrenAll, childrenAbove7,
* general, parentalGuidance, childrenAbove14, adults.
*/
tvRating?: RatingUnitedStatesTelevisionType;
}
export interface OmaSetting {
// Description.
description?: NullableOption<string>;
// Display Name.
displayName?: string;
// OMA.
omaUri?: string;
}
export interface OmaSettingBase64 extends OmaSetting {
// File name associated with the Value property (.cer
fileName?: NullableOption<string>;
// Value. (Base64 encoded string)
value?: string;
}
export interface OmaSettingBoolean extends OmaSetting {
// Value.
value?: boolean;
}
export interface OmaSettingDateTime extends OmaSetting {
// Value.
value?: string;
}
export interface OmaSettingFloatingPoint extends OmaSetting {
// Value.
value?: number;
}
export interface OmaSettingInteger extends OmaSetting {
// Value.
value?: number;
}
export interface OmaSettingString extends OmaSetting {
// Value.
value?: string;
}
export interface OmaSettingStringXml extends OmaSetting {
// File name associated with the Value property (.xml).
fileName?: NullableOption<string>;
// Value. (UTF8 encoded byte array)
value?: string;
}
export interface Report {
// Not yet documented
content?: NullableOption<any>;
}
export interface SharedPCAccountManagerPolicy {
/**
* Configures when accounts are deleted. Possible values are: immediate, diskSpaceThreshold,
* diskSpaceThresholdOrInactiveThreshold.
*/
accountDeletionPolicy?: SharedPCAccountDeletionPolicyType;
/**
* Sets the percentage of available disk space a PC should have before it stops deleting cached shared PC accounts. Only
* applies when AccountDeletionPolicy is DiskSpaceThreshold or DiskSpaceThresholdOrInactiveThreshold. Valid values 0 to
* 100
*/
cacheAccountsAboveDiskFreePercentage?: NullableOption<number>;
/**
* Specifies when the accounts will start being deleted when they have not been logged on during the specified period,
* given as number of days. Only applies when AccountDeletionPolicy is DiskSpaceThreshold or
* DiskSpaceThresholdOrInactiveThreshold.
*/
inactiveThresholdDays?: NullableOption<number>;
/**
* Sets the percentage of disk space remaining on a PC before cached accounts will be deleted to free disk space. Accounts
* that have been inactive the longest will be deleted first. Only applies when AccountDeletionPolicy is
* DiskSpaceThresholdOrInactiveThreshold. Valid values 0 to 100
*/
removeAccountsBelowDiskFreePercentage?: NullableOption<number>;
}
export interface Windows10NetworkProxyServer {
// Address to the proxy server. Specify an address in the format [':']
address?: string;
/**
* Addresses that should not use the proxy server. The system will not use the proxy server for addresses beginning with
* what is specified in this node.
*/
exceptions?: NullableOption<string[]>;
// Specifies whether the proxy server should be used for local (intranet) addresses.
useForLocalAddresses?: boolean;
}
export interface WindowsFirewallNetworkProfile {
/**
* Configures the firewall to merge authorized application rules from group policy with those from local store instead of
* ignoring the local store rules. When AuthorizedApplicationRulesFromGroupPolicyNotMerged and
* AuthorizedApplicationRulesFromGroupPolicyMerged are both true, AuthorizedApplicationRulesFromGroupPolicyMerged takes
* priority.
*/
authorizedApplicationRulesFromGroupPolicyMerged?: boolean;
/**
* Configures the firewall to merge connection security rules from group policy with those from local store instead of
* ignoring the local store rules. When ConnectionSecurityRulesFromGroupPolicyNotMerged and
* ConnectionSecurityRulesFromGroupPolicyMerged are both true, ConnectionSecurityRulesFromGroupPolicyMerged takes
* priority.
*/
connectionSecurityRulesFromGroupPolicyMerged?: boolean;
/**
* Configures the host device to allow or block the firewall and advanced security enforcement for the network profile.
* Possible values are: notConfigured, blocked, allowed.
*/
firewallEnabled?: StateManagementSetting;
/**
* Configures the firewall to merge global port rules from group policy with those from local store instead of ignoring
* the local store rules. When GlobalPortRulesFromGroupPolicyNotMerged and GlobalPortRulesFromGroupPolicyMerged are both
* true, GlobalPortRulesFromGroupPolicyMerged takes priority.
*/
globalPortRulesFromGroupPolicyMerged?: boolean;
/**
* Configures the firewall to block all incoming connections by default. When InboundConnectionsRequired and
* InboundConnectionsBlocked are both true, InboundConnectionsBlocked takes priority.
*/
inboundConnectionsBlocked?: boolean;
/**
* Prevents the firewall from displaying notifications when an application is blocked from listening on a port. When
* InboundNotificationsRequired and InboundNotificationsBlocked are both true, InboundNotificationsBlocked takes priority.
*/
inboundNotificationsBlocked?: boolean;
/**
* Configures the firewall to block all incoming traffic regardless of other policy settings. When IncomingTrafficRequired
* and IncomingTrafficBlocked are both true, IncomingTrafficBlocked takes priority.
*/
incomingTrafficBlocked?: boolean;
/**
* Configures the firewall to block all outgoing connections by default. When OutboundConnectionsRequired and
* OutboundConnectionsBlocked are both true, OutboundConnectionsBlocked takes priority. This setting will get applied to
* Windows releases version 1809 and above.
*/
outboundConnectionsBlocked?: boolean;
/**
* Configures the firewall to merge Firewall Rule policies from group policy with those from local store instead of
* ignoring the local store rules. When PolicyRulesFromGroupPolicyNotMerged and PolicyRulesFromGroupPolicyMerged are both
* true, PolicyRulesFromGroupPolicyMerged takes priority.
*/
policyRulesFromGroupPolicyMerged?: boolean;
/**
* Configures the firewall to allow the host computer to respond to unsolicited network traffic of that traffic is secured
* by IPSec even when stealthModeBlocked is set to true. When SecuredPacketExemptionBlocked and
* SecuredPacketExemptionAllowed are both true, SecuredPacketExemptionAllowed takes priority.
*/
securedPacketExemptionAllowed?: boolean;
/**
* Prevent the server from operating in stealth mode. When StealthModeRequired and StealthModeBlocked are both true,
* StealthModeBlocked takes priority.
*/
stealthModeBlocked?: boolean;
/**
* Configures the firewall to block unicast responses to multicast broadcast traffic. When
* UnicastResponsesToMulticastBroadcastsRequired and UnicastResponsesToMulticastBroadcastsBlocked are both true,
* UnicastResponsesToMulticastBroadcastsBlocked takes priority.
*/
unicastResponsesToMulticastBroadcastsBlocked?: boolean;
}
// tslint:disable-next-line: no-empty-interface
export interface WindowsUpdateInstallScheduleType {}
export interface WindowsUpdateActiveHoursInstall extends WindowsUpdateInstallScheduleType {
// Active Hours End
activeHoursEnd?: string;
// Active Hours Start
activeHoursStart?: string;
}
export interface WindowsUpdateScheduledInstall extends WindowsUpdateInstallScheduleType {
/**
* Scheduled Install Day in week. Possible values are: userDefined, everyday, sunday, monday, tuesday, wednesday,
* thursday, friday, saturday.
*/
scheduledInstallDay?: WeeklySchedule;
// Scheduled Install Time during day
scheduledInstallTime?: string;
}
export interface ConfigurationManagerClientEnabledFeatures {
// Whether compliance policy is managed by Intune
compliancePolicy?: boolean;
// Whether device configuration is managed by Intune
deviceConfiguration?: boolean;
// Whether inventory is managed by Intune
inventory?: boolean;
// Whether modern application is managed by Intune
modernApps?: boolean;
// Whether resource access is managed by Intune
resourceAccess?: boolean;
// Whether Windows Update for Business is managed by Intune
windowsUpdateForBusiness?: boolean;
}
export interface DeviceActionResult {
// Action name
actionName?: NullableOption<string>;
// State of the action. Possible values are: none, pending, canceled, active, done, failed, notSupported.
actionState?: ActionState;
// Time the action state was last updated
lastUpdatedDateTime?: string;
// Time the action was initiated
startDateTime?: string;
}
export interface DeviceHealthAttestationState {
/**
* TWhen an Attestation Identity Key (AIK) is present on a device, it indicates that the device has an endorsement key
* (EK) certificate.
*/
attestationIdentityKey?: NullableOption<string>;
// On or Off of BitLocker Drive Encryption
bitLockerStatus?: NullableOption<string>;
// The security version number of the Boot Application
bootAppSecurityVersion?: NullableOption<string>;
// When bootDebugging is enabled, the device is used in development and testing
bootDebugging?: NullableOption<string>;
// The security version number of the Boot Application
bootManagerSecurityVersion?: NullableOption<string>;
// The version of the Boot Manager
bootManagerVersion?: NullableOption<string>;
// The Boot Revision List that was loaded during initial boot on the attested device
bootRevisionListInfo?: NullableOption<string>;
// When code integrity is enabled, code execution is restricted to integrity verified code
codeIntegrity?: NullableOption<string>;
// The version of the Boot Manager
codeIntegrityCheckVersion?: NullableOption<string>;
// The Code Integrity policy that is controlling the security of the boot environment
codeIntegrityPolicy?: NullableOption<string>;
// The DHA report version. (Namespace version)
contentNamespaceUrl?: NullableOption<string>;
// The HealthAttestation state schema version
contentVersion?: NullableOption<string>;
// DEP Policy defines a set of hardware and software technologies that perform additional checks on memory
dataExcutionPolicy?: NullableOption<string>;
// The DHA report version. (Namespace version)
deviceHealthAttestationStatus?: NullableOption<string>;
// ELAM provides protection for the computers in your network when they start up
earlyLaunchAntiMalwareDriverProtection?: NullableOption<string>;
// This attribute indicates if DHA is supported for the device
healthAttestationSupportedStatus?: NullableOption<string>;
// This attribute appears if DHA-Service detects an integrity issue
healthStatusMismatchInfo?: NullableOption<string>;
// The DateTime when device was evaluated or issued to MDM
issuedDateTime?: string;
// The Timestamp of the last update.
lastUpdateDateTime?: NullableOption<string>;
// When operatingSystemKernelDebugging is enabled, the device is used in development and testing
operatingSystemKernelDebugging?: NullableOption<string>;
// The Operating System Revision List that was loaded during initial boot on the attested device
operatingSystemRevListInfo?: NullableOption<string>;
// The measurement that is captured in PCR[0]
pcr0?: NullableOption<string>;
// Informational attribute that identifies the HASH algorithm that was used by TPM
pcrHashAlgorithm?: NullableOption<string>;
// The number of times a PC device has hibernated or resumed
resetCount?: number;
// The number of times a PC device has rebooted
restartCount?: number;
// Safe mode is a troubleshooting option for Windows that starts your computer in a limited state
safeMode?: NullableOption<string>;
// When Secure Boot is enabled, the core components must have the correct cryptographic signatures
secureBoot?: NullableOption<string>;
// Fingerprint of the Custom Secure Boot Configuration Policy
secureBootConfigurationPolicyFingerPrint?: NullableOption<string>;
// When test signing is allowed, the device does not enforce signature validation during boot
testSigning?: NullableOption<string>;
// The security version number of the Boot Application
tpmVersion?: NullableOption<string>;
// VSM is a container that protects high value assets from a compromised kernel
virtualSecureMode?: NullableOption<string>;
// Operating system running with limited services that is used to prepare a computer for Windows
windowsPE?: NullableOption<string>;
}
export interface ComplianceManagementPartnerAssignment {
// Group assignment target.
target?: NullableOption<DeviceAndAppManagementAssignmentTarget>;
}
export interface DeviceAndAppManagementData {
// Not yet documented
content?: NullableOption<any>;
}
export interface DeviceEnrollmentPlatformRestriction {
// Max OS version supported
osMaximumVersion?: NullableOption<string>;
// Min OS version supported
osMinimumVersion?: NullableOption<string>;
// Block personally owned devices from enrolling
personalDeviceEnrollmentBlocked?: boolean;
// Block the platform from enrolling
platformBlocked?: boolean;
}
export interface DeviceManagementPartnerAssignment {
// User groups targeting for devices to be enrolled through partner.
target?: NullableOption<DeviceAndAppManagementAssignmentTarget>;
}
export interface RgbColor {
// Blue value
b?: number;
// Green value
g?: number;
// Red value
r?: number;
}
export interface DeleteUserFromSharedAppleDeviceActionResult extends DeviceActionResult {
// User principal name of the user to be deleted
userPrincipalName?: NullableOption<string>;
}
export interface DeviceExchangeAccessStateSummary {
// Total count of devices with Exchange Access State: Allowed.
allowedDeviceCount?: number;
// Total count of devices with Exchange Access State: Blocked.
blockedDeviceCount?: number;
// Total count of devices with Exchange Access State: Quarantined.
quarantinedDeviceCount?: number;
// Total count of devices for which no Exchange Access State could be found.
unavailableDeviceCount?: number;
// Total count of devices with Exchange Access State: Unknown.
unknownDeviceCount?: number;
}
export interface DeviceGeoLocation {
// Altitude, given in meters above sea level
altitude?: number;
// Heading in degrees from true north
heading?: number;
// Accuracy of longitude and latitude in meters
horizontalAccuracy?: number;
// Time at which location was recorded, relative to UTC
lastCollectedDateTime?: string;
// Latitude coordinate of the device's location
latitude?: number;
// Longitude coordinate of the device's location
longitude?: number;
// Speed the device is traveling in meters per second
speed?: number;
// Accuracy of altitude in meters
verticalAccuracy?: number;
}
export interface DeviceOperatingSystemSummary {
/**
* The count of Corporate work profile Android devices. Also known as Corporate Owned Personally Enabled (COPE). Valid
* values -1 to 2147483647
*/
androidCorporateWorkProfileCount?: number;
// Number of android device count.
androidCount?: number;
// Number of dedicated Android devices.
androidDedicatedCount?: number;
// Number of device admin Android devices.
androidDeviceAdminCount?: number;
// Number of fully managed Android devices.
androidFullyManagedCount?: number;
// Number of work profile Android devices.
androidWorkProfileCount?: number;
// Number of ConfigMgr managed devices.
configMgrDeviceCount?: number;
// Number of iOS device count.
iosCount?: number;
// Number of Mac OS X device count.
macOSCount?: number;
// Number of unknown device count.
unknownCount?: number;
// Number of Windows device count.
windowsCount?: number;
// Number of Windows mobile device count.
windowsMobileCount?: number;
}
export interface LocateDeviceActionResult extends DeviceActionResult {
// device location
deviceLocation?: NullableOption<DeviceGeoLocation>;
}
export interface RemoteLockActionResult extends DeviceActionResult {
// Pin to unlock the client
unlockPin?: NullableOption<string>;
}
export interface ResetPasscodeActionResult extends DeviceActionResult {
// Newly generated passcode for the device
passcode?: NullableOption<string>;
}
export interface UpdateWindowsDeviceAccountActionParameter {
// Not yet documented
calendarSyncEnabled?: NullableOption<boolean>;
// Not yet documented
deviceAccount?: NullableOption<WindowsDeviceAccount>;
// Not yet documented
deviceAccountEmail?: NullableOption<string>;
// Not yet documented
exchangeServer?: NullableOption<string>;
// Not yet documented
passwordRotationEnabled?: NullableOption<boolean>;
// Not yet documented
sessionInitiationProtocalAddress?: NullableOption<string>;
}
export interface WindowsDeviceAccount {
// Not yet documented
password?: NullableOption<string>;
}
export interface WindowsDefenderScanActionResult extends DeviceActionResult {
// Scan type either full scan or quick scan
scanType?: NullableOption<string>;
}
export interface WindowsDeviceADAccount extends WindowsDeviceAccount {
// Not yet documented
domainName?: NullableOption<string>;
// Not yet documented
userName?: NullableOption<string>;
}
export interface WindowsDeviceAzureADAccount extends WindowsDeviceAccount {
// Not yet documented
userPrincipalName?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
export interface ImportedWindowsAutopilotDeviceIdentityState {
// Device error code reported by Device Directory Service(DDS).
deviceErrorCode?: number;
// Device error name reported by Device Directory Service(DDS).
deviceErrorName?: NullableOption<string>;
/**
* Device status reported by Device Directory Service(DDS). Possible values are: unknown, pending, partial, complete,
* error.
*/
deviceImportStatus?: ImportedWindowsAutopilotDeviceIdentityImportStatus;
// Device Registration ID for successfully added device reported by Device Directory Service(DDS).
deviceRegistrationId?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface MobileAppIdentifier {}
export interface AndroidMobileAppIdentifier extends MobileAppIdentifier {
// The identifier for an app, as specified in the play store.
packageId?: string;
}
// tslint:disable-next-line: interface-name
export interface IosMobileAppIdentifier extends MobileAppIdentifier {
// The identifier for an app, as specified in the app store.
bundleId?: string;
}
// tslint:disable-next-line: interface-name
export interface IPv4Range extends IpRange {
// Lower address.
lowerAddress?: string;
// Upper address.
upperAddress?: string;
}
// tslint:disable-next-line: interface-name
export interface IPv6Range extends IpRange {
// Lower address.
lowerAddress?: string;
// Upper address.
upperAddress?: string;
}
export interface ManagedAppDiagnosticStatus {
// Instruction on how to mitigate a failed validation
mitigationInstruction?: NullableOption<string>;
// The state of the operation
state?: NullableOption<string>;
// The validation friendly name
validationName?: NullableOption<string>;
}
export interface ManagedAppPolicyDeploymentSummaryPerApp {
// Number of users the policy is applied.
configurationAppliedUserCount?: number;
// Deployment of an app.
mobileAppIdentifier?: NullableOption<MobileAppIdentifier>;
}
export interface ProxiedDomain {
// The IP address or FQDN
ipAddressOrFQDN?: string;
// Proxy IP or FQDN
proxy?: NullableOption<string>;
}
export interface WindowsInformationProtectionApp {
// If true, app is denied protection or exemption.
denied?: boolean;
// The app's description.
description?: NullableOption<string>;
// App display name.
displayName?: string;
// The product name.
productName?: NullableOption<string>;
// The publisher name
publisherName?: NullableOption<string>;
}
export interface WindowsInformationProtectionDataRecoveryCertificate {
// Data recovery Certificate
certificate?: NullableOption<string>;
// Data recovery Certificate description
description?: NullableOption<string>;
// Data recovery Certificate expiration datetime
expirationDateTime?: string;
// Data recovery Certificate subject name
subjectName?: NullableOption<string>;
}
export interface WindowsInformationProtectionDesktopApp extends WindowsInformationProtectionApp {
// The binary name.
binaryName?: string;
// The high binary version.
binaryVersionHigh?: NullableOption<string>;
// The lower binary version.
binaryVersionLow?: NullableOption<string>;
}
export interface WindowsInformationProtectionIPRangeCollection {
// Display name
displayName?: string;
// Collection of ip ranges
ranges?: IpRange[];
}
export interface WindowsInformationProtectionProxiedDomainCollection {
// Display name
displayName?: string;
// Collection of proxied domains
proxiedDomains?: ProxiedDomain[];
}
export interface WindowsInformationProtectionResourceCollection {
// Display name
displayName?: string;
// Collection of resources
resources?: NullableOption<string[]>;
}
// tslint:disable-next-line: no-empty-interface
export interface WindowsInformationProtectionStoreApp extends WindowsInformationProtectionApp {}
export interface ResourceAction {
// Allowed Actions
allowedResourceActions?: NullableOption<string[]>;
// Not Allowed Actions.
notAllowedResourceActions?: NullableOption<string[]>;
}
export interface RolePermission {
// Resource Actions each containing a set of allowed and not allowed permissions.
resourceActions?: NullableOption<ResourceAction[]>;
}
export interface ServiceHealthIssuePost {
// The published time of the post.
createdDateTime?: string;
// The content of the service issue post. The supported value for the contentType property is html.
description?: NullableOption<ItemBody>;
// The post type of the service issue historical post. Possible values are: regular, quick, strategic, unknownFutureValue.
postType?: NullableOption<PostType>;
}
export interface ServiceUpdateMessageViewpoint {
// Indicates whether the user archived the message.
isArchived?: NullableOption<boolean>;
// Indicates whether the user marked the message as favorite.
isFavorited?: NullableOption<boolean>;
// Indicates whether the user read the message.
isRead?: NullableOption<boolean>;
}
export interface AggregationOption {
// Specifies the criteria to compute an aggregation. Optional.
bucketDefinition?: BucketAggregationDefinition;
// Computes aggregation on the field while the field exists in current entity type. Required.
field?: string;
/**
* The number of searchBucket resources to be returned. This is not required when the range is provided manually in the
* search request. Optional.
*/
size?: NullableOption<number>;
}
export interface BucketAggregationDefinition {
// True to specify the sort order as descending. The default is false, with the sort order as ascending. Optional.
isDescending?: NullableOption<boolean>;
// The minimum number of items that should be present in the aggregation to be returned in a bucket. Optional.
minimumCount?: NullableOption<number>;
/**
* A filter to define a matching criteria. The key should start with the specified prefix to be returned in the response.
* Optional.
*/
prefixFilter?: NullableOption<string>;
/**
* Specifies the manual ranges to compute the aggregations. This is only valid for non-string refiners of date or numeric
* type. Optional.
*/
ranges?: NullableOption<BucketAggregationRange[]>;
/**
* The possible values are count to sort by the number of matches in the aggregation, keyAsStringto sort alphabeticaly
* based on the key in the aggregation, keyAsNumber for numerical sorting based on the key in the aggregation. Required.
*/
sortBy?: BucketAggregationSortProperty;
}
export interface AlterationResponse {
// Defines the original user query string.
originalQueryString?: NullableOption<string>;
// Defines the details of the alteration information for the spelling correction.
queryAlteration?: NullableOption<SearchAlteration>;
// Defines the type of the spelling correction. Possible values are: suggestion, modification.
queryAlterationType?: NullableOption<SearchAlterationType>;
}
export interface SearchAlteration {
/**
* Defines the altered highlighted query string with spelling correction. The annotation around the corrected segment is:
* /ue000, /ue001.
*/
alteredHighlightedQueryString?: NullableOption<string>;
// Defines the altered query string with spelling correction.
alteredQueryString?: NullableOption<string>;
// Represents changed segments related to an original user query.
alteredQueryTokens?: NullableOption<AlteredQueryToken[]>;
}
export interface AlteredQueryToken {
// Defines the length of a changed segment.
length?: NullableOption<number>;
// Defines the offset of a changed segment.
offset?: NullableOption<number>;
// Represents the corrected segment string.
suggestion?: NullableOption<string>;
}
export interface BucketAggregationRange {
/**
* Defines the lower bound from which to compute the aggregation. This can be a numeric value or a string representation
* of a date using the YYYY-MM-DDTHH:mm:ss.sssZ format. Required.
*/
from?: string;
/**
* Defines the upper bound up to which to compute the aggregation. This can be a numeric value or a string representation
* of a date using the YYYY-MM-DDTHH:mm:ss.sssZ format. Required.
*/
to?: string;
}
export interface CollapseProperty {
/**
* Defines the collapse group to trim results. The properties in this collection must be sortable/refinable properties.
* Required.
*/
fields?: string[];
// Defines a maximum limit count for this field. This numeric value must be a positive integer. Required.
limit?: number;
}
export interface ResultTemplate {
// JSON schema of the result template.
body?: NullableOption<any>;
// Name of the result template.
displayName?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface Dictionary {}
// tslint:disable-next-line: no-empty-interface
export interface ResultTemplateDictionary extends Dictionary {}
export interface ResultTemplateOption {
/**
* Indicates whether search display layouts are enabled. If enabled, the user will get the result template to render the
* search results content in the resultTemplates property of the response. The result template is based on Adaptive Cards.
* Optional.
*/
enableResultTemplate?: NullableOption<boolean>;
}
export interface SearchAggregation {
buckets?: NullableOption<SearchBucket[]>;
field?: NullableOption<string>;
}
export interface SearchBucket {
/**
* A token containing the encoded filter to aggregate search matches by the specific key value. To use the filter, pass
* the token as part of the aggregationFilter property in a searchRequest object, in the format
* '{field}:/'{aggregationFilterToken}/''. See an example.
*/
aggregationFilterToken?: NullableOption<string>;
/**
* The approximate number of search matches that share the same value specified in the key property. Note that this number
* is not the exact number of matches.
*/
count?: NullableOption<number>;
// The discrete value of the field that an aggregation was computed on.
key?: NullableOption<string>;
}
export interface SearchAlterationOptions {
/**
* Indicates whether spelling modifications are enabled. If enabled, the user will get the search results for the
* corrected query in case of no results for the original query with typos. The response will also include the spelling
* modification information in the queryAlterationResponse property. Optional.
*/
enableModification?: NullableOption<boolean>;
/**
* Indicates whether spelling suggestions are enabled. If enabled, the user will get the search results for the original
* search query and suggestions for spelling correction in the queryAlterationResponse property of the response for the
* typos in the query. Optional.
*/
enableSuggestion?: NullableOption<boolean>;
}
export interface SearchHit {
// The name of the content source that the externalItem is part of.
contentSource?: NullableOption<string>;
/**
* The internal identifier for the item. The format of the identifier varies based on the entity type. For details, see
* hitId format.
*/
hitId?: NullableOption<string>;
// Indicates whether the current result is collapsed when the collapseProperties property is used.
isCollapsed?: NullableOption<boolean>;
// The rank or the order of the result.
rank?: NullableOption<number>;
/**
* ID of the result template used to render the search result. This ID must map to a display layout in the resultTemplates
* dictionary that is also included in the searchResponse.
*/
resultTemplateId?: NullableOption<string>;
// A summary of the result, if a summary is available.
summary?: NullableOption<string>;
resource?: NullableOption<Entity>;
}
export interface SearchHitsContainer {
aggregations?: NullableOption<SearchAggregation[]>;
// A collection of the search results.
hits?: NullableOption<SearchHit[]>;
/**
* Provides information if more results are available. Based on this information, you can adjust the from and size
* properties of the searchRequest accordingly.
*/
moreResultsAvailable?: NullableOption<boolean>;
/**
* The total number of results. Note this is not the number of results on the page, but the total number of results
* satisfying the query.
*/
total?: NullableOption<number>;
}
export interface SearchQuery {
// The search query containing the search terms. Required.
queryString?: string;
// Provides a way to decorate the query string. Supports both KQL and query variables. Optional.
queryTemplate?: NullableOption<string>;
}
export interface SearchRequest {
aggregationFilters?: NullableOption<string[]>;
aggregations?: NullableOption<AggregationOption[]>;
collapseProperties?: NullableOption<CollapseProperty[]>;
contentSources?: NullableOption<string[]>;
enableTopResults?: NullableOption<boolean>;
entityTypes?: NullableOption<EntityType[]>;
fields?: NullableOption<string[]>;
from?: number;
query?: SearchQuery;
queryAlterationOptions?: NullableOption<SearchAlterationOptions>;
region?: NullableOption<string>;
resultTemplateOptions?: NullableOption<ResultTemplateOption>;
sharePointOneDriveOptions?: NullableOption<SharePointOneDriveOptions>;
size?: number;
sortProperties?: NullableOption<SortProperty[]>;
}
export interface SharePointOneDriveOptions {
// The type of search content. The possible values are: sharedContent, privateContent, unknownFutureValue. Read-only.
includeContent?: NullableOption<SearchContent>;
}
export interface SortProperty {
// True if the sort order is descending. Default is false, with the sort order as ascending. Optional.
isDescending?: NullableOption<boolean>;
// The name of the property to sort on. Required.
name?: string;
}
export interface SearchResponse {
// A collection of search results.
hitsContainers?: NullableOption<SearchHitsContainer[]>;
// Provides information related to spelling corrections in the alteration response.
queryAlterationResponse?: NullableOption<AlterationResponse>;
/**
* A dictionary of resultTemplateIds and associated values, which include the name and JSON schema of the result
* templates.
*/
resultTemplates?: NullableOption<ResultTemplateDictionary>;
// Contains the search terms sent in the initial search query.
searchTerms?: NullableOption<string[]>;
}
// tslint:disable-next-line: no-empty-interface
export interface PlannerAppliedCategories {}
export interface PlannerAssignment {
// The identity of the user that performed the assignment of the task, i.e. the assignor.
assignedBy?: NullableOption<IdentitySet>;
/**
* The time at which the task was assigned. 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 is 2014-01-01T00:00:00Z
*/
assignedDateTime?: NullableOption<string>;
// Hint used to order assignees in a task. The format is defined as outlined here.
orderHint?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface PlannerAssignments {}
export interface PlannerCategoryDescriptions {
// The label associated with Category 1
category1?: NullableOption<string>;
// The label associated with Category 10
category10?: NullableOption<string>;
// The label associated with Category 11
category11?: NullableOption<string>;
// The label associated with Category 12
category12?: NullableOption<string>;
// The label associated with Category 13
category13?: NullableOption<string>;
// The label associated with Category 14
category14?: NullableOption<string>;
// The label associated with Category 15
category15?: NullableOption<string>;
// The label associated with Category 16
category16?: NullableOption<string>;
// The label associated with Category 17
category17?: NullableOption<string>;
// The label associated with Category 18
category18?: NullableOption<string>;
// The label associated with Category 19
category19?: NullableOption<string>;
// The label associated with Category 2
category2?: NullableOption<string>;
// The label associated with Category 20
category20?: NullableOption<string>;
// The label associated with Category 21
category21?: NullableOption<string>;
// The label associated with Category 22
category22?: NullableOption<string>;
// The label associated with Category 23
category23?: NullableOption<string>;
// The label associated with Category 24
category24?: NullableOption<string>;
// The label associated with Category 25
category25?: NullableOption<string>;
// The label associated with Category 3
category3?: NullableOption<string>;
// The label associated with Category 4
category4?: NullableOption<string>;
// The label associated with Category 5
category5?: NullableOption<string>;
// The label associated with Category 6
category6?: NullableOption<string>;
// The label associated with Category 7
category7?: NullableOption<string>;
// The label associated with Category 8
category8?: NullableOption<string>;
// The label associated with Category 9
category9?: NullableOption<string>;
}
export interface PlannerChecklistItem {
// Value is true if the item is checked and false otherwise.
isChecked?: NullableOption<boolean>;
// Read-only. User ID by which this is last modified.
lastModifiedBy?: NullableOption<IdentitySet>;
/**
* Read-only. Date and time at which this is last modified. 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 is 2014-01-01T00:00:00Z
*/
lastModifiedDateTime?: NullableOption<string>;
// Used to set the relative order of items in the checklist. The format is defined as outlined here.
orderHint?: NullableOption<string>;
// Title of the checklist item
title?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface PlannerChecklistItems {}
export interface PlannerExternalReference {
// A name alias to describe the reference.
alias?: NullableOption<string>;
// Read-only. User ID by which this is last modified.
lastModifiedBy?: NullableOption<IdentitySet>;
/**
* Read-only. Date and time at which this is last modified. 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 is 2014-01-01T00:00:00Z
*/
lastModifiedDateTime?: NullableOption<string>;
// Used to set the relative priority order in which the reference will be shown as a preview on the task.
previewPriority?: NullableOption<string>;
// Used to describe the type of the reference. Types include: PowerPoint, Word, Excel, Other.
type?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface PlannerExternalReferences {}
// tslint:disable-next-line: no-empty-interface
export interface PlannerOrderHintsByAssignee {}
export interface PlannerPlanContainer {
// The identifier of the resource that contains the plan. Optional.
containerId?: NullableOption<string>;
/**
* The type of the resource that contains the plan. For supported types, see the previous table. Possible values are:
* group, unknownFutureValue, roster. Note that you must use the Prefer: include-unknown-enum-members request header to
* get the following value in this evolvable enum: roster. Optional.
*/
type?: NullableOption<PlannerContainerType>;
// The full canonical URL of the container. Optional.
url?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface PlannerUserIds {}
// tslint:disable-next-line: interface-name
export interface InsightIdentity {
// The email address of the user who shared the item.
address?: NullableOption<string>;
// The display name of the user who shared the item.
displayName?: NullableOption<string>;
// The id of the user who shared the item.
id?: NullableOption<string>;
}
export interface ResourceReference {
// The item's unique identifier.
id?: NullableOption<string>;
// A string value that can be used to classify the item, such as 'microsoft.graph.driveItem'
type?: NullableOption<string>;
// A URL leading to the referenced item.
webUrl?: NullableOption<string>;
}
export interface ResourceVisualization {
/**
* A string describing where the item is stored. For example, the name of a SharePoint site or the user name identifying
* the owner of the OneDrive storing the item.
*/
containerDisplayName?: NullableOption<string>;
// Can be used for filtering by the type of container in which the file is stored. Such as Site or OneDriveBusiness.
containerType?: NullableOption<string>;
// A path leading to the folder in which the item is stored.
containerWebUrl?: NullableOption<string>;
/**
* The item's media type. Can be used for filtering for a specific type of file based on supported IANA Media Mime Types.
* Note that not all Media Mime Types are supported.
*/
mediaType?: NullableOption<string>;
// A URL leading to the preview image for the item.
previewImageUrl?: NullableOption<string>;
// A preview text for the item.
previewText?: NullableOption<string>;
// The item's title text.
title?: NullableOption<string>;
/**
* The item's media type. Can be used for filtering for a specific file based on a specific type. See below for supported
* types.
*/
type?: NullableOption<string>;
}
export interface SharingDetail {
// The user who shared the document.
sharedBy?: NullableOption<InsightIdentity>;
/**
* The date and time the file was last shared. The timestamp represents date and time information using ISO 8601 format
* and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Read-only.
*/
sharedDateTime?: NullableOption<string>;
sharingReference?: NullableOption<ResourceReference>;
// The subject with which the document was shared.
sharingSubject?: NullableOption<string>;
// Determines the way the document was shared, can be by a 'Link', 'Attachment', 'Group', 'Site'.
sharingType?: NullableOption<string>;
}
export interface UsageDetails {
/**
* The date and time the resource was last accessed by the user. The timestamp represents date and time information using
* ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Read-only.
*/
lastAccessedDateTime?: NullableOption<string>;
/**
* The date and time the resource was last modified by the user. The timestamp represents date and time information using
* ISO 8601 format and is always in UTC time.For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Read-only.
*/
lastModifiedDateTime?: NullableOption<string>;
}
export interface CopyNotebookModel {
createdBy?: NullableOption<string>;
createdByIdentity?: NullableOption<IdentitySet>;
createdTime?: NullableOption<string>;
id?: NullableOption<string>;
isDefault?: NullableOption<boolean>;
isShared?: NullableOption<boolean>;
lastModifiedBy?: NullableOption<string>;
lastModifiedByIdentity?: NullableOption<IdentitySet>;
lastModifiedTime?: NullableOption<string>;
links?: NullableOption<NotebookLinks>;
name?: NullableOption<string>;
sectionGroupsUrl?: NullableOption<string>;
sectionsUrl?: NullableOption<string>;
self?: NullableOption<string>;
userRole?: NullableOption<OnenoteUserRole>;
}
export interface NotebookLinks {
// Opens the notebook in the OneNote native client if it's installed.
oneNoteClientUrl?: NullableOption<ExternalLink>;
// Opens the notebook in OneNote on the web.
oneNoteWebUrl?: NullableOption<ExternalLink>;
}
export interface Diagnostic {
message?: NullableOption<string>;
url?: NullableOption<string>;
}
export interface ExternalLink {
// The URL of the link.
href?: NullableOption<string>;
}
export interface OnenoteOperationError {
// The error code.
code?: NullableOption<string>;
// The error message.
message?: NullableOption<string>;
}
export interface OnenotePagePreview {
links?: NullableOption<OnenotePagePreviewLinks>;
previewText?: NullableOption<string>;
}
export interface OnenotePagePreviewLinks {
previewImageUrl?: NullableOption<ExternalLink>;
}
export interface OnenotePatchContentCommand {
// The action to perform on the target element. The possible values are: replace, append, delete, insert, or prepend.
action?: OnenotePatchActionType;
/**
* A string of well-formed HTML to add to the page, and any image or file binary data. If the content contains binary
* data, the request must be sent using the multipart/form-data content type with a 'Commands' part.
*/
content?: NullableOption<string>;
/**
* The location to add the supplied content, relative to the target element. The possible values are: after (default) or
* before.
*/
position?: NullableOption<OnenotePatchInsertPosition>;
/**
* The element to update. Must be the #&amp;lt;data-id&amp;gt; or the generated &amp;lt;id&amp;gt; of the element, or the
* body or title keyword.
*/
target?: string;
}
export interface PageLinks {
// Opens the page in the OneNote native client if it's installed.
oneNoteClientUrl?: NullableOption<ExternalLink>;
// Opens the page in OneNote on the web.
oneNoteWebUrl?: NullableOption<ExternalLink>;
}
export interface RecentNotebook {
// The name of the notebook.
displayName?: NullableOption<string>;
/**
* The date and time when the notebook was last modified. The timestamp represents date and time information using ISO
* 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Read-only.
*/
lastAccessedTime?: NullableOption<string>;
/**
* Links for opening the notebook. The oneNoteClientURL link opens the notebook in the OneNote client, if it's installed.
* The oneNoteWebURL link opens the notebook in OneNote on the web.
*/
links?: NullableOption<RecentNotebookLinks>;
// The backend store where the Notebook resides, either OneDriveForBusiness or OneDrive.
sourceService?: NullableOption<OnenoteSourceService>;
}
export interface RecentNotebookLinks {
// Opens the notebook in the OneNote native client if it's installed.
oneNoteClientUrl?: NullableOption<ExternalLink>;
// Opens the notebook in OneNote on the web.
oneNoteWebUrl?: NullableOption<ExternalLink>;
}
export interface SectionLinks {
// Opens the section in the OneNote native client if it's installed.
oneNoteClientUrl?: NullableOption<ExternalLink>;
// Opens the section in OneNote on the web.
oneNoteWebUrl?: NullableOption<ExternalLink>;
}
export interface DelegatedAdminAccessContainer {
/**
* The identifier of the access container (for example, a security group). For 'securityGroup' access containers, this
* must be a valid ID of an Azure AD security group in the Microsoft partner's tenant.
*/
accessContainerId?: string;
/**
* The type of access container (for example, security group) that will be assigned one or more roles through a delegated
* admin relationship. The possible values are: securityGroup, unknownFutureValue.
*/
accessContainerType?: DelegatedAdminAccessContainerType;
}
export interface DelegatedAdminAccessDetails {
// The directory roles that the Microsoft partner is assigned in the customer tenant.
unifiedRoles?: UnifiedRole[];
}
export interface UnifiedRole {
// The unified role definition ID of the directory role. Refer to unifiedRoleDefinition resource.
roleDefinitionId?: string;
}
export interface DelegatedAdminRelationshipCustomerParticipant {
// The display name of the customer tenant as set by Azure AD. Read-only
displayName?: NullableOption<string>;
// The Azure AD-assigned tenant ID of the customer tenant.
tenantId?: string;
}
export interface ApprovalSettings {
// One of SingleStage, Serial, Parallel, NoApproval (default). NoApproval is used when isApprovalRequired is false.
approvalMode?: NullableOption<string>;
/**
* If approval is required, the one or two elements of this collection define each of the stages of approval. An empty
* array if no approval is required.
*/
approvalStages?: NullableOption<UnifiedApprovalStage[]>;
// Indicates whether approval is required for requests in this policy.
isApprovalRequired?: NullableOption<boolean>;
// Indicates whether approval is required for a user to extend their assignment.
isApprovalRequiredForExtension?: NullableOption<boolean>;
// Indicates whether the requestor is required to supply a justification in their request.
isRequestorJustificationRequired?: NullableOption<boolean>;
}
export interface UnifiedApprovalStage {
// The number of days that a request can be pending a response before it is automatically denied.
approvalStageTimeOutInDays?: NullableOption<number>;
// The escalation approvers for this stage when the primary approvers don't respond.
escalationApprovers?: NullableOption<SubjectSet[]>;
/**
* The time a request can be pending a response from a primary approver before it can be escalated to the escalation
* approvers.
*/
escalationTimeInMinutes?: NullableOption<number>;
// Indicates whether the approver must provide justification for their reponse.
isApproverJustificationRequired?: NullableOption<boolean>;
// Indicates whether escalation if enabled.
isEscalationEnabled?: NullableOption<boolean>;
// The primary approvers of this stage.
primaryApprovers?: NullableOption<SubjectSet[]>;
}
export interface RequestSchedule {
// When the eligible or active assignment expires.
expiration?: NullableOption<ExpirationPattern>;
// The frequency of the eligible or active assignment. This property is currently unsupported in PIM.
recurrence?: NullableOption<PatternedRecurrence>;
// When the eligible or active assignment becomes active.
startDateTime?: NullableOption<string>;
}
export interface TicketInfo {
// The ticket number.
ticketNumber?: NullableOption<string>;
// The description of the ticket system.
ticketSystem?: NullableOption<string>;
}
export interface UnifiedRoleManagementPolicyRuleTarget {
// The type of caller that's the target of the policy rule. Allowed values are: None, Admin, EndUser.
caller?: NullableOption<string>;
// The list of role settings that are enforced and cannot be overridden by child scopes. Use All for all settings.
enforcedSettings?: NullableOption<string[]>;
// The list of role settings that can be inherited by child scopes. Use All for all settings.
inheritableSettings?: NullableOption<string[]>;
// The role assignment type that's the target of policy rule. Allowed values are: Eligibility, Assignment.
level?: NullableOption<string>;
/**
* The role management operations that are the target of the policy rule. Allowed values are: All, Activate, Deactivate,
* Assign, Update, Remove, Extend, Renew.
*/
operations?: NullableOption<UnifiedRoleManagementPolicyRuleTargetOperations[]>;
targetObjects?: NullableOption<DirectoryObject[]>;
}
export interface ArchivedPrintJob {
// True if the job was acquired by a printer; false otherwise. Read-only.
acquiredByPrinter?: boolean;
// The dateTimeOffset when the job was acquired by the printer, if any. Read-only.
acquiredDateTime?: NullableOption<string>;
// The dateTimeOffset when the job was completed, canceled or aborted. Read-only.
completionDateTime?: NullableOption<string>;
// The number of copies that were printed. Read-only.
copiesPrinted?: number;
// The user who created the print job. Read-only.
createdBy?: NullableOption<UserIdentity>;
// The dateTimeOffset when the job was created. Read-only.
createdDateTime?: string;
// The archived print job's GUID. Read-only.
id?: string;
// The printer ID that the job was queued for. Read-only.
printerId?: NullableOption<string>;
// The print job's final processing state. Read-only.
processingState?: PrintJobProcessingState;
}
// tslint:disable-next-line: interface-name
export interface IntegerRange {
// The inclusive upper bound of the integer range.
end?: NullableOption<number>;
// The inclusive lower bound of the integer range.
start?: NullableOption<number>;
}
export interface PrintCertificateSigningRequest {
// A base64-encoded pkcs10 certificate request. Read-only.
content?: string;
// The base64-encoded public portion of an asymmetric key that is generated by the client. Read-only.
transportKey?: string;
}
export interface PrintDocumentUploadProperties {
// The document's content (MIME) type.
contentType?: string;
// The document's name.
documentName?: string;
// The document's size in bytes.
size?: number;
}
export interface PrinterCapabilities {
// A list of supported bottom margins(in microns) for the printer.
bottomMargins?: NullableOption<number[]>;
// True if the printer supports collating when printing muliple copies of a multi-page document; false otherwise.
collation?: NullableOption<boolean>;
// The color modes supported by the printer. Valid values are described in the following table.
colorModes?: NullableOption<PrintColorMode[]>;
/**
* A list of supported content (MIME) types that the printer supports. It is not guaranteed that the Universal Print
* service supports printing all of these MIME types.
*/
contentTypes?: NullableOption<string[]>;
// The range of copies per job supported by the printer.
copiesPerJob?: NullableOption<IntegerRange>;
// The list of print resolutions in DPI that are supported by the printer.
dpis?: NullableOption<number[]>;
// The list of duplex modes that are supported by the printer. Valid values are described in the following table.
duplexModes?: NullableOption<PrintDuplexMode[]>;
// The list of feed orientations that are supported by the printer.
feedOrientations?: NullableOption<PrinterFeedOrientation[]>;
// Finishing processes the printer supports for a printed document.
finishings?: NullableOption<PrintFinishing[]>;
// Supported input bins for the printer.
inputBins?: NullableOption<string[]>;
// True if color printing is supported by the printer; false otherwise. Read-only.
isColorPrintingSupported?: NullableOption<boolean>;
// True if the printer supports printing by page ranges; false otherwise.
isPageRangeSupported?: NullableOption<boolean>;
// A list of supported left margins(in microns) for the printer.
leftMargins?: NullableOption<number[]>;
// The media (i.e., paper) colors supported by the printer.
mediaColors?: NullableOption<string[]>;
/**
* The media sizes supported by the printer. Supports standard size names for ISO and ANSI media sizes. Valid values are
* in the following table.
*/
mediaSizes?: NullableOption<string[]>;
// The media types supported by the printer.
mediaTypes?: NullableOption<string[]>;
// The presentation directions supported by the printer. Supported values are described in the following table.
multipageLayouts?: NullableOption<PrintMultipageLayout[]>;
// The print orientations supported by the printer. Valid values are described in the following table.
orientations?: NullableOption<PrintOrientation[]>;
// The printer's supported output bins (trays).
outputBins?: NullableOption<string[]>;
// Supported number of Input Pages to impose upon a single Impression.
pagesPerSheet?: NullableOption<number[]>;
// The print qualities supported by the printer.
qualities?: NullableOption<PrintQuality[]>;
// A list of supported right margins(in microns) for the printer.
rightMargins?: NullableOption<number[]>;
// Supported print scalings.
scalings?: NullableOption<PrintScaling[]>;
// True if the printer supports scaling PDF pages to match the print media size; false otherwise.
supportsFitPdfToPage?: NullableOption<boolean>;
// A list of supported top margins(in microns) for the printer.
topMargins?: NullableOption<number[]>;
}
export interface PrinterDefaults {
// The default color mode to use when printing the document. Valid values are described in the following table.
colorMode?: NullableOption<PrintColorMode>;
// The default content (MIME) type to use when processing documents.
contentType?: NullableOption<string>;
// The default number of copies printed per job.
copiesPerJob?: NullableOption<number>;
// The default resolution in DPI to use when printing the job.
dpi?: NullableOption<number>;
/**
* The default duplex (double-sided) configuration to use when printing a document. Valid values are described in the
* following table.
*/
duplexMode?: NullableOption<PrintDuplexMode>;
// The default set of finishings to apply to print jobs. Valid values are described in the following table.
finishings?: NullableOption<PrintFinishing[]>;
/**
* The default fitPdfToPage setting. True to fit each page of a PDF document to a physical sheet of media; false to let
* the printer decide how to lay out impressions.
*/
fitPdfToPage?: NullableOption<boolean>;
inputBin?: NullableOption<string>;
// The default media (such as paper) color to print the document on.
mediaColor?: NullableOption<string>;
/**
* The default media size to use. Supports standard size names for ISO and ANSI media sizes. Valid values are listed in
* the printerCapabilities topic.
*/
mediaSize?: NullableOption<string>;
// The default media (such as paper) type to print the document on.
mediaType?: NullableOption<string>;
/**
* The default direction to lay out pages when multiple pages are being printed per sheet. Valid values are described in
* the following table.
*/
multipageLayout?: NullableOption<PrintMultipageLayout>;
// The default orientation to use when printing the document. Valid values are described in the following table.
orientation?: NullableOption<PrintOrientation>;
/**
* The default output bin to place completed prints into. See the printer's capabilities for a list of supported output
* bins.
*/
outputBin?: NullableOption<string>;
// The default number of document pages to print on each sheet.
pagesPerSheet?: NullableOption<number>;
// The default quality to use when printing the document. Valid values are described in the following table.
quality?: NullableOption<PrintQuality>;
/**
* Specifies how the printer scales the document data to fit the requested media. Valid values are described in the
* following table.
*/
scaling?: NullableOption<PrintScaling>;
}
export interface PrinterLocation {
// The altitude, in meters, that the printer is located at.
altitudeInMeters?: NullableOption<number>;
// The building that the printer is located in.
building?: NullableOption<string>;
// The city that the printer is located in.
city?: NullableOption<string>;
// The country or region that the printer is located in.
countryOrRegion?: NullableOption<string>;
// The floor that the printer is located on. Only numerical values are supported right now.
floor?: NullableOption<string>;
// The description of the floor that the printer is located on.
floorDescription?: NullableOption<string>;
// The latitude that the printer is located at.
latitude?: NullableOption<number>;
// The longitude that the printer is located at.
longitude?: NullableOption<number>;
// The organizational hierarchy that the printer belongs to. The elements should be in hierarchical order.
organization?: NullableOption<string[]>;
// The postal code that the printer is located in.
postalCode?: NullableOption<string>;
// The description of the room that the printer is located in.
roomDescription?: NullableOption<string>;
// The room that the printer is located in. Only numerical values are supported right now.
roomName?: NullableOption<string>;
// The site that the printer is located in.
site?: NullableOption<string>;
// The state or province that the printer is located in.
stateOrProvince?: NullableOption<string>;
// The street address where the printer is located.
streetAddress?: NullableOption<string>;
// The subdivision that the printer is located in. The elements should be in hierarchical order.
subdivision?: NullableOption<string[]>;
subunit?: NullableOption<string[]>;
}
export interface PrinterStatus {
// A human-readable description of the printer's current processing state. Read-only.
description?: NullableOption<string>;
/**
* The list of details describing why the printer is in the current state. Valid values are described in the following
* table. Read-only.
*/
details?: PrinterProcessingStateDetail[];
// The current processing state. Valid values are described in the following table. Read-only.
state?: PrinterProcessingState;
}
export interface PrintJobConfiguration {
// Whether the printer should collate pages wehen printing multiple copies of a multi-page document.
collate?: NullableOption<boolean>;
// The color mode the printer should use to print the job. Valid values are described in the table below. Read-only.
colorMode?: NullableOption<PrintColorMode>;
// The number of copies that should be printed. Read-only.
copies?: NullableOption<number>;
// The resolution to use when printing the job, expressed in dots per inch (DPI). Read-only.
dpi?: NullableOption<number>;
// The duplex mode the printer should use when printing the job. Valid values are described in the table below. Read-only.
duplexMode?: NullableOption<PrintDuplexMode>;
/**
* The orientation to use when feeding media into the printer. Valid values are described in the following table.
* Read-only.
*/
feedOrientation?: NullableOption<PrinterFeedOrientation>;
// Finishing processes to use when printing.
finishings?: NullableOption<PrintFinishing[]>;
fitPdfToPage?: NullableOption<boolean>;
// The input bin (tray) to use when printing. See the printer's capabilities for a list of supported input bins.
inputBin?: NullableOption<string>;
// The margin settings to use when printing.
margin?: NullableOption<PrintMargin>;
// The media size to use when printing. Supports standard size names for ISO and ANSI media sizes.
mediaSize?: NullableOption<string>;
mediaType?: NullableOption<string>;
multipageLayout?: NullableOption<PrintMultipageLayout>;
orientation?: NullableOption<PrintOrientation>;
outputBin?: NullableOption<string>;
pageRanges?: NullableOption<IntegerRange[]>;
pagesPerSheet?: NullableOption<number>;
quality?: NullableOption<PrintQuality>;
scaling?: NullableOption<PrintScaling>;
}
export interface PrintMargin {
// The margin in microns from the bottom edge.
bottom?: NullableOption<number>;
// The margin in microns from the left edge.
left?: NullableOption<number>;
// The margin in microns from the right edge.
right?: NullableOption<number>;
// The margin in microns from the top edge.
top?: NullableOption<number>;
}
export interface PrintJobStatus {
// A human-readable description of the print job's current processing state. Read-only.
description?: string;
// Additional details for print job state. Valid values are described in the following table. Read-only.
details?: PrintJobStateDetail[];
// True if the job was acknowledged by a printer; false otherwise. Read-only.
isAcquiredByPrinter?: boolean;
// The print job's current processing state. Valid values are described in the following table. Read-only.
state?: PrintJobProcessingState;
}
export interface PrintOperationStatus {
// A human-readable description of the printOperation's current processing state. Read-only.
description?: string;
// The printOperation's current processing state. Valid values are described in the following table. Read-only.
state?: PrintOperationProcessingState;
}
export interface PrintSettings {
/**
* Specifies whether document conversion is enabled for the tenant. If document conversion is enabled, Universal Print
* service will automatically convert documents into a format compatible with the printer (xps to pdf) when needed.
*/
documentConversionEnabled?: boolean;
}
export interface PrintTaskStatus {
// A human-readable description of the current processing state of the printTask.
description?: string;
// The current processing state of the printTask. Valid values are described in the following table.
state?: PrintTaskProcessingState;
}
// tslint:disable-next-line: interface-name
export interface ImageInfo {
/**
* Optional; parameter used to indicate the server is able to render image dynamically in response to parameterization.
* For example a high contrast image
*/
addImageQuery?: NullableOption<boolean>;
// Optional; alt-text accessible content for the image
alternateText?: NullableOption<string>;
alternativeText?: NullableOption<string>;
// Optional; URI that points to an icon which represents the application used to generate the activity
iconUrl?: NullableOption<string>;
}
export interface VisualInfo {
// Optional. JSON object used to represent an icon which represents the application used to generate the activity
attribution?: NullableOption<ImageInfo>;
/**
* Optional. Background color used to render the activity in the UI - brand color for the application source of the
* activity. Must be a valid hex color
*/
backgroundColor?: NullableOption<string>;
/**
* Optional. Custom piece of data - JSON object used to provide custom content to render the activity in the Windows Shell
* UI
*/
content?: NullableOption<any>;
/**
* Optional. Longer text description of the user's unique activity (example: document name, first sentence, and/or
* metadata)
*/
description?: NullableOption<string>;
/**
* Required. Short text description of the user's unique activity (for example, document name in cases where an activity
* refers to document creation)
*/
displayText?: string;
}
export interface AssignedTrainingInfo {
// Number of users who were assigned the training in an attack simulation and training campaign.
assignedUserCount?: NullableOption<number>;
// Number of users who completed the training in an attack simulation and training campaign.
completedUserCount?: NullableOption<number>;
// Display name of the training in an attack simulation and training campaign.
displayName?: NullableOption<string>;
}
export interface AttackSimulationRepeatOffender {
// The user in an attack simulation and training campaign.
attackSimulationUser?: NullableOption<AttackSimulationUser>;
// Number of repeat offences of the user in attack simulation and training campaigns.
repeatOffenceCount?: NullableOption<number>;
}
export interface AttackSimulationUser {
// Display name of the user.
displayName?: NullableOption<string>;
// Email address of the user.
email?: NullableOption<string>;
// This is the id property value of the user resource that represents the user in the Azure Active Directory tenant.
userId?: NullableOption<string>;
}
export interface AttackSimulationSimulationUserCoverage {
// User in an attack simulation and training campaign.
attackSimulationUser?: NullableOption<AttackSimulationUser>;
// Number of link clicks in the received payloads by the user in attack simulation and training campaigns.
clickCount?: NullableOption<number>;
// Number of compromising actions by the user in attack simulation and training campaigns.
compromisedCount?: NullableOption<number>;
// Date and time of the latest attack simulation and training campaign that the user was included in.
latestSimulationDateTime?: NullableOption<string>;
// Number of attack simulation and training campaigns that the user was included in.
simulationCount?: NullableOption<number>;
}
export interface AttackSimulationTrainingUserCoverage {
// User in an attack simulation and training campaign.
attackSimulationUser?: NullableOption<AttackSimulationUser>;
// List of assigned trainings and their statuses for the user.
userTrainings?: NullableOption<UserTrainingStatusInfo[]>;
}
export interface UserTrainingStatusInfo {
// Date and time of assignment of the training to the user.
assignedDateTime?: NullableOption<string>;
// Date and time of completion of the training by the user.
completionDateTime?: NullableOption<string>;
// Display name of the assigned training.
displayName?: NullableOption<string>;
/**
* The status of the training assigned to the user. Possible values are: unknown, assigned, inProgress, completed,
* overdue, unknownFutureValue.
*/
trainingStatus?: NullableOption<TrainingStatus>;
}
export interface EmailIdentity extends Identity {
// Email address of the user.
email?: NullableOption<string>;
}
export interface RecommendedAction {
// Web URL to the recommended action.
actionWebUrl?: NullableOption<string>;
// Potential improvement in the tenant security score from the recommended action.
potentialScoreImpact?: NullableOption<number>;
// Title of the recommended action.
title?: NullableOption<string>;
}
export interface SimulationEvent {
// Count of the simulation event occurrence in an attack simulation and training campaign.
count?: NullableOption<number>;
// Name of the simulation event in an attack simulation and training campaign.
eventName?: NullableOption<string>;
}
export interface SimulationEventsContent {
// Actual percentage of users who fell for the simulated attack in an attack simulation and training campaign.
compromisedRate?: NullableOption<number>;
// List of simulation events in an attack simulation and training campaign.
events?: NullableOption<SimulationEvent[]>;
}
export interface SimulationReport {
// Overview of an attack simulation and training campaign.
overview?: NullableOption<SimulationReportOverview>;
// The tenant users and their online actions in an attack simulation and training campaign.
simulationUsers?: NullableOption<UserSimulationDetails[]>;
}
export interface SimulationReportOverview {
/**
* List of recommended actions for a tenant to improve its security posture based on the attack simulation and training
* campaign attack type.
*/
recommendedActions?: NullableOption<RecommendedAction[]>;
// Number of valid users in the attack simulation and training campaign.
resolvedTargetsCount?: NullableOption<number>;
// Summary of simulation events in the attack simulation and training campaign.
simulationEventsContent?: NullableOption<SimulationEventsContent>;
// Summary of assigned trainings in the attack simulation and training campaign.
trainingEventsContent?: NullableOption<TrainingEventsContent>;
}
export interface UserSimulationDetails {
// Number of trainings assigned to a user in an attack simulation and training campaign.
assignedTrainingsCount?: NullableOption<number>;
// Number of trainings completed by a user in an attack simulation and training campaign.
completedTrainingsCount?: NullableOption<number>;
// Date and time of the compromising online action by a user in an attack simulation and training campaign.
compromisedDateTime?: NullableOption<string>;
// Number of trainings in progress by a user in an attack simulation and training campaign.
inProgressTrainingsCount?: NullableOption<number>;
// Indicates whether a user was compromised in an attack simulation and training campaign.
isCompromised?: NullableOption<boolean>;
// Date and time when a user reported the delivered payload as phishing in the attack simulation and training campaign.
reportedPhishDateTime?: NullableOption<string>;
// List of simulation events of a user in the attack simulation and training campaign.
simulationEvents?: NullableOption<UserSimulationEventInfo[]>;
// User in an attack simulation and training campaign.
simulationUser?: NullableOption<AttackSimulationUser>;
// List of training events of a user in the attack simulation and training campaign.
trainingEvents?: NullableOption<UserTrainingEventInfo[]>;
}
export interface TrainingEventsContent {
// List of assigned trainings and their information in an attack simulation and training campaign.
assignedTrainingsInfos?: NullableOption<AssignedTrainingInfo[]>;
// Number of users who were assigned trainings in an attack simulation and training campaign.
trainingsAssignedUserCount?: NullableOption<number>;
}
export interface UserSimulationEventInfo {
/**
* Browser information from where the simulation event was initiated by a user in an attack simulation and training
* campaign.
*/
browser?: NullableOption<string>;
// Date and time of the simulation event by a user in an attack simulation and training campaign.
eventDateTime?: NullableOption<string>;
// Name of the simulation event by a user in an attack simulation and training campaign.
eventName?: NullableOption<string>;
// IP address from where the simulation event was initiated by a user in an attack simulation and training campaign.
ipAddress?: NullableOption<string>;
/**
* The operating system, platform, and device details from where the simulation event was initiated by a user in an attack
* simulation and training campaign.
*/
osPlatformDeviceDetails?: NullableOption<string>;
}
export interface UserTrainingEventInfo {
// Display name of the training.
displayName?: NullableOption<string>;
/**
* Latest status of the training assigned to the user. Possible values are: unknown, assigned, inProgress, completed,
* overdue, unknownFutureValue.
*/
latestTrainingStatus?: NullableOption<TrainingStatus>;
// Event details of the training when it was assigned to the user.
trainingAssignedProperties?: NullableOption<UserTrainingContentEventInfo>;
// Event details of the training when it was completed by the user.
trainingCompletedProperties?: NullableOption<UserTrainingContentEventInfo>;
// Event details of the training when it was updated/in-progress by the user.
trainingUpdatedProperties?: NullableOption<UserTrainingContentEventInfo>;
}
export interface UserTrainingContentEventInfo {
// Browser of the user from where the training event was generated.
browser?: NullableOption<string>;
// Date and time of the training content playback by the user.
contentDateTime?: NullableOption<string>;
// IP address of the user for the training event.
ipAddress?: NullableOption<string>;
// The operating system, platform, and device details of the user for the training event.
osPlatformDeviceDetails?: NullableOption<string>;
// Potential improvement in the tenant security posture after completion of the training by the user.
potentialScoreImpact?: NullableOption<number>;
}
export interface AlertDetection {
detectionType?: NullableOption<string>;
method?: NullableOption<string>;
name?: NullableOption<string>;
}
export interface AlertHistoryState {
appId?: NullableOption<string>;
assignedTo?: NullableOption<string>;
comments?: NullableOption<string[]>;
feedback?: NullableOption<AlertFeedback>;
status?: NullableOption<AlertStatus>;
updatedDateTime?: NullableOption<string>;
user?: NullableOption<string>;
}
export interface AlertTrigger {
// Name of the property serving as a detection trigger.
name?: NullableOption<string>;
// Type of the property in the key:value pair for interpretation. For example, String, Boolean etc.
type?: NullableOption<string>;
// Value of the property serving as a detection trigger.
value?: NullableOption<string>;
}
export interface AverageComparativeScore {
// Average score within specified basis.
averageScore?: NullableOption<number>;
// Scope type. The possible values are: AllTenants, TotalSeats, IndustryTypes.
basis?: NullableOption<string>;
}
export interface CertificationControl {
// Certification control name
name?: NullableOption<string>;
// URL for the Microsoft Service Trust Portal
url?: NullableOption<string>;
}
export interface CloudAppSecurityState {
// Destination IP Address of the connection to the cloud application/service.
destinationServiceIp?: NullableOption<string>;
// Cloud application/service name (for example 'Salesforce', 'DropBox', etc.).
destinationServiceName?: NullableOption<string>;
/**
* Provider-generated/calculated risk score of the Cloud Application/Service. Recommended value range of 0-1, which
* equates to a percentage.
*/
riskScore?: NullableOption<string>;
}
export interface ComplianceInformation {
// Collection of the certification controls associated with certification
certificationControls?: NullableOption<CertificationControl[]>;
// Compliance certification name (for example, ISO 27018:2014, GDPR, FedRAMP, NIST 800-171)
certificationName?: NullableOption<string>;
}
export interface ControlScore {
// Control action category (Identity, Data, Device, Apps, Infrastructure).
controlCategory?: NullableOption<string>;
// Control unique name.
controlName?: NullableOption<string>;
// Description of the control.
description?: NullableOption<string>;
// Tenant achieved score for the control (it varies day by day depending on tenant operations on the control).
score?: NullableOption<number>;
}
export interface FileHash {
// File hash type. Possible values are: unknown, sha1, sha256, md5, authenticodeHash256, lsHash, ctph, peSha1, peSha256.
hashType?: NullableOption<FileHashType>;
// Value of the file hash.
hashValue?: NullableOption<string>;
}
export interface FileSecurityState {
// Complex type containing file hashes (cryptographic and location-sensitive).
fileHash?: NullableOption<FileHash>;
// File name (without path).
name?: NullableOption<string>;
// Full file path of the file/imageFile.
path?: NullableOption<string>;
/**
* Provider generated/calculated risk score of the alert file. Recommended value range of 0-1, which equates to a
* percentage.
*/
riskScore?: NullableOption<string>;
}
export interface HostSecurityState {
// Host FQDN (Fully Qualified Domain Name) (for example, machine.company.com).
fqdn?: NullableOption<string>;
isAzureAdJoined?: NullableOption<boolean>;
isAzureAdRegistered?: NullableOption<boolean>;
// True if the host is domain joined to an on-premises Active Directory domain.
isHybridAzureDomainJoined?: NullableOption<boolean>;
// The local host name, without the DNS domain name.
netBiosName?: NullableOption<string>;
// Host Operating System. (For example, Windows10, MacOS, RHEL, etc.).
os?: NullableOption<string>;
// Private (not routable) IPv4 or IPv6 address (see RFC 1918) at the time of the alert.
privateIpAddress?: NullableOption<string>;
// Publicly routable IPv4 or IPv6 address (see RFC 1918) at time of the alert.
publicIpAddress?: NullableOption<string>;
// Provider-generated/calculated risk score of the host. Recommended value range of 0-1, which equates to a percentage.
riskScore?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
export interface InvestigationSecurityState {
name?: NullableOption<string>;
status?: NullableOption<string>;
}
export interface MalwareState {
// Provider-generated malware category (for example, trojan, ransomware, etc.).
category?: NullableOption<string>;
// Provider-generated malware family (for example, 'wannacry', 'notpetya', etc.).
family?: NullableOption<string>;
// Provider-generated malware variant name (for example, Trojan:Win32/Powessere.H).
name?: NullableOption<string>;
// Provider-determined severity of this malware.
severity?: NullableOption<string>;
/**
* Indicates whether the detected file (malware/vulnerability) was running at the time of detection or was detected at
* rest on the disk.
*/
wasRunning?: NullableOption<boolean>;
}
export interface MessageSecurityState {
connectingIP?: NullableOption<string>;
deliveryAction?: NullableOption<string>;
deliveryLocation?: NullableOption<string>;
directionality?: NullableOption<string>;
internetMessageId?: NullableOption<string>;
messageFingerprint?: NullableOption<string>;
messageReceivedDateTime?: NullableOption<string>;
messageSubject?: NullableOption<string>;
networkMessageId?: NullableOption<string>;
}
export interface NetworkConnection {
// Name of the application managing the network connection (for example, Facebook or SMTP).
applicationName?: NullableOption<string>;
// Destination IP address (of the network connection).
destinationAddress?: NullableOption<string>;
// Destination domain portion of the destination URL. (for example 'www.contoso.com').
destinationDomain?: NullableOption<string>;
// Location (by IP address mapping) associated with the destination of a network connection.
destinationLocation?: NullableOption<string>;
// Destination port (of the network connection).
destinationPort?: NullableOption<string>;
// Network connection URL/URI string - excluding parameters. (for example 'www.contoso.com/products/default.html')
destinationUrl?: NullableOption<string>;
// Network connection direction. Possible values are: unknown, inbound, outbound.
direction?: NullableOption<ConnectionDirection>;
/**
* Date when the destination domain was registered. 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 is 2014-01-01T00:00:00Z
*/
domainRegisteredDateTime?: NullableOption<string>;
/**
* The local DNS name resolution as it appears in the host's local DNS cache (for example, in case the 'hosts' file was
* tampered with).
*/
localDnsName?: NullableOption<string>;
// Network Address Translation destination IP address.
natDestinationAddress?: NullableOption<string>;
// Network Address Translation destination port.
natDestinationPort?: NullableOption<string>;
// Network Address Translation source IP address.
natSourceAddress?: NullableOption<string>;
// Network Address Translation source port.
natSourcePort?: NullableOption<string>;
/**
* Network protocol. Possible values are: unknown, ip, icmp, igmp, ggp, ipv4, tcp, pup, udp, idp, ipv6, ipv6RoutingHeader,
* ipv6FragmentHeader, ipSecEncapsulatingSecurityPayload, ipSecAuthenticationHeader, icmpV6, ipv6NoNextHeader,
* ipv6DestinationOptions, nd, raw, ipx, spx, spxII.
*/
protocol?: NullableOption<SecurityNetworkProtocol>;
/**
* Provider generated/calculated risk score of the network connection. Recommended value range of 0-1, which equates to a
* percentage.
*/
riskScore?: NullableOption<string>;
// Source (i.e. origin) IP address (of the network connection).
sourceAddress?: NullableOption<string>;
// Location (by IP address mapping) associated with the source of a network connection.
sourceLocation?: NullableOption<string>;
// Source (i.e. origin) IP port (of the network connection).
sourcePort?: NullableOption<string>;
// Network connection status. Possible values are: unknown, attempted, succeeded, blocked, failed.
status?: NullableOption<ConnectionStatus>;
// Parameters (suffix) of the destination URL.
urlParameters?: NullableOption<string>;
}
export interface Process {
// User account identifier (user account context the process ran under) for example, AccountName, SID, and so on.
accountName?: NullableOption<string>;
// The full process invocation commandline including all parameters.
commandLine?: NullableOption<string>;
/**
* Time at which the process was started. 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 is 2014-01-01T00:00:00Z.
*/
createdDateTime?: NullableOption<string>;
// Complex type containing file hashes (cryptographic and location-sensitive).
fileHash?: NullableOption<FileHash>;
// The integrity level of the process. Possible values are: unknown, untrusted, low, medium, high, system.
integrityLevel?: NullableOption<ProcessIntegrityLevel>;
// True if the process is elevated.
isElevated?: NullableOption<boolean>;
// The name of the process' Image file.
name?: NullableOption<string>;
/**
* DateTime at which the parent process was started. 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 is 2014-01-01T00:00:00Z.
*/
parentProcessCreatedDateTime?: NullableOption<string>;
// The Process ID (PID) of the parent process.
parentProcessId?: NullableOption<number>;
// The name of the image file of the parent process.
parentProcessName?: NullableOption<string>;
// Full path, including filename.
path?: NullableOption<string>;
// The Process ID (PID) of the process.
processId?: NullableOption<number>;
}
export interface RegistryKeyState {
/**
* A Windows registry hive : HKEY_CURRENT_CONFIG HKEY_CURRENT_USER HKEY_LOCAL_MACHINE/SAM HKEY_LOCAL_MACHINE/Security
* HKEY_LOCAL_MACHINE/Software HKEY_LOCAL_MACHINE/System HKEY_USERS/.Default. Possible values are: unknown, currentConfig,
* currentUser, localMachineSam, localMachineSecurity, localMachineSoftware, localMachineSystem, usersDefault.
*/
hive?: NullableOption<RegistryHive>;
// Current (i.e. changed) registry key (excludes HIVE).
key?: NullableOption<string>;
// Previous (i.e. before changed) registry key (excludes HIVE).
oldKey?: NullableOption<string>;
// Previous (i.e. before changed) registry key value data (contents).
oldValueData?: NullableOption<string>;
// Previous (i.e. before changed) registry key value name.
oldValueName?: NullableOption<string>;
// Operation that changed the registry key name and/or value. Possible values are: unknown, create, modify, delete.
operation?: NullableOption<RegistryOperation>;
/**
* Process ID (PID) of the process that modified the registry key (process details will appear in the alert 'processes'
* collection).
*/
processId?: NullableOption<number>;
// Current (i.e. changed) registry key value data (contents).
valueData?: NullableOption<string>;
// Current (i.e. changed) registry key value name
valueName?: NullableOption<string>;
/**
* Registry key value type REG_BINARY REG_DWORD REG_DWORD_LITTLE_ENDIAN REG_DWORD_BIG_ENDIANREG_EXPAND_SZ REG_LINK
* REG_MULTI_SZ REG_NONE REG_QWORD REG_QWORD_LITTLE_ENDIAN REG_SZ Possible values are: unknown, binary, dword,
* dwordLittleEndian, dwordBigEndian, expandSz, link, multiSz, none, qword, qwordlittleEndian, sz.
*/
valueType?: NullableOption<RegistryValueType>;
}
export interface SecureScoreControlStateUpdate {
// Assigns the control to the user who will take the action.
assignedTo?: NullableOption<string>;
// Provides optional comment about the control.
comment?: NullableOption<string>;
// State of the control, which can be modified via a PATCH command (for example, ignored, thirdParty).
state?: NullableOption<string>;
// ID of the user who updated tenant state.
updatedBy?: NullableOption<string>;
// Time at which the control state was updated.
updatedDateTime?: NullableOption<string>;
}
export interface SecurityResource {
// Name of the resource that is related to current alert. Required.
resource?: NullableOption<string>;
// Represents type of security resources related to an alert. Possible values are: attacked, related.
resourceType?: NullableOption<SecurityResourceType>;
}
export interface SecurityVendorInformation {
// Specific provider (product/service - not vendor company); for example, WindowsDefenderATP.
provider?: NullableOption<string>;
// Version of the provider or subprovider, if it exists, that generated the alert. Required
providerVersion?: NullableOption<string>;
// Specific subprovider (under aggregating provider); for example, WindowsDefenderATP.SmartScreen.
subProvider?: NullableOption<string>;
// Name of the alert vendor (for example, Microsoft, Dell, FireEye). Required
vendor?: NullableOption<string>;
}
export interface UriClickSecurityState {
clickAction?: NullableOption<string>;
clickDateTime?: NullableOption<string>;
id?: NullableOption<string>;
sourceId?: NullableOption<string>;
uriDomain?: NullableOption<string>;
verdict?: NullableOption<string>;
}
export interface UserSecurityState {
// AAD User object identifier (GUID) - represents the physical/multi-account user entity.
aadUserId?: NullableOption<string>;
// Account name of user account (without Active Directory domain or DNS domain) - (also called mailNickName).
accountName?: NullableOption<string>;
// NetBIOS/Active Directory domain of user account (that is, domain/account format).
domainName?: NullableOption<string>;
// For email-related alerts - user account's email 'role'. Possible values are: unknown, sender, recipient.
emailRole?: NullableOption<EmailRole>;
// Indicates whether the user logged on through a VPN.
isVpn?: NullableOption<boolean>;
/**
* Time at which the sign-in occurred. 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 is 2014-01-01T00:00:00Z.
*/
logonDateTime?: NullableOption<string>;
// User sign-in ID.
logonId?: NullableOption<string>;
// IP Address the sign-in request originated from.
logonIp?: NullableOption<string>;
// Location (by IP address mapping) associated with a user sign-in event by this user.
logonLocation?: NullableOption<string>;
// Method of user sign in. Possible values are: unknown, interactive, remoteInteractive, network, batch, service.
logonType?: NullableOption<LogonType>;
// Active Directory (on-premises) Security Identifier (SID) of the user.
onPremisesSecurityIdentifier?: NullableOption<string>;
/**
* Provider-generated/calculated risk score of the user account. Recommended value range of 0-1, which equates to a
* percentage.
*/
riskScore?: NullableOption<string>;
/**
* User account type (group membership), per Windows definition. Possible values are: unknown, standard, power,
* administrator.
*/
userAccountType?: NullableOption<UserAccountSecurityType>;
// User sign-in name - internet format: (user account name)@(user account DNS domain name).
userPrincipalName?: NullableOption<string>;
}
export interface VulnerabilityState {
// Common Vulnerabilities and Exposures (CVE) for the vulnerability.
cve?: NullableOption<string>;
// Base Common Vulnerability Scoring System (CVSS) severity score for this vulnerability.
severity?: NullableOption<string>;
/**
* Indicates whether the detected vulnerability (file) was running at the time of detection or was the file detected at
* rest on the disk.
*/
wasRunning?: NullableOption<boolean>;
}
// tslint:disable-next-line: no-empty-interface
export interface ParticipantJoiningResponse {}
// tslint:disable-next-line: no-empty-interface
export interface AcceptJoinResponse extends ParticipantJoiningResponse {}
// tslint:disable-next-line: no-empty-interface
export interface MediaConfig {}
export interface AppHostedMediaConfig extends MediaConfig {
// The media configuration blob generated by smart media agent.
blob?: NullableOption<string>;
}
export interface AttendanceInterval {
// Duration of the meeting interval in seconds; that is, the difference between joinDateTime and leaveDateTime.
durationInSeconds?: NullableOption<number>;
// The time the attendee joined in UTC.
joinDateTime?: NullableOption<string>;
// The time the attendee left in UTC.
leaveDateTime?: NullableOption<string>;
}
export interface BroadcastMeetingCaptionSettings {
// Indicates whether captions are enabled for this Teams live event.
isCaptionEnabled?: NullableOption<boolean>;
// The spoken language.
spokenLanguage?: NullableOption<string>;
// The translation languages (choose up to 6).
translationLanguages?: NullableOption<string[]>;
}
export interface CallMediaState {
// The audio media state. Possible values are: active, inactive, unknownFutureValue.
audio?: NullableOption<MediaState>;
}
export interface CallOptions {
// Indicates whether to hide the app after the call is escalated.
hideBotAfterEscalation?: NullableOption<boolean>;
// Indicates whether content sharing notifications should be enabled for the call.
isContentSharingNotificationEnabled?: NullableOption<boolean>;
}
export interface CallRoute {
// The identity that was resolved to in the call.
final?: IdentitySet;
// The identity that was originally used in the call.
original?: IdentitySet;
// Possible values are: forwarded, lookup, selfFork.
routingType?: RoutingType;
}
export interface CallTranscriptionInfo {
// The state modified time in UTC.
lastModifiedDateTime?: NullableOption<string>;
// Possible values are: notStarted, active, inactive.
state?: CallTranscriptionState;
}
export interface CommsNotification {
// Possible values are: created, updated, deleted.
changeType?: ChangeType;
// URI of the resource that was changed.
resourceUrl?: string;
}
export interface CommsNotifications {
// The notification of a change in the resource.
value?: NullableOption<CommsNotification[]>;
}
// tslint:disable-next-line: interface-name no-empty-interface
export interface IncomingCallOptions extends CallOptions {}
// tslint:disable-next-line: interface-name
export interface IncomingContext {
// The ID of the participant that is under observation. Read-only.
observedParticipantId?: NullableOption<string>;
// The identity that the call is happening on behalf of.
onBehalfOf?: NullableOption<IdentitySet>;
// The ID of the participant that triggered the incoming call. Read-only.
sourceParticipantId?: NullableOption<string>;
// The identity that transferred the call.
transferor?: NullableOption<IdentitySet>;
}
// tslint:disable-next-line: interface-name
export interface InvitationParticipantInfo {
// Optional. Whether to hide the participant from the roster.
hidden?: NullableOption<boolean>;
// The identitySet associated with this invitation.
identity?: IdentitySet;
// Optional. The ID of the target participant.
participantId?: NullableOption<string>;
// Optional. Whether to remove them from the main mixer.
removeFromDefaultAudioRoutingGroup?: NullableOption<boolean>;
/**
* Optional. The call which the target identity is currently a part of. For peer-to-peer case, the call will be dropped
* once the participant is added successfully.
*/
replacesCallId?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
export interface InviteNewBotResponse extends ParticipantJoiningResponse {
// URI to receive new incoming call notification.
inviteUri?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface MeetingInfo {}
export interface JoinMeetingIdMeetingInfo extends MeetingInfo {
// The ID used to join the meeting.
joinMeetingId?: string;
// The passcode used to join the meeting. Optional.
passcode?: NullableOption<string>;
}
export interface MediaInfo {
/**
* Optional. Used to uniquely identity the resource. If passed in, the prompt uri will be cached against this resourceId
* as a key.
*/
resourceId?: NullableOption<string>;
/**
* Path to the prompt that will be played. Currently supports only Wave file (.wav) format, single-channel, 16-bit samples
* with a 16,000 (16KHz) sampling rate.
*/
uri?: string;
}
// tslint:disable-next-line: no-empty-interface
export interface Prompt {}
export interface MediaPrompt extends Prompt {
// The media information
mediaInfo?: MediaInfo;
}
export interface MediaStream {
// The direction. The possible values are inactive, sendOnly, receiveOnly, sendReceive.
direction?: MediaDirection;
// The media stream label.
label?: NullableOption<string>;
// The media type. The possible value are unknown, audio, video, videoBasedScreenSharing, data.
mediaType?: Modality;
// If the media is muted by the server.
serverMuted?: boolean;
// The source ID.
sourceId?: string;
}
export interface MeetingParticipantInfo {
// Identity information of the participant.
identity?: NullableOption<IdentitySet>;
// Specifies the participant's role in the meeting.
role?: NullableOption<OnlineMeetingRole>;
// User principal name of the participant.
upn?: NullableOption<string>;
}
export interface OnlineMeetingRestricted {
/**
* Specifies the reason shared content from this participant is disabled. Possible values are: watermarkProtection,
* unknownFutureValue.
*/
contentSharingDisabled?: NullableOption<OnlineMeetingContentSharingDisabledReason>;
/**
* Specifies the reason video from this participant is disabled. Possible values are: watermarkProtection,
* unknownFutureValue.
*/
videoDisabled?: NullableOption<OnlineMeetingVideoDisabledReason>;
}
export interface OrganizerMeetingInfo extends MeetingInfo {
// The organizer Azure Active Directory identity.
organizer?: IdentitySet;
}
// tslint:disable-next-line: no-empty-interface
export interface OutgoingCallOptions extends CallOptions {}
export interface ParticipantInfo {
/**
* The ISO 3166-1 Alpha-2 country code of the participant's best estimated physical location at the start of the call.
* Read-only.
*/
countryCode?: NullableOption<string>;
/**
* The type of endpoint the participant is using. Possible values are: default, skypeForBusiness, or
* skypeForBusinessVoipPhone. Read-only.
*/
endpointType?: NullableOption<EndpointType>;
// The identitySet associated with this participant. Read-only.
identity?: IdentitySet;
// The language culture string. Read-only.
languageId?: NullableOption<string>;
// The participant ID of the participant. Read-only.
participantId?: NullableOption<string>;
/**
* The home region of the participant. This can be a country, a continent, or a larger geographic region. This does not
* change based on the participant's current physical location. Read-only.
*/
region?: NullableOption<string>;
}
export interface RecordingInfo {
// The identities of the recording initiator.
initiator?: NullableOption<IdentitySet>;
// Possible values are: unknown, notRecording, recording, or failed.
recordingStatus?: RecordingStatus;
}
export interface RejectJoinResponse extends ParticipantJoiningResponse {
// The rejection reason. Possible values are None, Busy, and Forbidden.
reason?: RejectReason;
}
export interface ServiceHostedMediaConfig extends MediaConfig {
// The list of media to pre-fetch.
preFetchMedia?: NullableOption<MediaInfo[]>;
}
export interface TeleconferenceDeviceMediaQuality {
// The average inbound stream network jitter.
averageInboundJitter?: NullableOption<string>;
// The average inbound stream packet loss rate in percentage (0-100). For example, 0.01 means 0.01%.
averageInboundPacketLossRateInPercentage?: NullableOption<number>;
// The average inbound stream network round trip delay.
averageInboundRoundTripDelay?: NullableOption<string>;
// The average outbound stream network jitter.
averageOutboundJitter?: NullableOption<string>;
// The average outbound stream packet loss rate in percentage (0-100). For example, 0.01 means 0.01%.
averageOutboundPacketLossRateInPercentage?: NullableOption<number>;
// The average outbound stream network round trip delay.
averageOutboundRoundTripDelay?: NullableOption<string>;
/**
* The channel index of media. Indexing begins with 1. If a media session contains 3 video modalities, channel indexes
* will be 1, 2, and 3.
*/
channelIndex?: number;
// The total number of the inbound packets.
inboundPackets?: NullableOption<number>;
// the local IP address for the media session.
localIPAddress?: NullableOption<string>;
// The local media port.
localPort?: NullableOption<number>;
// The maximum inbound stream network jitter.
maximumInboundJitter?: NullableOption<string>;
// The maximum inbound stream packet loss rate in percentage (0-100). For example, 0.01 means 0.01%.
maximumInboundPacketLossRateInPercentage?: NullableOption<number>;
// The maximum inbound stream network round trip delay.
maximumInboundRoundTripDelay?: NullableOption<string>;
// The maximum outbound stream network jitter.
maximumOutboundJitter?: NullableOption<string>;
// The maximum outbound stream packet loss rate in percentage (0-100). For example, 0.01 means 0.01%.
maximumOutboundPacketLossRateInPercentage?: NullableOption<number>;
// The maximum outbound stream network round trip delay.
maximumOutboundRoundTripDelay?: NullableOption<string>;
/**
* The total modality duration. If the media enabled and disabled multiple times, MediaDuration will the summation of all
* of the durations.
*/
mediaDuration?: NullableOption<string>;
// The network link speed in bytes
networkLinkSpeedInBytes?: NullableOption<number>;
// The total number of the outbound packets.
outboundPackets?: NullableOption<number>;
// The remote IP address for the media session.
remoteIPAddress?: NullableOption<string>;
// The remote media port.
remotePort?: NullableOption<number>;
}
// tslint:disable-next-line: no-empty-interface
export interface TeleconferenceDeviceAudioQuality extends TeleconferenceDeviceMediaQuality {}
export interface TeleconferenceDeviceQuality {
/**
* A unique identifier for all the participant calls in a conference or a unique identifier for two participant calls in
* P2P call. This needs to be copied over from Microsoft.Graph.Call.CallChainId.
*/
callChainId?: string;
// A geo-region where the service is deployed, such as ProdNoam.
cloudServiceDeploymentEnvironment?: NullableOption<string>;
// A unique deployment identifier assigned by Azure.
cloudServiceDeploymentId?: NullableOption<string>;
// The Azure deployed cloud service instance name, such as FrontEnd_IN_3.
cloudServiceInstanceName?: NullableOption<string>;
// The Azure deployed cloud service name, such as contoso.cloudapp.net.
cloudServiceName?: NullableOption<string>;
// Any additional description, such as VTC Bldg 30/21.
deviceDescription?: string;
// The user media agent name, such as Cisco SX80.
deviceName?: string;
/**
* A unique identifier for a specific media leg of a participant in a conference. One participant can have multiple media
* leg identifiers if retargeting happens. CVI partner assigns this value.
*/
mediaLegId?: string;
/**
* The list of media qualities in a media session (call), such as audio quality, video quality, and/or screen sharing
* quality.
*/
mediaQualityList?: TeleconferenceDeviceMediaQuality[];
/**
* A unique identifier for a specific participant in a conference. The CVI partner needs to copy over Call.MyParticipantId
* to this property.
*/
participantId?: string;
}
export interface TeleconferenceDeviceVideoQuality extends TeleconferenceDeviceMediaQuality {
// The average inbound stream video bit rate per second.
averageInboundBitRate?: NullableOption<number>;
// The average inbound stream video frame rate per second.
averageInboundFrameRate?: NullableOption<number>;
// The average outbound stream video bit rate per second.
averageOutboundBitRate?: NullableOption<number>;
// The average outbound stream video frame rate per second.
averageOutboundFrameRate?: NullableOption<number>;
}
// tslint:disable-next-line: no-empty-interface
export interface TeleconferenceDeviceScreenSharingQuality extends TeleconferenceDeviceVideoQuality {}
export interface TokenMeetingInfo extends MeetingInfo {
// The token used to join the call.
token?: string;
}
export interface ToneInfo {
// An incremental identifier used for ordering DTMF events.
sequenceId?: number;
/**
* Possible values are: tone0, tone1, tone2, tone3, tone4, tone5, tone6, tone7, tone8, tone9, star, pound, a, b, c, d,
* flash.
*/
tone?: Tone;
}
export interface PasswordResetResponse {
// The Azure AD-generated password.
newPassword?: NullableOption<string>;
}
export interface ChangeNotification {
/**
* Indicates the type of change that will raise the change notification. The supported values are: created, updated,
* deleted. Required.
*/
changeType?: ChangeType;
/**
* Value of the clientState property sent in the subscription request (if any). The maximum length is 255 characters. The
* client can check whether the change notification came from the service by comparing the values of the clientState
* property. The value of the clientState property sent with the subscription is compared with the value of the
* clientState property received with each change notification. Optional.
*/
clientState?: NullableOption<string>;
/**
* (Preview) Encrypted content attached with the change notification. Only provided if encryptionCertificate and
* includeResourceData were defined during the subscription request and if the resource supports it. Optional.
*/
encryptedContent?: NullableOption<ChangeNotificationEncryptedContent>;
// Unique ID for the notification. Optional.
id?: NullableOption<string>;
/**
* The type of lifecycle notification if the current notification is a lifecycle notification. Optional. Supported values
* are missed, subscriptionRemoved, reauthorizationRequired. Optional.
*/
lifecycleEvent?: NullableOption<LifecycleEventType>;
// The URI of the resource that emitted the change notification relative to https://graph.microsoft.com. Required.
resource?: string;
// The content of this property depends on the type of resource being subscribed to. Optional.
resourceData?: NullableOption<ResourceData>;
// The expiration time for the subscription. Required.
subscriptionExpirationDateTime?: string;
// The unique identifier of the subscription that generated the notification.Required.
subscriptionId?: string;
// The unique identifier of the tenant from which the change notification originated. Required.
tenantId?: string;
}
export interface ChangeNotificationEncryptedContent {
/**
* Base64-encoded encrypted data that produces a full resource respresented as JSON. The data has been encrypted with the
* provided dataKey using an AES/CBC/PKCS5PADDING cipher suite.
*/
data?: string;
/**
* Base64-encoded symmetric key generated by Microsoft Graph to encrypt the data value and to generate the data signature.
* This key is encrypted with the certificate public key that was provided during the subscription. It must be decrypted
* with the certificate private key before it can be used to decrypt the data or verify the signature. This key has been
* encrypted with the following cipher suite: RSA/ECB/OAEPWithSHA1AndMGF1Padding.
*/
dataKey?: string;
// Base64-encoded HMAC-SHA256 hash of the data for validation purposes.
dataSignature?: string;
// ID of the certificate used to encrypt the dataKey.
encryptionCertificateId?: string;
// Hexadecimal representation of the thumbprint of the certificate used to encrypt the dataKey.
encryptionCertificateThumbprint?: string;
}
// tslint:disable-next-line: no-empty-interface
export interface ResourceData {}
export interface ChangeNotificationCollection {
/**
* Contains an array of JWT tokens generated by Microsoft Graph for the application to validate the origin of the
* notifications. Microsoft Graph generates a single token for each distinct app and tenant pair for an item if it exists
* in the value array. Keep in mind that notifications can contain a mix of items for various apps and tenants that
* subscribed using the same notification URL. Only provided for change notifications with resource data. Optional.
*/
validationTokens?: NullableOption<string[]>;
// The set of notifications being sent to the notification URL. Required.
value?: ChangeNotification[];
}
export interface ActionResultPart {
// The error that occurred, if any, during the course of the bulk operation.
error?: NullableOption<PublicError>;
}
export interface AadUserConversationMemberResult extends ActionResultPart {
userId?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface TeamworkNotificationRecipient {}
export interface AadUserNotificationRecipient extends TeamworkNotificationRecipient {
// Azure AD user identifier. Use the List users method to get this ID.
userId?: string;
}
// tslint:disable-next-line: no-empty-interface
export interface EventMessageDetail {}
export interface CallEndedEventMessageDetail extends EventMessageDetail {
// Duration of the call.
callDuration?: NullableOption<string>;
// Represents the call event type. Possible values are: call, meeting, screenShare, unknownFutureValue.
callEventType?: NullableOption<TeamworkCallEventType>;
// Unique identifier of the call.
callId?: NullableOption<string>;
// List of call participants.
callParticipants?: NullableOption<CallParticipantInfo[]>;
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
}
export interface CallParticipantInfo {
// Identity of the call participant.
participant?: NullableOption<IdentitySet>;
}
export interface CallRecordingEventMessageDetail extends EventMessageDetail {
// Unique identifier of the call.
callId?: NullableOption<string>;
// Display name for the call recording.
callRecordingDisplayName?: NullableOption<string>;
// Duration of the call recording.
callRecordingDuration?: NullableOption<string>;
// Status of the call recording. Possible values are: success, failure, initial, chunkFinished, unknownFutureValue.
callRecordingStatus?: NullableOption<CallRecordingStatus>;
// Call recording URL.
callRecordingUrl?: NullableOption<string>;
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
// Organizer of the meeting.
meetingOrganizer?: NullableOption<IdentitySet>;
}
export interface CallStartedEventMessageDetail extends EventMessageDetail {
// Represents the call event type. Possible values are: call, meeting, screenShare, unknownFutureValue.
callEventType?: NullableOption<TeamworkCallEventType>;
// Unique identifier of the call.
callId?: NullableOption<string>;
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
}
export interface CallTranscriptEventMessageDetail extends EventMessageDetail {
// Unique identifier of the call.
callId?: NullableOption<string>;
// Unique identifier for a call transcript.
callTranscriptICalUid?: NullableOption<string>;
// The organizer of the meeting.
meetingOrganizer?: NullableOption<IdentitySet>;
}
export interface ChannelAddedEventMessageDetail extends EventMessageDetail {
// Display name of the channel.
channelDisplayName?: NullableOption<string>;
// Unique identifier of the channel.
channelId?: NullableOption<string>;
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
}
export interface ChannelDeletedEventMessageDetail extends EventMessageDetail {
// Display name of the channel.
channelDisplayName?: NullableOption<string>;
// Unique identifier of the channel.
channelId?: NullableOption<string>;
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
}
export interface ChannelDescriptionUpdatedEventMessageDetail extends EventMessageDetail {
// The updated description of the channel.
channelDescription?: NullableOption<string>;
// Unique identifier of the channel.
channelId?: NullableOption<string>;
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
}
export interface ChannelIdentity {
// The identity of the channel in which the message was posted.
channelId?: NullableOption<string>;
// The identity of the team in which the message was posted.
teamId?: NullableOption<string>;
}
export interface ChannelMembersNotificationRecipient extends TeamworkNotificationRecipient {
// The unique identifier for the channel whose members should receive the notification.
channelId?: string;
// The unique identifier for the team under which the channel resides.
teamId?: string;
}
export interface ChannelRenamedEventMessageDetail extends EventMessageDetail {
// The updated name of the channel.
channelDisplayName?: NullableOption<string>;
// Unique identifier of the channel.
channelId?: NullableOption<string>;
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
}
export interface ChannelSetAsFavoriteByDefaultEventMessageDetail extends EventMessageDetail {
// Unique identifier of the channel.
channelId?: NullableOption<string>;
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
}
export interface ChannelUnsetAsFavoriteByDefaultEventMessageDetail extends EventMessageDetail {
// Unique identifier of the channel.
channelId?: NullableOption<string>;
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
}
export interface ChatMembersNotificationRecipient extends TeamworkNotificationRecipient {
// The unique identifier for the chat whose members should receive the notifications.
chatId?: string;
}
export interface ChatMessageAttachment {
/**
* The content of the attachment. If the attachment is a rich card, set the property to the rich card object. This
* property and contentUrl are mutually exclusive.
*/
content?: NullableOption<string>;
/**
* The media type of the content attachment. It can have the following values: reference: Attachment is a link to another
* file. Populate the contentURL with the link to the object.Any contentTypes supported by the Bot Framework's Attachment
* objectapplication/vnd.microsoft.card.codesnippet: A code snippet. application/vnd.microsoft.card.announcement: An
* announcement header.
*/
contentType?: NullableOption<string>;
// URL for the content of the attachment. Supported protocols: http, https, file and data.
contentUrl?: NullableOption<string>;
// Read-only. Unique id of the attachment.
id?: NullableOption<string>;
// Name of the attachment.
name?: NullableOption<string>;
/**
* The ID of the Teams app that is associated with the attachment. The property is specifically used to attribute a Teams
* message card to the specified app.
*/
teamsAppId?: NullableOption<string>;
/**
* URL to a thumbnail image that the channel can use if it supports using an alternative, smaller form of content or
* contentUrl. For example, if you set contentType to application/word and set contentUrl to the location of the Word
* document, you might include a thumbnail image that represents the document. The channel could display the thumbnail
* image instead of the document. When the user clicks the image, the channel would open the document.
*/
thumbnailUrl?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
export interface ChatMessageFromIdentitySet extends IdentitySet {}
export interface ChatMessageHistoryItem {
/**
* The modification actions of a message item.The possible values are: reactionAdded, reactionRemoved, actionUndefined,
* unknownFutureValue.
*/
actions?: ChatMessageActions;
// The date and time when the message was modified.
modifiedDateTime?: string;
// The reaction in the modified message.
reaction?: NullableOption<ChatMessageReaction>;
}
export interface ChatMessageReaction {
/**
* 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 is 2014-01-01T00:00:00Z
*/
createdDateTime?: string;
// Supported values are like, angry, sad, laugh, heart, surprised.
reactionType?: string;
// The user who reacted to the message.
user?: ChatMessageReactionIdentitySet;
}
export interface ChatMessageMention {
/**
* Index of an entity being mentioned in the specified chatMessage. Matches the {index} value in the corresponding
* &amp;lt;at id='{index}'&amp;gt; tag in the message body.
*/
id?: NullableOption<number>;
// The entity (user, application, team, or channel) that was @mentioned.
mentioned?: NullableOption<ChatMessageMentionedIdentitySet>;
// String used to represent the mention. For example, a user's display name, a team name.
mentionText?: NullableOption<string>;
}
export interface ChatMessageMentionedIdentitySet extends IdentitySet {
// If present, represents a conversation (for example, team or channel) @mentioned in a message.
conversation?: NullableOption<TeamworkConversationIdentity>;
}
export interface TeamworkConversationIdentity extends Identity {
// Type of conversation. Possible values are: team, channel, chat, and unknownFutureValue.
conversationIdentityType?: NullableOption<TeamworkConversationIdentityType>;
}
export interface ChatMessagePolicyViolation {
/**
* The action taken by the DLP provider on the message with sensitive content. Supported values are: NoneNotifySender --
* Inform the sender of the violation but allow readers to read the message.BlockAccess -- Block readers from reading the
* message.BlockAccessExternal -- Block users outside the organization from reading the message, while allowing users
* within the organization to read the message.
*/
dlpAction?: NullableOption<ChatMessagePolicyViolationDlpActionTypes>;
// Justification text provided by the sender of the message when overriding a policy violation.
justificationText?: NullableOption<string>;
// Information to display to the message sender about why the message was flagged as a violation.
policyTip?: NullableOption<ChatMessagePolicyViolationPolicyTip>;
/**
* Indicates the action taken by the user on a message blocked by the DLP provider. Supported values are:
* NoneOverrideReportFalsePositiveWhen the DLP provider is updating the message for blocking sensitive content, userAction
* is not required.
*/
userAction?: NullableOption<ChatMessagePolicyViolationUserActionTypes>;
/**
* Indicates what actions the sender may take in response to the policy violation. Supported values are:
* NoneAllowFalsePositiveOverride -- Allows the sender to declare the policyViolation to be an error in the DLP app and
* its rules, and allow readers to see the message again if the dlpAction had hidden it.AllowOverrideWithoutJustification
* -- Allows the sender to overriide the DLP violation and allow readers to see the message again if the dlpAction had
* hidden it, without needing to provide an explanation for doing so. AllowOverrideWithJustification -- Allows the sender
* to overriide the DLP violation and allow readers to see the message again if the dlpAction had hidden it, after
* providing an explanation for doing so.AllowOverrideWithoutJustification and AllowOverrideWithJustification are mutually
* exclusive.
*/
verdictDetails?: NullableOption<ChatMessagePolicyViolationVerdictDetailsTypes>;
}
export interface ChatMessagePolicyViolationPolicyTip {
/**
* The URL a user can visit to read about the data loss prevention policies for the organization. (ie, policies about what
* users shouldn't say in chats)
*/
complianceUrl?: NullableOption<string>;
// Explanatory text shown to the sender of the message.
generalText?: NullableOption<string>;
/**
* The list of improper data in the message that was detected by the data loss prevention app. Each DLP app defines its
* own conditions, examples include 'Credit Card Number' and 'Social Security Number'.
*/
matchedConditionDescriptions?: NullableOption<string[]>;
}
// tslint:disable-next-line: no-empty-interface
export interface ChatMessageReactionIdentitySet extends IdentitySet {}
export interface ChatRenamedEventMessageDetail extends EventMessageDetail {
// The updated name of the chat.
chatDisplayName?: NullableOption<string>;
// Unique identifier of the chat.
chatId?: NullableOption<string>;
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
}
export interface ChatViewpoint {
// Indicates whether the chat is hidden for the current user.
isHidden?: NullableOption<boolean>;
// Represents the dateTime up until which the current user has read chatMessages in a specific chat.
lastMessageReadDateTime?: NullableOption<string>;
}
export interface ConversationMemberRoleUpdatedEventMessageDetail extends EventMessageDetail {
// Roles for the coversation member user.
conversationMemberRoles?: NullableOption<string[]>;
// Identity of the conversation member user.
conversationMemberUser?: NullableOption<TeamworkUserIdentity>;
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
}
export interface TeamworkUserIdentity extends Identity {
/**
* Type of user. Possible values are: aadUser, onPremiseAadUser, anonymousGuest, federatedUser,
* personalMicrosoftAccountUser, skypeUser, phoneUser, unknownFutureValue and emailUser.
*/
userIdentityType?: NullableOption<TeamworkUserIdentityType>;
}
export interface MeetingPolicyUpdatedEventMessageDetail extends EventMessageDetail {
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
// Represents whether the meeting chat is enabled or not.
meetingChatEnabled?: NullableOption<boolean>;
// Unique identifier of the meeting chat.
meetingChatId?: NullableOption<string>;
}
export interface MembersAddedEventMessageDetail extends EventMessageDetail {
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
// List of members added.
members?: NullableOption<TeamworkUserIdentity[]>;
// The timestamp that denotes how far back a conversation's history is shared with the conversation members.
visibleHistoryStartDateTime?: NullableOption<string>;
}
export interface MembersDeletedEventMessageDetail extends EventMessageDetail {
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
// List of members deleted.
members?: NullableOption<TeamworkUserIdentity[]>;
}
export interface MembersJoinedEventMessageDetail extends EventMessageDetail {
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
// List of members who joined the chat.
members?: NullableOption<TeamworkUserIdentity[]>;
}
export interface MembersLeftEventMessageDetail extends EventMessageDetail {
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
// List of members who left the chat.
members?: NullableOption<TeamworkUserIdentity[]>;
}
export interface MessagePinnedEventMessageDetail extends EventMessageDetail {
// Date and time when the event occurred.
eventDateTime?: NullableOption<string>;
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
}
export interface MessageUnpinnedEventMessageDetail extends EventMessageDetail {
// Date and time when the event occurred.
eventDateTime?: NullableOption<string>;
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
}
export interface OperationError {
// Operation error code.
code?: NullableOption<string>;
// Operation error message.
message?: NullableOption<string>;
}
export interface ProvisionChannelEmailResult {
// Represents the provisioned email address.
email?: NullableOption<string>;
}
export interface TabUpdatedEventMessageDetail extends EventMessageDetail {
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
// Unique identifier of the tab.
tabId?: NullableOption<string>;
}
export interface TeamArchivedEventMessageDetail extends EventMessageDetail {
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
// Unique identifier of the team.
teamId?: NullableOption<string>;
}
export interface TeamClassSettings {
/**
* If set to true, enables sending of weekly assignments digest emails to parents/guardians, provided the tenant admin has
* enabled the setting globally.
*/
notifyGuardiansAboutAssignments?: NullableOption<boolean>;
}
export interface TeamCreatedEventMessageDetail extends EventMessageDetail {
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
// Description for the team.
teamDescription?: NullableOption<string>;
// Display name of the team.
teamDisplayName?: NullableOption<string>;
// Unique identifier of the team.
teamId?: NullableOption<string>;
}
export interface TeamDescriptionUpdatedEventMessageDetail extends EventMessageDetail {
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
// The updated description for the team.
teamDescription?: NullableOption<string>;
// Unique identifier of the team.
teamId?: NullableOption<string>;
}
export interface TeamJoiningDisabledEventMessageDetail extends EventMessageDetail {
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
// Unique identifier of the team.
teamId?: NullableOption<string>;
}
export interface TeamJoiningEnabledEventMessageDetail extends EventMessageDetail {
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
// Unique identifier of the team.
teamId?: NullableOption<string>;
}
export interface TeamMembersNotificationRecipient extends TeamworkNotificationRecipient {
// The unique identifier for the team whose members should receive the notification.
teamId?: string;
}
export interface TeamRenamedEventMessageDetail extends EventMessageDetail {
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
// The updated name of the team.
teamDisplayName?: NullableOption<string>;
// Unique identifier of the team.
teamId?: NullableOption<string>;
}
export interface TeamsAppInstalledEventMessageDetail extends EventMessageDetail {
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
// Display name of the teamsApp.
teamsAppDisplayName?: NullableOption<string>;
// Unique identifier of the teamsApp.
teamsAppId?: NullableOption<string>;
}
export interface TeamsAppRemovedEventMessageDetail extends EventMessageDetail {
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
// Display name of the teamsApp.
teamsAppDisplayName?: NullableOption<string>;
// Unique identifier of the teamsApp.
teamsAppId?: NullableOption<string>;
}
export interface TeamsAppUpgradedEventMessageDetail extends EventMessageDetail {
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
// Display name of the teamsApp.
teamsAppDisplayName?: NullableOption<string>;
// Unique identifier of the teamsApp.
teamsAppId?: NullableOption<string>;
}
export interface TeamsTabConfiguration {
// Url used for rendering tab contents in Teams. Required.
contentUrl?: NullableOption<string>;
// Identifier for the entity hosted by the tab provider.
entityId?: NullableOption<string>;
// Url called by Teams client when a Tab is removed using the Teams Client.
removeUrl?: NullableOption<string>;
// Url for showing tab contents outside of Teams.
websiteUrl?: NullableOption<string>;
}
export interface TeamUnarchivedEventMessageDetail extends EventMessageDetail {
// Initiator of the event.
initiator?: NullableOption<IdentitySet>;
// Unique identifier of the team.
teamId?: NullableOption<string>;
}
export interface TeamworkActivityTopic {
/**
* Type of source. Possible values are: entityUrl, text. For supported Microsoft Graph URLs, use entityUrl. For custom
* text, use text.
*/
source?: NullableOption<TeamworkActivityTopicSource>;
/**
* The topic value. If the value of the source property is entityUrl, this must be a Microsoft Graph URL. If the vaule is
* text, this must be a plain text value.
*/
value?: string;
/**
* The link the user clicks when they select the notification. Optional when source is entityUrl; required when source is
* text.
*/
webUrl?: NullableOption<string>;
}
export interface TeamworkApplicationIdentity extends Identity {
/**
* Type of application that is referenced. Possible values are: aadApplication, bot, tenantBot, office365Connector,
* outgoingWebhook, and unknownFutureValue.
*/
applicationIdentityType?: NullableOption<TeamworkApplicationIdentityType>;
}
export interface TeamworkOnlineMeetingInfo {
// The identifier of the calendar event associated with the meeting.
calendarEventId?: NullableOption<string>;
// The URL that users click to join or uniquely identify the meeting.
joinWebUrl?: NullableOption<string>;
// The organizer of the meeting.
organizer?: NullableOption<TeamworkUserIdentity>;
}
// tslint:disable-next-line: no-empty-interface
export interface TeamworkTagIdentity extends Identity {}
export interface ScheduleEntity {
endDateTime?: NullableOption<string>;
startDateTime?: NullableOption<string>;
theme?: ScheduleEntityTheme;
}
export interface ShiftItem extends ScheduleEntity {
/**
* An incremental part of a shift which can cover details of when and where an employee is during their shift. For
* example, an assignment or a scheduled break or lunch. Required.
*/
activities?: NullableOption<ShiftActivity[]>;
// The shift label of the shiftItem.
displayName?: NullableOption<string>;
// The shift notes for the shiftItem.
notes?: NullableOption<string>;
}
export interface OpenShiftItem extends ShiftItem {
// Count of the number of slots for the given open shift.
openSlotCount?: number;
}
export interface ShiftActivity {
// Customer defined code for the shiftActivity. Required.
code?: NullableOption<string>;
// The name of the shiftActivity. Required.
displayName?: NullableOption<string>;
/**
* The end date and time for the shiftActivity. 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 is 2014-01-01T00:00:00Z. Required.
*/
endDateTime?: NullableOption<string>;
// Indicates whether the microsoft.graph.user should be paid for the activity during their shift. Required.
isPaid?: NullableOption<boolean>;
/**
* The start date and time for the shiftActivity. 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 is 2014-01-01T00:00:00Z. Required.
*/
startDateTime?: NullableOption<string>;
theme?: ScheduleEntityTheme;
}
export interface ShiftAvailability {
// Specifies the pattern for recurrence
recurrence?: NullableOption<PatternedRecurrence>;
// The time slot(s) preferred by the user.
timeSlots?: NullableOption<TimeRange[]>;
// Specifies the time zone for the indicated time.
timeZone?: NullableOption<string>;
}
export interface TimeRange {
// End time for the time range.
endTime?: NullableOption<string>;
// Start time for the time range.
startTime?: NullableOption<string>;
}
export interface TimeOffItem extends ScheduleEntity {
// ID of the timeOffReason for this timeOffItem. Required.
timeOffReasonId?: NullableOption<string>;
}
export interface WorkforceIntegrationEncryption {
// Possible values are: sharedSecret, unknownFutureValue.
protocol?: NullableOption<WorkforceIntegrationEncryptionProtocol>;
// Encryption shared secret.
secret?: NullableOption<string>;
}
export interface AttachmentInfo {
// The type of the attachment. The possible values are: file, item, reference. Required.
attachmentType?: NullableOption<AttachmentType>;
// The nature of the data in the attachment. Optional.
contentType?: NullableOption<string>;
/**
* The display name of the attachment. This can be a descriptive string and does not have to be the actual file name.
* Required.
*/
name?: NullableOption<string>;
// The length of the attachment in bytes. Required.
size?: NullableOption<number>;
}
export namespace CallRecords {
type AudioCodec =
| "unknown"
| "invalid"
| "cn"
| "pcma"
| "pcmu"
| "amrWide"
| "g722"
| "g7221"
| "g7221c"
| "g729"
| "multiChannelAudio"
| "muchv2"
| "opus"
| "satin"
| "satinFullband"
| "rtAudio8"
| "rtAudio16"
| "silk"
| "silkNarrow"
| "silkWide"
| "siren"
| "xmsRta"
| "unknownFutureValue";
type CallType = "unknown" | "groupCall" | "peerToPeer" | "unknownFutureValue";
type ClientPlatform =
| "unknown"
| "windows"
| "macOS"
| "iOS"
| "android"
| "web"
| "ipPhone"
| "roomSystem"
| "surfaceHub"
| "holoLens"
| "unknownFutureValue";
type FailureStage = "unknown" | "callSetup" | "midcall" | "unknownFutureValue";
type MediaStreamDirection = "callerToCallee" | "calleeToCaller";
type Modality = "audio" | "video" | "videoBasedScreenSharing" | "data" | "screenSharing" | "unknownFutureValue";
type NetworkConnectionType = "unknown" | "wired" | "wifi" | "mobile" | "tunnel" | "unknownFutureValue";
type NetworkTransportProtocol = "unknown" | "udp" | "tcp" | "unknownFutureValue";
type ProductFamily =
| "unknown"
| "teams"
| "skypeForBusiness"
| "lync"
| "unknownFutureValue"
| "azureCommunicationServices";
type PstnCallDurationSource = "microsoft" | "operator";
type ServiceRole =
| "unknown"
| "customBot"
| "skypeForBusinessMicrosoftTeamsGateway"
| "skypeForBusinessAudioVideoMcu"
| "skypeForBusinessApplicationSharingMcu"
| "skypeForBusinessCallQueues"
| "skypeForBusinessAutoAttendant"
| "mediationServer"
| "mediationServerCloudConnectorEdition"
| "exchangeUnifiedMessagingService"
| "mediaController"
| "conferencingAnnouncementService"
| "conferencingAttendant"
| "audioTeleconferencerController"
| "skypeForBusinessUnifiedCommunicationApplicationPlatform"
| "responseGroupServiceAnnouncementService"
| "gateway"
| "skypeTranslator"
| "skypeForBusinessAttendant"
| "responseGroupService"
| "voicemail"
| "unknownFutureValue";
type UserFeedbackRating = "notRated" | "bad" | "poor" | "fair" | "good" | "excellent" | "unknownFutureValue";
type VideoCodec =
| "unknown"
| "invalid"
| "av1"
| "h263"
| "h264"
| "h264s"
| "h264uc"
| "h265"
| "rtvc1"
| "rtVideo"
| "xrtvc1"
| "unknownFutureValue";
type WifiBand = "unknown" | "frequency24GHz" | "frequency50GHz" | "frequency60GHz" | "unknownFutureValue";
type WifiRadioType =
| "unknown"
| "wifi80211a"
| "wifi80211b"
| "wifi80211g"
| "wifi80211n"
| "wifi80211ac"
| "wifi80211ax"
| "unknownFutureValue";
interface CallRecord extends microsoftgraph.Entity {
/**
* UTC time when the last user left the call. The DateTimeOffset type represents date and time information using ISO 8601
* format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
*/
endDateTime?: string;
// Meeting URL associated to the call. May not be available for a peerToPeer call record type.
joinWebUrl?: NullableOption<string>;
/**
* UTC time when the call record was created. The DatetimeOffset type represents date and time information using ISO 8601
* format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
*/
lastModifiedDateTime?: string;
/**
* List of all the modalities used in the call. Possible values are: unknown, audio, video, videoBasedScreenSharing, data,
* screenSharing, unknownFutureValue.
*/
modalities?: Modality[];
// The organizing party's identity.
organizer?: NullableOption<microsoftgraph.IdentitySet>;
// List of distinct identities involved in the call.
participants?: NullableOption<microsoftgraph.IdentitySet[]>;
/**
* UTC time when the first user joined the call. The DatetimeOffset type represents date and time information using ISO
* 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
*/
startDateTime?: string;
// Indicates the type of the call. Possible values are: unknown, groupCall, peerToPeer, unknownFutureValue.
type?: CallType;
/**
* Monotonically increasing version of the call record. Higher version call records with the same id includes additional
* data compared to the lower version.
*/
version?: number;
/**
* List of sessions involved in the call. Peer-to-peer calls typically only have one session, whereas group calls
* typically have at least one session per participant. Read-only. Nullable.
*/
sessions?: NullableOption<Session[]>;
}
interface Session extends microsoftgraph.Entity {
// Endpoint that answered the session.
callee?: NullableOption<Endpoint>;
// Endpoint that initiated the session.
caller?: NullableOption<Endpoint>;
/**
* UTC time when the last user left the session. The DateTimeOffset type represents date and time information using ISO
* 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
*/
endDateTime?: string;
// Failure information associated with the session if the session failed.
failureInfo?: NullableOption<FailureInfo>;
/**
* List of modalities present in the session. Possible values are: unknown, audio, video, videoBasedScreenSharing, data,
* screenSharing, unknownFutureValue.
*/
modalities?: Modality[];
/**
* UTC time when the first user joined the session. The DateTimeOffset type represents date and time information using ISO
* 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
*/
startDateTime?: string;
// The list of segments involved in the session. Read-only. Nullable.
segments?: NullableOption<Segment[]>;
}
interface Segment extends microsoftgraph.Entity {
// Endpoint that answered this segment.
callee?: NullableOption<Endpoint>;
// Endpoint that initiated this segment.
caller?: NullableOption<Endpoint>;
/**
* UTC time when the segment ended. The DateTimeOffset type represents date and time information using ISO 8601 format and
* is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
*/
endDateTime?: string;
// Failure information associated with the segment if it failed.
failureInfo?: NullableOption<FailureInfo>;
// Media associated with this segment.
media?: NullableOption<Media[]>;
/**
* UTC time when the segment started. The DateTimeOffset type represents date and time information using ISO 8601 format
* and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
*/
startDateTime?: string;
}
interface UserAgent {
// Identifies the version of application software used by this endpoint.
applicationVersion?: NullableOption<string>;
// User-agent header value reported by this endpoint.
headerValue?: NullableOption<string>;
}
interface ClientUserAgent extends UserAgent {
// The unique identifier of the Azure AD application used by this endpoint.
azureADAppId?: NullableOption<string>;
/**
* Immutable resource identifier of the Azure Communication Service associated with this endpoint based on Communication
* Services APIs.
*/
communicationServiceId?: NullableOption<string>;
/**
* Identifies the platform used by this endpoint. Possible values are: unknown, windows, macOS, iOS, android, web,
* ipPhone, roomSystem, surfaceHub, holoLens, unknownFutureValue.
*/
platform?: ClientPlatform;
/**
* Identifies the family of application software used by this endpoint. Possible values are: unknown, teams,
* skypeForBusiness, lync, unknownFutureValue, azureCommunicationServices. Note that you must use the Prefer:
* include-unknown-enum-members request header to get the following value(s) in this evolvable enum:
* azureCommunicationServices.
*/
productFamily?: ProductFamily;
}
interface DeviceInfo {
// Name of the capture device driver used by the media endpoint.
captureDeviceDriver?: NullableOption<string>;
// Name of the capture device used by the media endpoint.
captureDeviceName?: NullableOption<string>;
// Fraction of the call that the media endpoint detected the capture device was not working properly.
captureNotFunctioningEventRatio?: NullableOption<number>;
/**
* Fraction of the call that the media endpoint detected the CPU resources available were insufficient and caused poor
* quality of the audio sent and received.
*/
cpuInsufficentEventRatio?: NullableOption<number>;
/**
* Fraction of the call that the media endpoint detected clipping in the captured audio that caused poor quality of the
* audio being sent.
*/
deviceClippingEventRatio?: NullableOption<number>;
/**
* Fraction of the call that the media endpoint detected glitches or gaps in the audio played or captured that caused poor
* quality of the audio being sent or received.
*/
deviceGlitchEventRatio?: NullableOption<number>;
// Number of times during the call that the media endpoint detected howling or screeching audio.
howlingEventCount?: NullableOption<number>;
// The root mean square (RMS) of the incoming signal of up to the first 30 seconds of the call.
initialSignalLevelRootMeanSquare?: NullableOption<number>;
/**
* Fraction of the call that the media endpoint detected low speech level that caused poor quality of the audio being
* sent.
*/
lowSpeechLevelEventRatio?: NullableOption<number>;
/**
* Fraction of the call that the media endpoint detected low speech to noise level that caused poor quality of the audio
* being sent.
*/
lowSpeechToNoiseEventRatio?: NullableOption<number>;
// Glitches per 5 minute interval for the media endpoint's microphone.
micGlitchRate?: NullableOption<number>;
/**
* Average energy level of received audio for audio classified as mono noise or left channel of stereo noise by the media
* endpoint.
*/
receivedNoiseLevel?: NullableOption<number>;
/**
* Average energy level of received audio for audio classified as mono speech, or left channel of stereo speech by the
* media endpoint.
*/
receivedSignalLevel?: NullableOption<number>;
// Name of the render device driver used by the media endpoint.
renderDeviceDriver?: NullableOption<string>;
// Name of the render device used by the media endpoint.
renderDeviceName?: NullableOption<string>;
// Fraction of the call that media endpoint detected device render is muted.
renderMuteEventRatio?: NullableOption<number>;
// Fraction of the call that the media endpoint detected the render device was not working properly.
renderNotFunctioningEventRatio?: NullableOption<number>;
// Fraction of the call that media endpoint detected device render volume is set to 0.
renderZeroVolumeEventRatio?: NullableOption<number>;
/**
* Average energy level of sent audio for audio classified as mono noise or left channel of stereo noise by the media
* endpoint.
*/
sentNoiseLevel?: NullableOption<number>;
/**
* Average energy level of sent audio for audio classified as mono speech, or left channel of stereo speech by the media
* endpoint.
*/
sentSignalLevel?: NullableOption<number>;
// Glitches per 5 minute internal for the media endpoint's loudspeaker.
speakerGlitchRate?: NullableOption<number>;
}
interface DirectRoutingLogRow {
// Number of the user or bot who received the call. E.164 format, but may include additional data.
calleeNumber?: NullableOption<string>;
// In addition to the SIP codes, Microsoft has own subcodes that indicate the specific issue.
callEndSubReason?: NullableOption<number>;
// Number of the user or bot who made the call. E.164 format, but may include additional data.
callerNumber?: NullableOption<string>;
// Call type and direction.
callType?: NullableOption<string>;
// Identifier for the call that you can use when calling Microsoft Support. GUID.
correlationId?: NullableOption<string>;
// Duration of the call in seconds.
duration?: NullableOption<number>;
// Only exists for successful (fully established) calls. Time when call ended.
endDateTime?: NullableOption<string>;
// Only exists for failed (not fully established) calls.
failureDateTime?: NullableOption<string>;
// The code with which the call ended, RFC 3261.
finalSipCode?: NullableOption<number>;
// Description of the SIP code and Microsoft subcode.
finalSipCodePhrase?: NullableOption<string>;
// Unique call identifier. GUID.
id?: NullableOption<string>;
// When the initial invite was sent.
inviteDateTime?: NullableOption<string>;
// Indicates if the trunk was enabled for media bypass or not.
mediaBypassEnabled?: NullableOption<boolean>;
// The datacenter used for media path in non-bypass call.
mediaPathLocation?: NullableOption<string>;
// The datacenter used for signaling for both bypass and non-bypass calls.
signalingLocation?: NullableOption<string>;
// Call start time.For failed and unanswered calls, this can be equal to invite or failure time.
startDateTime?: NullableOption<string>;
// Success or attempt.
successfulCall?: NullableOption<boolean>;
// Fully qualified domain name of the session border controller.
trunkFullyQualifiedDomainName?: NullableOption<string>;
// Display name of the user.
userDisplayName?: NullableOption<string>;
// Calling user's ID in Graph. This and other user info will be null/empty for bot call types. GUID.
userId?: NullableOption<string>;
/**
* UserPrincipalName (sign-in name) in Azure Active Directory. This is usually the same as user's SIP Address, and can be
* same as user's e-mail address.
*/
userPrincipalName?: NullableOption<string>;
}
interface Endpoint {
// User-agent reported by this endpoint.
userAgent?: NullableOption<UserAgent>;
}
interface FailureInfo {
// Classification of why a call or portion of a call failed.
reason?: NullableOption<string>;
// The stage when the failure occurred. Possible values are: unknown, callSetup, midcall, unknownFutureValue.
stage?: FailureStage;
}
// tslint:disable-next-line: no-empty-interface
interface FeedbackTokenSet {}
interface Media {
// Device information associated with the callee endpoint of this media.
calleeDevice?: NullableOption<DeviceInfo>;
// Network information associated with the callee endpoint of this media.
calleeNetwork?: NullableOption<NetworkInfo>;
// Device information associated with the caller endpoint of this media.
callerDevice?: NullableOption<DeviceInfo>;
// Network information associated with the caller endpoint of this media.
callerNetwork?: NullableOption<NetworkInfo>;
// How the media was identified during media negotiation stage.
label?: NullableOption<string>;
// Network streams associated with this media.
streams?: NullableOption<MediaStream[]>;
}
interface NetworkInfo {
/**
* Fraction of the call that the media endpoint detected the available bandwidth or bandwidth policy was low enough to
* cause poor quality of the audio sent.
*/
bandwidthLowEventRatio?: NullableOption<number>;
// The wireless LAN basic service set identifier of the media endpoint used to connect to the network.
basicServiceSetIdentifier?: NullableOption<string>;
/**
* Type of network used by the media endpoint. Possible values are: unknown, wired, wifi, mobile, tunnel,
* unknownFutureValue.
*/
connectionType?: NetworkConnectionType;
/**
* Fraction of the call that the media endpoint detected the network delay was significant enough to impact the ability to
* have real-time two-way communication.
*/
delayEventRatio?: NullableOption<number>;
// DNS suffix associated with the network adapter of the media endpoint.
dnsSuffix?: NullableOption<string>;
// IP address of the media endpoint.
ipAddress?: NullableOption<string>;
// Link speed in bits per second reported by the network adapter used by the media endpoint.
linkSpeed?: NullableOption<number>;
// The media access control (MAC) address of the media endpoint's network device.
macAddress?: NullableOption<string>;
// Network protocol used for the transmission of stream. Possible values are: unknown, udp, tcp, unknownFutureValue.
networkTransportProtocol?: NetworkTransportProtocol;
// Network port number used by media endpoint.
port?: NullableOption<number>;
// Fraction of the call that the media endpoint detected the network was causing poor quality of the audio received.
receivedQualityEventRatio?: NullableOption<number>;
/**
* IP address of the media endpoint as seen by the media relay server. This is typically the public internet IP address
* associated to the endpoint.
*/
reflexiveIPAddress?: NullableOption<string>;
// IP address of the media relay server allocated by the media endpoint.
relayIPAddress?: NullableOption<string>;
// Network port number allocated on the media relay server by the media endpoint.
relayPort?: NullableOption<number>;
// Fraction of the call that the media endpoint detected the network was causing poor quality of the audio sent.
sentQualityEventRatio?: NullableOption<number>;
// Subnet used for media stream by the media endpoint.
subnet?: NullableOption<string>;
// List of network trace route hops collected for this media stream.*
traceRouteHops?: TraceRouteHop[];
/**
* WiFi band used by the media endpoint. Possible values are: unknown, frequency24GHz, frequency50GHz, frequency60GHz,
* unknownFutureValue.
*/
wifiBand?: WifiBand;
// Estimated remaining battery charge in percentage reported by the media endpoint.
wifiBatteryCharge?: NullableOption<number>;
// WiFi channel used by the media endpoint.
wifiChannel?: NullableOption<number>;
/**
* Name of the Microsoft WiFi driver used by the media endpoint. Value may be localized based on the language used by
* endpoint.
*/
wifiMicrosoftDriver?: NullableOption<string>;
// Version of the Microsoft WiFi driver used by the media endpoint.
wifiMicrosoftDriverVersion?: NullableOption<string>;
/**
* Type of WiFi radio used by the media endpoint. Possible values are: unknown, wifi80211a, wifi80211b, wifi80211g,
* wifi80211n, wifi80211ac, wifi80211ax, unknownFutureValue.
*/
wifiRadioType?: WifiRadioType;
// WiFi signal strength in percentage reported by the media endpoint.
wifiSignalStrength?: NullableOption<number>;
// Name of the WiFi driver used by the media endpoint. Value may be localized based on the language used by endpoint.
wifiVendorDriver?: NullableOption<string>;
// Version of the WiFi driver used by the media endpoint.
wifiVendorDriverVersion?: NullableOption<string>;
}
interface MediaStream {
/**
* Codec name used to encode audio for transmission on the network. Possible values are: unknown, invalid, cn, pcma, pcmu,
* amrWide, g722, g7221, g7221c, g729, multiChannelAudio, muchv2, opus, satin, satinFullband, rtAudio8, rtAudio16, silk,
* silkNarrow, silkWide, siren, xmsRta, unknownFutureValue.
*/
audioCodec?: NullableOption<AudioCodec>;
/**
* Average Network Mean Opinion Score degradation for stream. Represents how much the network loss and jitter has impacted
* the quality of received audio.
*/
averageAudioDegradation?: NullableOption<number>;
/**
* Average jitter for the stream computed as specified in [RFC 3550][], denoted in [ISO 8601][] format. For example, 1
* second is denoted as 'PT1S', where 'P' is the duration designator, 'T' is the time designator, and 'S' is the second
* designator.
*/
averageAudioNetworkJitter?: NullableOption<string>;
// Average estimated bandwidth available between two endpoints in bits per second.
averageBandwidthEstimate?: NullableOption<number>;
/**
* Average jitter for the stream computed as specified in [RFC 3550][], denoted in [ISO 8601][] format. For example, 1
* second is denoted as 'PT1S', where 'P' is the duration designator, 'T' is the time designator, and 'S' is the second
* designator.
*/
averageJitter?: NullableOption<string>;
// Average packet loss rate for stream.
averagePacketLossRate?: NullableOption<number>;
/**
* Ratio of the number of audio frames with samples generated by packet loss concealment to the total number of audio
* frames.
*/
averageRatioOfConcealedSamples?: NullableOption<number>;
// Average frames per second received for all video streams computed over the duration of the session.
averageReceivedFrameRate?: NullableOption<number>;
/**
* Average network propagation round-trip time computed as specified in [RFC 3550][], denoted in [ISO 8601][] format. For
* example, 1 second is denoted as 'PT1S', where 'P' is the duration designator, 'T' is the time designator, and 'S' is
* the second designator.
*/
averageRoundTripTime?: NullableOption<string>;
// Average percentage of video frames lost as displayed to the user.
averageVideoFrameLossPercentage?: NullableOption<number>;
// Average frames per second received for a video stream, computed over the duration of the session.
averageVideoFrameRate?: NullableOption<number>;
// Average fraction of packets lost, as specified in [RFC 3550][], computed over the duration of the session.
averageVideoPacketLossRate?: NullableOption<number>;
/**
* UTC time when the stream ended. The DateTimeOffset type represents date and time information using ISO 8601 format and
* is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
*/
endDateTime?: NullableOption<string>;
// Fraction of the call where frame rate is less than 7.5 frames per second.
lowFrameRateRatio?: NullableOption<number>;
// Fraction of the call that the client is running less than 70% expected video processing capability.
lowVideoProcessingCapabilityRatio?: NullableOption<number>;
/**
* Maximum of audio network jitter computed over each of the 20 second windows during the session, denoted in [ISO 8601][]
* format. For example, 1 second is denoted as 'PT1S', where 'P' is the duration designator, 'T' is the time designator,
* and 'S' is the second designator.
*/
maxAudioNetworkJitter?: NullableOption<string>;
/**
* Maximum jitter for the stream computed as specified in RFC 3550, denoted in [ISO 8601][] format. For example, 1 second
* is denoted as 'PT1S', where 'P' is the duration designator, 'T' is the time designator, and 'S' is the second
* designator.
*/
maxJitter?: NullableOption<string>;
// Maximum packet loss rate for the stream.
maxPacketLossRate?: NullableOption<number>;
// Maximum ratio of packets concealed by the healer.
maxRatioOfConcealedSamples?: NullableOption<number>;
/**
* Maximum network propagation round-trip time computed as specified in [RFC 3550][], denoted in [ISO 8601][] format. For
* example, 1 second is denoted as 'PT1S', where 'P' is the duration designator, 'T' is the time designator, and 'S' is
* the second designator.
*/
maxRoundTripTime?: NullableOption<string>;
// Packet count for the stream.
packetUtilization?: NullableOption<number>;
// Packet loss rate after FEC has been applied aggregated across all video streams and codecs.
postForwardErrorCorrectionPacketLossRate?: NullableOption<number>;
/**
* UTC time when the stream started. The DateTimeOffset type represents date and time information using ISO 8601 format
* and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
*/
startDateTime?: NullableOption<string>;
// Indicates the direction of the media stream. Possible values are: callerToCallee, calleeToCaller.
streamDirection?: MediaStreamDirection;
// Unique identifier for the stream.
streamId?: NullableOption<string>;
/**
* Codec name used to encode video for transmission on the network. Possible values are: unknown, invalid, av1, h263,
* h264, h264s, h264uc, h265, rtvc1, rtVideo, xrtvc1, unknownFutureValue.
*/
videoCodec?: NullableOption<VideoCodec>;
/**
* True if the media stream bypassed the Mediation Server and went straight between client and PSTN Gateway/PBX, false
* otherwise.
*/
wasMediaBypassed?: NullableOption<boolean>;
}
interface TraceRouteHop {
// The network path count of this hop that was used to compute the RTT.
hopCount?: NullableOption<number>;
// IP address used for this hop in the network trace.
ipAddress?: NullableOption<string>;
/**
* The time from when the trace route packet was sent from the client to this hop and back to the client, denoted in [ISO
* 8601][] format. For example, 1 second is denoted as PT1S, where P is the duration designator, T is the time designator,
* and S is the second designator.
*/
roundTripTime?: NullableOption<string>;
}
interface ParticipantEndpoint extends Endpoint {
// The feedback provided by the user of this endpoint about the quality of the session.
feedback?: NullableOption<UserFeedback>;
// Identity associated with the endpoint.
identity?: NullableOption<microsoftgraph.IdentitySet>;
}
interface UserFeedback {
/**
* The rating provided by the user of this endpoint about the quality of this Session. Possible values are: notRated, bad,
* poor, fair, good, excellent, unknownFutureValue.
*/
rating?: UserFeedbackRating;
// The feedback text provided by the user of this endpoint for the session.
text?: NullableOption<string>;
/**
* The set of feedback tokens provided by the user of this endpoint for the session. This is a set of Boolean properties.
* The property names should not be relied upon since they may change depending on what tokens are offered to the user.
*/
tokens?: NullableOption<FeedbackTokenSet>;
}
interface PstnCallLogRow {
/**
* The source of the call duration data. If the call uses a third-party telecommunications operator via the Operator
* Connect Program, the operator may provide their own call duration data. In this case, the property value is operator.
* Otherwise, the value is microsoft.
*/
callDurationSource?: NullableOption<PstnCallDurationSource>;
// Number dialed in E.164 format.
calleeNumber?: NullableOption<string>;
// Number that received the call for inbound calls or the number dialed for outbound calls. E.164 format.
callerNumber?: NullableOption<string>;
// Call identifier. Not guaranteed to be unique.
callId?: NullableOption<string>;
/**
* Whether the call was a PSTN outbound or inbound call and the type of call such as a call placed by a user or an audio
* conference.
*/
callType?: NullableOption<string>;
// Amount of money or cost of the call that is charged to your account.
charge?: NullableOption<number>;
// ID of the audio conference.
conferenceId?: NullableOption<string>;
// Connection fee price.
connectionCharge?: NullableOption<number>;
// Type of currency used to calculate the cost of the call. For details, see (ISO 4217.
currency?: NullableOption<string>;
/**
* Whether the call was domestic (within a country or region) or international (outside a country or region) based on the
* user's location.
*/
destinationContext?: NullableOption<string>;
// Country or region dialed.
destinationName?: NullableOption<string>;
// How long the call was connected, in seconds.
duration?: NullableOption<number>;
// Call end time.
endDateTime?: NullableOption<string>;
// Unique call identifier. GUID.
id?: NullableOption<string>;
// User's phone number type, such as a service of toll-free number.
inventoryType?: NullableOption<string>;
// The license used for the call.
licenseCapability?: NullableOption<string>;
/**
* The telecommunications operator which provided PSTN services for this call. This may be Microsoft, or it may be a
* third-party operator via the Operator Connect Program.
*/
operator?: NullableOption<string>;
// Call start time.
startDateTime?: NullableOption<string>;
// Country code of the tenant. For details, see ISO 3166-1 alpha-2.
tenantCountryCode?: NullableOption<string>;
// Country code of the user. For details, see ISO 3166-1 alpha-2.
usageCountryCode?: NullableOption<string>;
// Display name of the user.
userDisplayName?: NullableOption<string>;
// Calling user's ID in Graph. GUID. This and other user info will be null/empty for bot call types (ucap_in, ucap_out).
userId?: NullableOption<string>;
/**
* The user principal name (sign-in name) in Azure Active Directory. This is usually the same as the user's SIP address,
* and can be same as the user's e-mail address.
*/
userPrincipalName?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
interface ServiceEndpoint extends Endpoint {}
interface ServiceUserAgent extends UserAgent {
/**
* Identifies the role of the service used by this endpoint. Possible values are: unknown, customBot,
* skypeForBusinessMicrosoftTeamsGateway, skypeForBusinessAudioVideoMcu, skypeForBusinessApplicationSharingMcu,
* skypeForBusinessCallQueues, skypeForBusinessAutoAttendant, mediationServer, mediationServerCloudConnectorEdition,
* exchangeUnifiedMessagingService, mediaController, conferencingAnnouncementService, conferencingAttendant,
* audioTeleconferencerController, skypeForBusinessUnifiedCommunicationApplicationPlatform,
* responseGroupServiceAnnouncementService, gateway, skypeTranslator, skypeForBusinessAttendant, responseGroupService,
* voicemail, unknownFutureValue.
*/
role?: ServiceRole;
}
}
export namespace ExternalConnectors {
type AccessType = "grant" | "deny" | "unknownFutureValue";
type AclType = "user" | "group" | "everyone" | "everyoneExceptGuests" | "externalGroup" | "unknownFutureValue";
type ConnectionOperationStatus = "unspecified" | "inprogress" | "completed" | "failed" | "unknownFutureValue";
type ConnectionState = "draft" | "ready" | "obsolete" | "limitExceeded" | "unknownFutureValue";
type ExternalActivityType = "viewed" | "modified" | "created" | "commented" | "unknownFutureValue";
type ExternalItemContentType = "text" | "html" | "unknownFutureValue";
type IdentityType = "user" | "group" | "externalGroup" | "unknownFutureValue";
type Label =
| "title"
| "url"
| "createdBy"
| "lastModifiedBy"
| "authors"
| "createdDateTime"
| "lastModifiedDateTime"
| "fileName"
| "fileExtension"
| "unknownFutureValue";
type PropertyType =
| "string"
| "int64"
| "double"
| "dateTime"
| "boolean"
| "stringCollection"
| "int64Collection"
| "doubleCollection"
| "dateTimeCollection"
| "unknownFutureValue";
type RuleOperation =
| "null"
| "equals"
| "notEquals"
| "contains"
| "notContains"
| "lessThan"
| "greaterThan"
| "startsWith"
| "unknownFutureValue";
interface ConnectionOperation extends microsoftgraph.Entity {
// If status is failed, provides more information about the error that caused the failure.
error?: NullableOption<microsoftgraph.PublicError>;
/**
* Indicates the status of the asynchronous operation. Possible values are: unspecified, inprogress, completed, failed,
* unknownFutureValue.
*/
status?: NullableOption<ConnectionOperationStatus>;
}
interface External {
connections?: NullableOption<ExternalConnection[]>;
}
interface ExternalConnection extends microsoftgraph.Entity {
// Collects configurable settings related to activities involving connector content.
activitySettings?: NullableOption<ActivitySettings>;
/**
* Specifies additional application IDs that are allowed to manage the connection and to index content in the connection.
* Optional.
*/
configuration?: NullableOption<Configuration>;
// Description of the connection displayed in the Microsoft 365 admin center. Optional.
description?: NullableOption<string>;
/**
* The display name of the connection to be displayed in the Microsoft 365 admin center. Maximum length of 128 characters.
* Required.
*/
name?: NullableOption<string>;
/**
* The settings configuring the search experience for content in this connection, such as the display templates for search
* results.
*/
searchSettings?: NullableOption<SearchSettings>;
/**
* Indicates the current state of the connection. Possible values are: draft, ready, obsolete, limitExceeded,
* unknownFutureValue.
*/
state?: NullableOption<ConnectionState>;
groups?: NullableOption<ExternalGroup[]>;
items?: NullableOption<ExternalItem[]>;
operations?: NullableOption<ConnectionOperation[]>;
schema?: NullableOption<Schema>;
}
interface ExternalActivity extends microsoftgraph.Entity {
/**
* The date and time when the particular activity occurred. The DateTimeOffset type represents date and time information
* using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
*/
startDateTime?: string;
// The type of activity performed. The possible values are: viewed, modified, created, commented, unknownFutureValue.
type?: ExternalActivityType;
// Represents an identity used to identify who is responsible for the activity.
performedBy?: NullableOption<Identity>;
}
// tslint:disable-next-line: interface-name
interface Identity extends microsoftgraph.Entity {
/**
* The type of identity. Possible values are: user or group for Azure AD identities and externalgroup for groups in an
* external system.
*/
type?: NullableOption<IdentityType>;
}
interface ExternalActivityResult extends ExternalActivity {
// Error information that explains the failure to process an external activity.
error?: NullableOption<microsoftgraph.PublicError>;
}
interface ExternalGroup extends microsoftgraph.Entity {
// The description of the external group. Optional.
description?: NullableOption<string>;
// The friendly name of the external group. Optional.
displayName?: NullableOption<string>;
/**
* A member added to an externalGroup. You can add Azure Active Directory users, Azure Active Directory groups, or an
* externalGroup as members.
*/
members?: NullableOption<Identity[]>;
}
interface ExternalItem extends microsoftgraph.Entity {
// An array of access control entries. Each entry specifies the access granted to a user or group. Required.
acl?: NullableOption<Acl[]>;
// A plain-text representation of the contents of the item. The text in this property is full-text indexed. Optional.
content?: NullableOption<ExternalItemContent>;
/**
* A property bag with the properties of the item. The properties MUST conform to the schema defined for the
* externalConnection. Required.
*/
properties?: NullableOption<Properties>;
// Returns a list of activities performed on the item. Write-only.
activities?: NullableOption<ExternalActivity[]>;
}
interface Schema extends microsoftgraph.Entity {
// Must be set to microsoft.graph.externalConnector.externalItem. Required.
baseType?: string;
// The properties defined for the items in the connection. The minimum number of properties is one, the maximum is 128.
properties?: NullableOption<Property[]>;
}
interface Acl {
// The access granted to the identity. Possible values are: grant, deny, unknownFutureValue.
accessType?: AccessType;
/**
* The type of identity. Possible values are: user, group, everyone, everyoneExceptGuests, externalGroup,
* unknownFutureValue.
*/
type?: AclType;
/**
* The unique identifer of the identity. In case of Azure Active Directory identities, value is set to the object
* identifier of the user, group or tenant for types user, group and everyone (and everyoneExceptGuests) respectively. In
* case of external groups value is set to the ID of the externalGroup
*/
value?: string;
}
interface ActivitySettings {
// Specifies configurations to identify an externalItem based on a shared URL.
urlToItemResolvers?: NullableOption<UrlToItemResolverBase[]>;
}
interface UrlToItemResolverBase {
// The priority which defines the sequence in which the urlToItemResolverBase instances are evaluated.
priority?: NullableOption<number>;
}
interface Configuration {
/**
* A collection of application IDs for registered Azure Active Directory apps that are allowed to manage the
* externalConnection and to index content in the externalConnection.
*/
authorizedAppIds?: NullableOption<string[]>;
}
interface DisplayTemplate {
/**
* The text identifier for the display template; for example, contosoTickets. Maximum 16 characters. Only alphanumeric
* characters allowed.
*/
id?: string;
/**
* The definition of the content's appearance, represented by an Adaptive Card, which is a JSON-serialized card object
* model.
*/
layout?: any;
/**
* Defines the priority of a display template. A display template with priority 1 is evaluated before a template with
* priority 4. Gaps in priority values are supported. Must be positive value.
*/
priority?: number;
// Specifies additional rules for selecting this display template based on the item schema. Optional.
rules?: NullableOption<PropertyRule[]>;
}
interface PropertyRule {
/**
* Specifies the operations to be performed during evaluation of a single propertyRule, where property and a string from
* the values collection are the respective operands. Possible values are: null, equals, notEquals, contains, notContains,
* lessThan, greaterThan, startsWith. Required.
*/
operation?: RuleOperation;
// The property from the externalItem schema. Required.
property?: string;
/**
* A collection with one or many strings. The specified string(s) will be matched with the specified property using the
* specified operation. Required.
*/
values?: string[];
/**
* The join operator for evaluating multiple propertyRules. For example, if and is specified, then all propertyRules must
* be true for the propertyRule to be true. Possible values are: or, and. Required.
*/
valuesJoinedBy?: microsoftgraph.BinaryOperator;
}
interface ExternalItemContent {
/**
* The type of content in the value property. Possible values are: text, html, unknownFutureValue. These are the content
* types that the indexer supports, and not the file extension types allowed.
*/
type?: ExternalItemContentType;
// The content for the externalItem. Required.
value?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
interface ItemIdResolver extends UrlToItemResolverBase {
/**
* Pattern that specifies how to form the ID of the external item that the URL represents. The named groups from the
* regular expression in urlPattern within the urlMatchInfo can be referenced by inserting the group name inside curly
* brackets.
*/
itemId?: string;
// Configurations to match and resolve URL.
urlMatchInfo?: NullableOption<UrlMatchInfo>;
}
interface UrlMatchInfo {
// A list of the URL prefixes that must match URLs to be processed by this URL-to-item-resolver.
baseUrls?: NullableOption<string[]>;
/**
* A regular expression that will be matched towards the URL that is processed by this URL-to-item-resolver. The
* ECMAScript specification for regular expressions (ECMA-262) is used for the evaluation. The named groups defined by the
* regular expression will be used later to extract values from the URL.
*/
urlPattern?: NullableOption<string>;
}
// tslint:disable-next-line: no-empty-interface
interface Properties {}
interface Property {
/**
* A set of aliases or a friendly names for the property. Maximum 32 characters. Only alphanumeric characters allowed. For
* example, each string may not contain control characters, whitespace, or any of the following: :, ;, ,, (, ), [, ], {,
* }, %, $, +, !, *, =, &amp;, ?, @, #, /, ~, ', ', &amp;lt;, &amp;gt;, `, ^. Optional.
*/
aliases?: NullableOption<string[]>;
/**
* Specifies if the property is queryable. Queryable properties can be used in Keyword Query Language (KQL) queries.
* Optional.
*/
isQueryable?: NullableOption<boolean>;
/**
* Specifies if the property is refinable. Refinable properties can be used to filter search results in the Search API and
* add a refiner control in the Microsoft Search user experience. Optional.
*/
isRefinable?: NullableOption<boolean>;
/**
* Specifies if the property is retrievable. Retrievable properties are returned in the result set when items are returned
* by the search API. Retrievable properties are also available to add to the display template used to render search
* results. Optional.
*/
isRetrievable?: NullableOption<boolean>;
/**
* Specifies if the property is searchable. Only properties of type String or StringCollection can be searchable.
* Non-searchable properties are not added to the search index. Optional.
*/
isSearchable?: NullableOption<boolean>;
/**
* Specifies one or more well-known tags added against a property. Labels help Microsoft Search understand the semantics
* of the data in the connection. Adding appropriate labels would result in an enhanced search experience (e.g. better
* relevance). The possible values are: title, url, createdBy, lastModifiedBy, authors, createdDateTime,
* lastModifiedDateTime, fileName, fileExtension, unknownFutureValue. Optional.
*/
labels?: NullableOption<Label[]>;
/**
* The name of the property. Maximum 32 characters. Only alphanumeric characters allowed. For example, each string may not
* contain control characters, whitespace, or any of the following: :, ;, ,, (, ), [, ], {, }, %, $, +, !, *, =, &amp;, ?,
* &commat;, #, /, ~, ', ', &amp;lt;, &amp;gt;, `, ^. Required.
*/
name?: string;
/**
* The data type of the property. Possible values are: string, int64, double, dateTime, boolean, stringCollection,
* int64Collection, doubleCollection, dateTimeCollection, unknownFutureValue.
*/
type?: PropertyType;
}
interface SearchSettings {
/**
* Enables the developer to define the appearance of the content and configure conditions that dictate when the template
* should be displayed. Maximum of 2 search result templates per connection.
*/
searchResultTemplates?: NullableOption<DisplayTemplate[]>;
}
}
export namespace SecurityNamespace {
type AdditionalDataOptions = "allVersions" | "linkedFiles" | "unknownFutureValue";
type CaseAction =
| "contentExport"
| "applyTags"
| "convertToPdf"
| "index"
| "estimateStatistics"
| "addToReviewSet"
| "holdUpdate"
| "unknownFutureValue"
| "purgeData";
type CaseOperationStatus =
| "notStarted"
| "submissionFailed"
| "running"
| "succeeded"
| "partiallySucceeded"
| "failed"
| "unknownFutureValue";
type CaseStatus =
| "unknown"
| "active"
| "pendingDelete"
| "closing"
| "closed"
| "closedWithError"
| "unknownFutureValue";
type ChildSelectability = "One" | "Many" | "unknownFutureValue";
type DataSourceContainerStatus = "active" | "released" | "unknownFutureValue";
type DataSourceHoldStatus = "notApplied" | "applied" | "applying" | "removing" | "partial" | "unknownFutureValue";
type DataSourceScopes =
| "none"
| "allTenantMailboxes"
| "allTenantSites"
| "allCaseCustodians"
| "allCaseNoncustodialDataSources"
| "unknownFutureValue";
type PurgeAreas = "mailboxes" | "teamsMessages" | "unknownFutureValue";
type PurgeType = "recoverable" | "permanentlyDeleted" | "unknownFutureValue";
type SourceType = "mailbox" | "site" | "unknownFutureValue";
type AlertClassification =
| "unknown"
| "falsePositive"
| "truePositive"
| "informationalExpectedActivity"
| "unknownFutureValue";
type AlertDetermination =
| "unknown"
| "apt"
| "malware"
| "securityPersonnel"
| "securityTesting"
| "unwantedSoftware"
| "other"
| "multiStagedAttack"
| "compromisedAccount"
| "phishing"
| "maliciousUserActivity"
| "notMalicious"
| "notEnoughDataToValidate"
| "confirmedActivity"
| "lineOfBusinessApplication"
| "unknownFutureValue";
type AlertSeverity = "unknown" | "informational" | "low" | "medium" | "high" | "unknownFutureValue";
type AlertStatus = "unknown" | "new" | "inProgress" | "resolved" | "unknownFutureValue";
type DefenderAvStatus =
| "notReporting"
| "disabled"
| "notUpdated"
| "updated"
| "unknown"
| "notSupported"
| "unknownFutureValue";
type DetectionSource =
| "unknown"
| "microsoftDefenderForEndpoint"
| "antivirus"
| "smartScreen"
| "customTi"
| "microsoftDefenderForOffice365"
| "automatedInvestigation"
| "microsoftThreatExperts"
| "customDetection"
| "microsoftDefenderForIdentity"
| "cloudAppSecurity"
| "microsoft365Defender"
| "azureAdIdentityProtection"
| "manual"
| "microsoftDataLossPrevention"
| "appGovernancePolicy"
| "appGovernanceDetection"
| "unknownFutureValue"
| "microsoftDefenderForCloud";
type DetectionStatus = "detected" | "blocked" | "prevented" | "unknownFutureValue";
type DeviceHealthStatus =
| "active"
| "inactive"
| "impairedCommunication"
| "noSensorData"
| "noSensorDataImpairedCommunication"
| "unknown"
| "unknownFutureValue";
type DeviceRiskScore = "none" | "informational" | "low" | "medium" | "high" | "unknownFutureValue";
type EvidenceRemediationStatus = "none" | "remediated" | "prevented" | "blocked" | "notFound" | "unknownFutureValue";
type EvidenceRole =
| "unknown"
| "contextual"
| "scanned"
| "source"
| "destination"
| "created"
| "added"
| "compromised"
| "edited"
| "attacked"
| "attacker"
| "commandAndControl"
| "loaded"
| "suspicious"
| "policyViolator"
| "unknownFutureValue";
type EvidenceVerdict = "unknown" | "suspicious" | "malicious" | "noThreatsFound" | "unknownFutureValue";
type GoogleCloudLocationType = "unknown" | "regional" | "zonal" | "global" | "unknownFutureValue";
type IncidentStatus = "active" | "resolved" | "inProgress" | "redirected" | "unknownFutureValue" | "awaitingAction";
type OnboardingStatus = "insufficientInfo" | "onboarded" | "canBeOnboarded" | "unsupported" | "unknownFutureValue";
type ServiceSource =
| "unknown"
| "microsoftDefenderForEndpoint"
| "microsoftDefenderForIdentity"
| "microsoftDefenderForCloudApps"
| "microsoftDefenderForOffice365"
| "microsoft365Defender"
| "azureAdIdentityProtection"
| "microsoftAppGovernance"
| "dataLossPrevention"
| "unknownFutureValue"
| "microsoftDefenderForCloud";
type VmCloudProvider = "unknown" | "azure" | "unknownFutureValue";
type EventPropagationStatus = "none" | "inProcessing" | "failed" | "success" | "unknownFutureValue";
type EventStatusType = "pending" | "error" | "success" | "notAvaliable" | "unknownFutureValue";
type QueryType = "files" | "messages" | "unknownFutureValue";
type RetentionTrigger = "dateLabeled" | "dateCreated" | "dateModified" | "dateOfEvent" | "unknownFutureValue";
interface CasesRoot extends microsoftgraph.Entity {
ediscoveryCases?: NullableOption<EdiscoveryCase[]>;
}
interface Alert extends microsoftgraph.Entity {
// The adversary or activity group that is associated with this alert.
actorDisplayName?: NullableOption<string>;
// URL for the alert page in the Microsoft 365 Defender portal.
alertWebUrl?: NullableOption<string>;
// Owner of the alert, or null if no owner is assigned.
assignedTo?: NullableOption<string>;
// The attack kill-chain category that the alert belongs to. Aligned with the MITRE ATT&amp;CK framework.
category?: NullableOption<string>;
/**
* Specifies whether the alert represents a true threat. Possible values are: unknown, falsePositive, truePositive,
* benignPositive, unknownFutureValue.
*/
classification?: NullableOption<AlertClassification>;
// Array of comments created by the Security Operations (SecOps) team during the alert management process.
comments?: NullableOption<AlertComment[]>;
// Time when Microsoft 365 Defender created the alert.
createdDateTime?: NullableOption<string>;
// String value describing each alert.
description?: NullableOption<string>;
/**
* Detection technology or sensor that identified the notable component or activity. Possible values are: unknown,
* microsoftDefenderForEndpoint, antivirus, smartScreen, customTi, microsoftDefenderForOffice365, automatedInvestigation,
* microsoftThreatExperts, customDetection, microsoftDefenderForIdentity, cloudAppSecurity, microsoft365Defender,
* azureAdIdentityProtection, manual, microsoftDataLossPrevention, appGovernancePolicy, appGovernanceDetection,
* unknownFutureValue, microsoftDefenderForCloud. Note that you must use the Prefer: include-unknown-enum-members request
* header to get the following value(s) in this evolvable enum: microsoftDefenderForCloud.
*/
detectionSource?: NullableOption<DetectionSource>;
// The ID of the detector that triggered the alert.
detectorId?: NullableOption<string>;
/**
* Specifies the result of the investigation, whether the alert represents a true attack and if so, the nature of the
* attack. Possible values are: unknown, apt, malware, securityPersonnel, securityTesting, unwantedSoftware, other,
* multiStagedAttack, compromisedUser, phishing, maliciousUserActivity, clean, insufficientData, confirmedUserActivity,
* lineOfBusinessApplication, unknownFutureValue.
*/
determination?: NullableOption<AlertDetermination>;
// Collection of evidence related to the alert.
evidence?: NullableOption<AlertEvidence[]>;
// The earliest activity associated with the alert.
firstActivityDateTime?: NullableOption<string>;
// Unique identifier to represent the incident this alert resource is associated with.
incidentId?: NullableOption<string>;
// URL for the incident page in the Microsoft 365 Defender portal.
incidentWebUrl?: NullableOption<string>;
// The oldest activity associated with the alert.
lastActivityDateTime?: NullableOption<string>;
// Time when the alert was last updated at Microsoft 365 Defender.
lastUpdateDateTime?: NullableOption<string>;
// The attack techniques, as aligned with the MITRE ATT&amp;CK framework.
mitreTechniques?: NullableOption<string[]>;
// The ID of the alert as it appears in the security provider product that generated the alert.
providerAlertId?: NullableOption<string>;
// Recommended response and remediation actions to take in the event this alert was generated.
recommendedActions?: NullableOption<string>;
// Time when the alert was resolved.
resolvedDateTime?: NullableOption<string>;
/**
* The service or product that created this alert. Possible values are: unknown, microsoftDefenderForEndpoint,
* microsoftDefenderForIdentity, microsoftDefenderForCloudApps, microsoftDefenderForOffice365, microsoft365Defender,
* azureAdIdentityProtection, microsoftAppGovernance, dataLossPrevention, unknownFutureValue, microsoftDefenderForCloud.
* Note that you must use the Prefer: include-unknown-enum-members request header to get the following value(s) in this
* evolvable enum: microsoftDefenderForCloud.
*/
serviceSource?: ServiceSource;
/**
* Indicates the possible impact on assets. The higher the severity the bigger the impact. Typically higher severity items
* require the most immediate attention. Possible values are: unknown, informational, low, medium, high,
* unknownFutureValue.
*/
severity?: AlertSeverity;
// The status of the alert. Possible values are: new, inProgress, resolved, unknownFutureValue.
status?: AlertStatus;
// The Azure Active Directory tenant the alert was created in.
tenantId?: NullableOption<string>;
// The threat associated with this alert.
threatDisplayName?: NullableOption<string>;
// Threat family associated with this alert.
threatFamilyName?: NullableOption<string>;
// Brief identifying string value describing the alert.
title?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
interface Incident extends microsoftgraph.Entity {
// Owner of the incident, or null if no owner is assigned. Free editable text.
assignedTo?: NullableOption<string>;
/**
* The specification for the incident. Possible values are: unknown, falsePositive, truePositive,
* informationalExpectedActivity, unknownFutureValue.
*/
classification?: NullableOption<AlertClassification>;
// Array of comments created by the Security Operations (SecOps) team when the incident is managed.
comments?: NullableOption<AlertComment[]>;
// Time when the incident was first created.
createdDateTime?: string;
// Array of custom tags associated with an incident.
customTags?: NullableOption<string[]>;
/**
* Specifies the determination of the incident. Possible values are: unknown, apt, malware, securityPersonnel,
* securityTesting, unwantedSoftware, other, multiStagedAttack, compromisedUser, phishing, maliciousUserActivity, clean,
* insufficientData, confirmedUserActivity, lineOfBusinessApplication, unknownFutureValue.
*/
determination?: NullableOption<AlertDetermination>;
// The incident name.
displayName?: NullableOption<string>;
// The URL for the incident page in the Microsoft 365 Defender portal.
incidentWebUrl?: NullableOption<string>;
// Time when the incident was last updated.
lastUpdateDateTime?: string;
/**
* Only populated in case an incident is grouped together with another incident, as part of the logic that processes
* incidents. In such a case, the status property is redirected.
*/
redirectIncidentId?: NullableOption<string>;
/**
* Indicates the possible impact on assets. The higher the severity, the bigger the impact. Typically higher severity
* items require the most immediate attention. Possible values are: unknown, informational, low, medium, high,
* unknownFutureValue.
*/
severity?: AlertSeverity;
// The status of the incident. Possible values are: active, resolved, inProgress, redirected, unknownFutureValue.
status?: IncidentStatus;
// The Azure Active Directory tenant in which the alert was created.
tenantId?: NullableOption<string>;
// The list of related alerts. Supports $expand.
alerts?: NullableOption<Alert[]>;
}
interface TriggersRoot extends microsoftgraph.Entity {
retentionEvents?: NullableOption<RetentionEvent[]>;
}
interface TriggerTypesRoot extends microsoftgraph.Entity {
retentionEventTypes?: NullableOption<RetentionEventType[]>;
}
interface Case extends microsoftgraph.Entity {
createdDateTime?: NullableOption<string>;
description?: NullableOption<string>;
displayName?: NullableOption<string>;
lastModifiedBy?: NullableOption<microsoftgraph.IdentitySet>;
lastModifiedDateTime?: NullableOption<string>;
status?: NullableOption<CaseStatus>;
}
interface CaseOperation extends microsoftgraph.Entity {
/**
* The type of action the operation represents. Possible values are:
* addToReviewSet,applyTags,contentExport,convertToPdf,estimateStatistics, purgeData
*/
action?: NullableOption<CaseAction>;
// The date and time the operation was completed.
completedDateTime?: NullableOption<string>;
// The user that created the operation.
createdBy?: NullableOption<microsoftgraph.IdentitySet>;
// The date and time the operation was created.
createdDateTime?: NullableOption<string>;
// The progress of the operation.
percentProgress?: NullableOption<number>;
// Contains success and failure-specific result information.
resultInfo?: NullableOption<microsoftgraph.ResultInfo>;
/**
* The status of the case operation. Possible values are: notStarted, submissionFailed, running, succeeded,
* partiallySucceeded, failed.
*/
status?: NullableOption<CaseOperationStatus>;
}
interface EdiscoveryCase extends Case {
// The user who closed the case.
closedBy?: NullableOption<microsoftgraph.IdentitySet>;
/**
* The date and time when the case was closed. 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 is 2014-01-01T00:00:00Z
*/
closedDateTime?: NullableOption<string>;
// The external case number for customer reference.
externalId?: NullableOption<string>;
// Returns a list of case ediscoveryCustodian objects for this case.
custodians?: NullableOption<EdiscoveryCustodian[]>;
// Returns a list of case ediscoveryNoncustodialDataSource objects for this case.
noncustodialDataSources?: NullableOption<EdiscoveryNoncustodialDataSource[]>;
// Returns a list of case caseOperation objects for this case.
operations?: NullableOption<CaseOperation[]>;
// Returns a list of eDiscoveryReviewSet objects in the case.
reviewSets?: NullableOption<EdiscoveryReviewSet[]>;
// Returns a list of eDiscoverySearch objects associated with this case.
searches?: NullableOption<EdiscoverySearch[]>;
// Returns a list of eDIscoverySettings objects in the case.
settings?: NullableOption<EdiscoveryCaseSettings>;
// Returns a list of ediscoveryReviewTag objects associated to this case.
tags?: NullableOption<EdiscoveryReviewTag[]>;
}
interface DataSet extends microsoftgraph.Entity {
createdBy?: NullableOption<microsoftgraph.IdentitySet>;
createdDateTime?: NullableOption<string>;
displayName?: NullableOption<string>;
}
interface DataSource extends microsoftgraph.Entity {
// The user who created the dataSource.
createdBy?: NullableOption<microsoftgraph.IdentitySet>;
// The date and time the dataSource was created.
createdDateTime?: NullableOption<string>;
// The display name of the dataSource. This will be the name of the SharePoint site.
displayName?: NullableOption<string>;
// The hold status of the dataSource.The possible values are: notApplied, applied, applying, removing, partial
holdStatus?: NullableOption<DataSourceHoldStatus>;
}
interface DataSourceContainer extends microsoftgraph.Entity {
// Created date and time of the dataSourceContainer entity.
createdDateTime?: NullableOption<string>;
// Display name of the dataSourceContainer entity.
displayName?: NullableOption<string>;
// The hold status of the dataSourceContainer. The possible values are: notApplied, applied, applying, removing, partial
holdStatus?: NullableOption<DataSourceHoldStatus>;
// Last modified date and time of the dataSourceContainer.
lastModifiedDateTime?: NullableOption<string>;
// Date and time that the dataSourceContainer was released from the case.
releasedDateTime?: NullableOption<string>;
// Latest status of the dataSourceContainer. Possible values are: Active, Released.
status?: NullableOption<DataSourceContainerStatus>;
}
interface EdiscoveryAddToReviewSetOperation extends CaseOperation {
// eDiscovery review set to which items matching source collection query gets added.
reviewSet?: NullableOption<EdiscoveryReviewSet>;
// eDiscovery search that gets added to review set.
search?: NullableOption<EdiscoverySearch>;
}
interface EdiscoveryReviewSet extends DataSet {
// Represents queries within the review set.
queries?: NullableOption<EdiscoveryReviewSetQuery[]>;
}
interface Search extends microsoftgraph.Entity {
contentQuery?: NullableOption<string>;
createdBy?: NullableOption<microsoftgraph.IdentitySet>;
createdDateTime?: NullableOption<string>;
description?: NullableOption<string>;
displayName?: NullableOption<string>;
lastModifiedBy?: NullableOption<microsoftgraph.IdentitySet>;
lastModifiedDateTime?: NullableOption<string>;
}
interface EdiscoverySearch extends Search {
/**
* When specified, the collection will span across a service for an entire workload. Possible values are: none,
* allTenantMailboxes, allTenantSites, allCaseCustodians, allCaseNoncustodialDataSources.
*/
dataSourceScopes?: NullableOption<DataSourceScopes>;
// Adds an additional source to the eDiscovery search.
additionalSources?: NullableOption<DataSource[]>;
// Adds the results of the eDiscovery search to the specified reviewSet.
addToReviewSetOperation?: NullableOption<EdiscoveryAddToReviewSetOperation>;
// Custodian sources that are included in the eDiscovery search.
custodianSources?: NullableOption<DataSource[]>;
// The last estimate operation associated with the eDiscovery search.
lastEstimateStatisticsOperation?: NullableOption<EdiscoveryEstimateOperation>;
// noncustodialDataSource sources that are included in the eDiscovery search
noncustodialSources?: NullableOption<EdiscoveryNoncustodialDataSource[]>;
}
interface EdiscoveryCustodian extends DataSourceContainer {
// Date and time the custodian acknowledged a hold notification.
acknowledgedDateTime?: NullableOption<string>;
// Email address of the custodian.
email?: NullableOption<string>;
// Operation entity that represents the latest indexing for the custodian.
lastIndexOperation?: NullableOption<EdiscoveryIndexOperation>;
// Data source entity for SharePoint sites associated with the custodian.
siteSources?: NullableOption<SiteSource[]>;
// Data source entity for groups associated with the custodian.
unifiedGroupSources?: NullableOption<UnifiedGroupSource[]>;
// Data source entity for a the custodian. This is the container for a custodian's mailbox and OneDrive for Business site.
userSources?: NullableOption<UserSource[]>;
}
interface EdiscoveryNoncustodialDataSource extends DataSourceContainer {
// User source or SharePoint site data source as non-custodial data source.
dataSource?: NullableOption<DataSource>;
// Operation entity that represents the latest indexing for the non-custodial data source.
lastIndexOperation?: NullableOption<EdiscoveryIndexOperation>;
}
interface EdiscoveryCaseSettings extends microsoftgraph.Entity {
// The OCR (Optical Character Recognition) settings for the case.
ocr?: NullableOption<OcrSettings>;
// The redundancy (near duplicate and email threading) detection settings for the case.
redundancyDetection?: NullableOption<RedundancyDetectionSettings>;
// The Topic Modeling (Themes) settings for the case.
topicModeling?: NullableOption<TopicModelingSettings>;
}
interface Tag extends microsoftgraph.Entity {
createdBy?: NullableOption<microsoftgraph.IdentitySet>;
description?: NullableOption<string>;
displayName?: NullableOption<string>;
lastModifiedDateTime?: NullableOption<string>;
}
interface EdiscoveryReviewTag extends Tag {
/**
* Indicates whether a single or multiple child tags can be associated with a document. Possible values are: One, Many.
* This value controls whether the UX presents the tags as checkboxes or a radio button group.
*/
childSelectability?: NullableOption<ChildSelectability>;
// Returns the tags that are a child of a tag.
childTags?: NullableOption<EdiscoveryReviewTag[]>;
// Returns the parent tag of the specified tag.
parent?: NullableOption<EdiscoveryReviewTag>;
}
// tslint:disable-next-line: no-empty-interface
interface EdiscoveryIndexOperation extends CaseOperation {}
interface SiteSource extends DataSource {
// The SharePoint site associated with the siteSource.
site?: microsoftgraph.Site;
}
interface UnifiedGroupSource extends DataSource {
// Specifies which sources are included in this group. Possible values are: mailbox, site.
includedSources?: NullableOption<SourceType>;
// Represents a group.
group?: microsoftgraph.Group;
}
interface UserSource extends DataSource {
// Email address of the user's mailbox.
email?: string;
// Specifies which sources are included in this group. Possible values are: mailbox, site.
includedSources?: NullableOption<SourceType>;
// The URL of the user's OneDrive for Business site. Read-only.
siteWebUrl?: NullableOption<string>;
}
interface EdiscoveryEstimateOperation extends CaseOperation {
// The estimated count of items for the search that matched the content query.
indexedItemCount?: NullableOption<number>;
// The estimated size of items for the search that matched the content query.
indexedItemsSize?: NullableOption<number>;
// The number of mailboxes that had search hits.
mailboxCount?: NullableOption<number>;
// The number of mailboxes that had search hits.
siteCount?: NullableOption<number>;
// The estimated count of unindexed items for the collection.
unindexedItemCount?: NullableOption<number>;
// The estimated size of unindexed items for the collection.
unindexedItemsSize?: NullableOption<number>;
// eDiscovery search.
search?: NullableOption<EdiscoverySearch>;
}
// tslint:disable-next-line: no-empty-interface
interface EdiscoveryHoldOperation extends CaseOperation {}
// tslint:disable-next-line: no-empty-interface
interface EdiscoveryPurgeDataOperation extends CaseOperation {}
// tslint:disable-next-line: no-empty-interface
interface EdiscoveryReviewSetQuery extends Search {}
// tslint:disable-next-line: no-empty-interface
interface EdiscoveryTagOperation extends CaseOperation {}
interface RetentionEvent extends microsoftgraph.Entity {
// The user who created the retentionEvent.
createdBy?: NullableOption<microsoftgraph.IdentitySet>;
// The date time when the retentionEvent was created.
createdDateTime?: NullableOption<string>;
// Optional information about the event.
description?: NullableOption<string>;
// Name of the event.
displayName?: NullableOption<string>;
eventPropagationResults?: NullableOption<EventPropagationResult[]>;
/**
* Represents the workload (SharePoint Online, OneDrive for Business, Exchange Online) and identification information
* associated with a retention event.
*/
eventQueries?: NullableOption<EventQuery[]>;
eventStatus?: NullableOption<RetentionEventStatus>;
// Optional time when the event should be triggered.
eventTriggerDateTime?: NullableOption<string>;
// The user who last modified the retentionEvent.
lastModifiedBy?: NullableOption<microsoftgraph.IdentitySet>;
// The latest date time when the retentionEvent was modified.
lastModifiedDateTime?: NullableOption<string>;
// Last time the status of the event was updated.
lastStatusUpdateDateTime?: NullableOption<string>;
// Specifies the event that will start the retention period for labels that use this event type when an event is created.
retentionEventType?: NullableOption<RetentionEventType>;
}
interface RetentionEventType extends microsoftgraph.Entity {
// The user who created the retentionEventType.
createdBy?: NullableOption<microsoftgraph.IdentitySet>;
// The date time when the retentionEventType was created.
createdDateTime?: NullableOption<string>;
// Optional information about the event type.
description?: NullableOption<string>;
// Name of the event type.
displayName?: NullableOption<string>;
// The user who last modified the retentionEventType.
lastModifiedBy?: NullableOption<microsoftgraph.IdentitySet>;
// The latest date time when the retentionEventType was modified.
lastModifiedDateTime?: NullableOption<string>;
}
interface OcrSettings {
// Indicates whether or not OCR is enabled for the case.
isEnabled?: NullableOption<boolean>;
// Maximum image size that will be processed in KB).
maxImageSize?: NullableOption<number>;
/**
* The timeout duration for the OCR engine. A longer timeout might increase success of OCR, but might add to the total
* processing time.
*/
timeout?: NullableOption<string>;
}
interface RedundancyDetectionSettings {
// Indicates whether email threading and near duplicate detection are enabled.
isEnabled?: NullableOption<boolean>;
/**
* Specifies the maximum number of words used for email threading and near duplicate detection. To learn more, see
* Minimum/maximum number of words.
*/
maxWords?: NullableOption<number>;
/**
* Specifies the minimum number of words used for email threading and near duplicate detection. To learn more, see
* Minimum/maximum number of words.
*/
minWords?: NullableOption<number>;
/**
* Specifies the similarity level for documents to be put in the same near duplicate set. To learn more, see Document and
* email similarity threshold.
*/
similarityThreshold?: NullableOption<number>;
}
// tslint:disable-next-line: no-empty-interface
interface StringValueDictionary {}
interface TopicModelingSettings {
/**
* Indicates whether the themes model should dynamically optimize the number of generated topics. To learn more, see
* Adjust maximum number of themes dynamically.
*/
dynamicallyAdjustTopicCount?: NullableOption<boolean>;
/**
* Indicates whether the themes model should exclude numbers while parsing document texts. To learn more, see Include
* numbers in themes.
*/
ignoreNumbers?: NullableOption<boolean>;
// Indicates whether themes model is enabled for the case.
isEnabled?: NullableOption<boolean>;
/**
* The total number of topics that the themes model will generate for a review set. To learn more, see Maximum number of
* themes.
*/
topicCount?: NullableOption<number>;
}
interface AlertComment {
// The comment text.
comment?: NullableOption<string>;
// The person or app name that submitted the comment.
createdByDisplayName?: NullableOption<string>;
// The time when the comment was submitted.
createdDateTime?: string;
}
interface AlertEvidence {
/**
* The date and time when the evidence was created and added to the alert. 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 is
* 2014-01-01T00:00:00Z.
*/
createdDateTime?: string;
detailedRoles?: NullableOption<string[]>;
/**
* Status of the remediation action taken. The possible values are: none, remediated, prevented, blocked, notFound,
* unknownFutureValue.
*/
remediationStatus?: EvidenceRemediationStatus;
// Details about the remediation status.
remediationStatusDetails?: NullableOption<string>;
/**
* One or more roles that an evidence entity represents in an alert. For example, an IP address that is associated with an
* attacker has the evidence role Attacker.
*/
roles?: EvidenceRole[];
/**
* Array of custom tags associated with an evidence instance. For example, to denote a group of devices or high value
* assets.
*/
tags?: NullableOption<string[]>;
/**
* The decision reached by automated investigation. The possible values are: unknown, suspicious, malicious,
* noThreatsFound, unknownFutureValue.
*/
verdict?: EvidenceVerdict;
}
interface AmazonResourceEvidence extends AlertEvidence {
// The unique identifier for the Amazon account.
amazonAccountId?: NullableOption<string>;
// The Amazon resource identifier (ARN) for the cloud resource.
amazonResourceId?: NullableOption<string>;
// The name of the resource.
resourceName?: NullableOption<string>;
// The type of the resource.
resourceType?: NullableOption<string>;
}
interface AnalyzedMessageEvidence extends AlertEvidence {
// Direction of the email relative to your network. The possible values are: inbound, outbound or intraorg.
antiSpamDirection?: NullableOption<string>;
// Number of attachments in the email.
attachmentsCount?: NullableOption<number>;
// Delivery action of the email. The possible values are: delivered, deliveredAsSpam, junked, blocked, or replaced.
deliveryAction?: NullableOption<string>;
/**
* Location where the email was delivered. The possible values are: inbox, external, junkFolder, quarantine, failed,
* dropped, deletedFolder or forwarded.
*/
deliveryLocation?: NullableOption<string>;
// Public-facing identifier for the email that is set by the sending email system.
internetMessageId?: NullableOption<string>;
// Detected language of the email content.
language?: NullableOption<string>;
// Unique identifier for the email, generated by Microsoft 365.
networkMessageId?: NullableOption<string>;
// The P1 sender.
p1Sender?: NullableOption<EmailSender>;
// The P2 sender.
p2Sender?: NullableOption<EmailSender>;
// Date and time when the email was received.
receivedDateTime?: NullableOption<string>;
// Email address of the recipient, or email address of the recipient after distribution list expansion.
recipientEmailAddress?: NullableOption<string>;
// IP address of the last detected mail server that relayed the message.
senderIp?: NullableOption<string>;
// Subject of the email.
subject?: NullableOption<string>;
// Collection of methods used to detect malware, phishing, or other threats found in the email.
threatDetectionMethods?: NullableOption<string[]>;
// Collection of detection names for malware or other threats found.
threats?: NullableOption<string[]>;
// Number of embedded URLs in the email.
urlCount?: NullableOption<number>;
// Collection of the URLs contained in this email.
urls?: NullableOption<string[]>;
// Uniform resource name (URN) of the automated investigation where the cluster was identified.
urn?: NullableOption<string>;
}
interface EmailSender {
// The name of the sender.
displayName?: NullableOption<string>;
// Sender domain.
domainName?: NullableOption<string>;
// Sender email address.
emailAddress?: NullableOption<string>;
}
interface AzureResourceEvidence extends AlertEvidence {
// The unique identifier for the Azure resource.
resourceId?: NullableOption<string>;
// The name of the resource.
resourceName?: NullableOption<string>;
// The type of the resource.
resourceType?: NullableOption<string>;
}
interface CloudApplicationEvidence extends AlertEvidence {
// Unique identifier of the application.
appId?: NullableOption<number>;
// Name of the application.
displayName?: NullableOption<string>;
// Identifier of the instance of the Software as a Service (SaaS) application.
instanceId?: NullableOption<number>;
// Name of the instance of the SaaS application.
instanceName?: NullableOption<string>;
// The identifier of the SaaS application.
saasAppId?: NullableOption<number>;
}
interface DeviceEvidence extends AlertEvidence {
// A unique identifier assigned to a device by Azure Active Directory (Azure AD) when device is Azure AD-joined.
azureAdDeviceId?: NullableOption<string>;
/**
* State of the Defender AntiMalware engine. The possible values are: notReporting, disabled, notUpdated, updated,
* unknown, notSupported, unknownFutureValue.
*/
defenderAvStatus?: NullableOption<DefenderAvStatus>;
// The fully qualified domain name (FQDN) for the device.
deviceDnsName?: NullableOption<string>;
// The date and time when the device was first seen.
firstSeenDateTime?: NullableOption<string>;
/**
* The health state of the device.The possible values are: active, inactive, impairedCommunication, noSensorData,
* noSensorDataImpairedCommunication, unknown, unknownFutureValue.
*/
healthStatus?: NullableOption<DeviceHealthStatus>;
ipInterfaces?: NullableOption<string[]>;
// Users that were logged on the machine during the time of the alert.
loggedOnUsers?: NullableOption<LoggedOnUser[]>;
// A unique identifier assigned to a device by Microsoft Defender for Endpoint.
mdeDeviceId?: NullableOption<string>;
/**
* The status of the machine onboarding to Microsoft Defender for Endpoint.The possible values are: insufficientInfo,
* onboarded, canBeOnboarded, unsupported, unknownFutureValue.
*/
onboardingStatus?: NullableOption<OnboardingStatus>;
// The build version for the operating system the device is running.
osBuild?: NullableOption<number>;
// The operating system platform the device is running.
osPlatform?: NullableOption<string>;
// The ID of the role-based access control (RBAC) device group.
rbacGroupId?: NullableOption<number>;
// The name of the RBAC device group.
rbacGroupName?: NullableOption<string>;
/**
* Risk score as evaluated by Microsoft Defender for Endpoint. The possible values are: none, informational, low, medium,
* high, unknownFutureValue.
*/
riskScore?: NullableOption<DeviceRiskScore>;
// The version of the operating system platform.
version?: NullableOption<string>;
// Metadata of the virtual machine (VM) on which Microsoft Defender for Endpoint is running.
vmMetadata?: NullableOption<VmMetadata>;
}
interface LoggedOnUser {
// User account name of the logged-on user.
accountName?: NullableOption<string>;
// User account domain of the logged-on user.
domainName?: NullableOption<string>;
}
interface VmMetadata {
// The cloud provider hosting the virtual machine. The possible values are: unknown, azure, unknownFutureValue.
cloudProvider?: VmCloudProvider;
// Unique identifier of the Azure resource.
resourceId?: NullableOption<string>;
// Unique identifier of the Azure subscription the customer tenant belongs to.
subscriptionId?: NullableOption<string>;
// Unique identifier of the virtual machine instance.
vmId?: NullableOption<string>;
}
interface FileDetails {
// The name of the file.
fileName?: NullableOption<string>;
// The file path (location) of the file instance.
filePath?: NullableOption<string>;
// The publisher of the file.
filePublisher?: NullableOption<string>;
// The size of the file in bytes.
fileSize?: NullableOption<number>;
// The certificate authority (CA) that issued the certificate.
issuer?: NullableOption<string>;
// The Sha1 cryptographic hash of the file content.
sha1?: NullableOption<string>;
// The Sha256 cryptographic hash of the file content.
sha256?: NullableOption<string>;
// The signer of the signed file.
signer?: NullableOption<string>;
}
interface FileEvidence extends AlertEvidence {
// The status of the detection.The possible values are: detected, blocked, prevented, unknownFutureValue.
detectionStatus?: NullableOption<DetectionStatus>;
// The file details.
fileDetails?: NullableOption<FileDetails>;
// A unique identifier assigned to a device by Microsoft Defender for Endpoint.
mdeDeviceId?: NullableOption<string>;
}
interface GoogleCloudResourceEvidence extends AlertEvidence {
// The zone or region where the resource is located.
location?: NullableOption<string>;
// The type of location. Possible values are: unknown, regional, zonal, global, unknownFutureValue.
locationType?: NullableOption<GoogleCloudLocationType>;
// The Google project ID as defined by the user.
projectId?: NullableOption<string>;
// The project number assigned by Google.
projectNumber?: NullableOption<number>;
// The name of the resource.
resourceName?: NullableOption<string>;
// The type of the resource.
resourceType?: NullableOption<string>;
}
interface HuntingQueryResults {
// The results of the hunting query.
results?: NullableOption<HuntingRowResult[]>;
// The schema for the response.
schema?: NullableOption<SinglePropertySchema[]>;
}
// tslint:disable-next-line: no-empty-interface
interface HuntingRowResult {}
interface SinglePropertySchema {
// The name of the property.
name?: NullableOption<string>;
// The type of the property.
type?: NullableOption<string>;
}
// tslint:disable-next-line: interface-name
interface IpEvidence extends AlertEvidence {
// The two-letter country code according to ISO 3166 format, for example: US, UK, CA, etc..).
countryLetterCode?: NullableOption<string>;
// The value of the IP Address, can be either in V4 address or V6 address format.
ipAddress?: NullableOption<string>;
}
interface MailboxEvidence extends AlertEvidence {
// The name associated with the mailbox.
displayName?: NullableOption<string>;
// The primary email address of the mailbox.
primaryAddress?: NullableOption<string>;
// The user account of the mailbox.
userAccount?: NullableOption<UserAccount>;
}
interface UserAccount {
// The displayed name of the user account.
accountName?: NullableOption<string>;
// The user object identifier in Azure Active Directory (Azure AD).
azureAdUserId?: NullableOption<string>;
// The user display name in Azure AD.
displayName?: NullableOption<string>;
// The name of the Active Directory domain of which the user is a member.
domainName?: NullableOption<string>;
// The user principal name of the account in Azure AD.
userPrincipalName?: NullableOption<string>;
// The local security identifier of the user account.
userSid?: NullableOption<string>;
}
interface MailClusterEvidence extends AlertEvidence {
// The clustering logic of the emails inside the cluster.
clusterBy?: NullableOption<string>;
// The value utilized to cluster the similar emails.
clusterByValue?: NullableOption<string>;
// Count of emails in the email cluster.
emailCount?: NullableOption<number>;
// Unique identifiers for the emails in the cluster, generated by Microsoft 365.
networkMessageIds?: NullableOption<string[]>;
// The query used to identify the email cluster.
query?: NullableOption<string>;
// Uniform resource name (URN) of the automated investigation where the cluster was identified.
urn?: NullableOption<string>;
}
interface OauthApplicationEvidence extends AlertEvidence {
// Unique identifier of the application.
appId?: NullableOption<string>;
// Name of the application.
displayName?: NullableOption<string>;
// The unique identifier of the application object in Azure AD.
objectId?: NullableOption<string>;
// The name of the application publisher.
publisher?: NullableOption<string>;
}
interface ProcessEvidence extends AlertEvidence {
// The status of the detection.The possible values are: detected, blocked, prevented, unknownFutureValue.
detectionStatus?: NullableOption<DetectionStatus>;
// Image file details.
imageFile?: NullableOption<FileDetails>;
// A unique identifier assigned to a device by Microsoft Defender for Endpoint.
mdeDeviceId?: NullableOption<string>;
// Date and time when the parent of the process was created.
parentProcessCreationDateTime?: NullableOption<string>;
// Process ID (PID) of the parent process that spawned the process.
parentProcessId?: NullableOption<number>;
// Parent process image file details.
parentProcessImageFile?: NullableOption<FileDetails>;
// Command line used to create the new process.
processCommandLine?: NullableOption<string>;
// Date and time the process was created.
processCreationDateTime?: NullableOption<string>;
// Process ID (PID) of the newly created process.
processId?: NullableOption<number>;
// User details of the user that ran the process.
userAccount?: NullableOption<UserAccount>;
}
interface RegistryKeyEvidence extends AlertEvidence {
// Registry hive of the key that the recorded action was applied to.
registryHive?: NullableOption<string>;
// Registry key that the recorded action was applied to.
registryKey?: NullableOption<string>;
}
interface RegistryValueEvidence extends AlertEvidence {
mdeDeviceId?: NullableOption<string>;
// Registry hive of the key that the recorded action was applied to.
registryHive?: NullableOption<string>;
// Registry key that the recorded action was applied to.
registryKey?: NullableOption<string>;
// Data of the registry value that the recorded action was applied to.
registryValue?: NullableOption<string>;
// Name of the registry value that the recorded action was applied to.
registryValueName?: NullableOption<string>;
// Data type, such as binary or string, of the registry value that the recorded action was applied to.
registryValueType?: NullableOption<string>;
}
interface SecurityGroupEvidence extends AlertEvidence {
// The name of the security group.
displayName?: NullableOption<string>;
// Unique identifier of the security group.
securityGroupId?: NullableOption<string>;
}
interface UrlEvidence extends AlertEvidence {
// The Unique Resource Locator (URL).
url?: NullableOption<string>;
}
interface UserEvidence extends AlertEvidence {
// The user account details.
userAccount?: NullableOption<UserAccount>;
}
interface EventPropagationResult {
// The name of the specific location in the workload associated with the event.
location?: NullableOption<string>;
// The name of the workload associated with the event.
serviceName?: NullableOption<string>;
/**
* Indicates the status of the event creation request. The possible values are: none, inProcessing, failed, success,
* unknownFutureValue.
*/
status?: NullableOption<EventPropagationStatus>;
// Additional information about the status of the event creation request.
statusInformation?: NullableOption<string>;
}
interface EventQuery {
/**
* Represents unique identification for the query. 'Asset ID' for SharePoint Online and OneDrive for Business, 'keywords'
* for Exchange Online.
*/
query?: string;
/**
* Represents the type of query associated with an event. 'files' for SPO and ODB and 'messages' for EXO.The possible
* values are: files, messages, unknownFutureValue.
*/
queryType?: NullableOption<QueryType>;
}
interface RetentionEventStatus {
// The error if the status is not successful.
error?: NullableOption<microsoftgraph.PublicError>;
// The status of the distribution. The possible values are: pending, error, success, notAvaliable.
status?: NullableOption<EventStatusType>;
}
}
export namespace TermStore {
type RelationType = "pin" | "reuse" | "unknownFutureValue";
type TermGroupScope = "global" | "system" | "siteCollection" | "unknownFutureValue";
interface Store extends microsoftgraph.Entity {
// Default language of the term store.
defaultLanguageTag?: string;
// List of languages for the term store.
languageTags?: string[];
// Collection of all groups available in the term store.
groups?: NullableOption<Group[]>;
// Collection of all sets available in the term store. This relationship can only be used to load a specific term set.
sets?: NullableOption<Set[]>;
}
interface Group extends microsoftgraph.Entity {
// Date and time of the group creation. Read-only.
createdDateTime?: NullableOption<string>;
// Description that gives details on the term usage.
description?: NullableOption<string>;
// Name of the group.
displayName?: NullableOption<string>;
// ID of the parent site of this group.
parentSiteId?: NullableOption<string>;
// Returns the type of the group. Possible values are: global, system, and siteCollection.
scope?: NullableOption<TermGroupScope>;
// All sets under the group in a term [store].
sets?: NullableOption<Set[]>;
}
interface Set extends microsoftgraph.Entity {
// Date and time of set creation. Read-only.
createdDateTime?: NullableOption<string>;
// Description that gives details on the term usage.
description?: NullableOption<string>;
// Name of the set for each languageTag.
localizedNames?: NullableOption<LocalizedName[]>;
// Custom properties for the set.
properties?: NullableOption<microsoftgraph.KeyValue[]>;
// Children terms of set in term [store].
children?: NullableOption<Term[]>;
// The parent [group] that contains the set.
parentGroup?: Group;
// Indicates which terms have been pinned or reused directly under the set.
relations?: NullableOption<Relation[]>;
// All the terms under the set.
terms?: NullableOption<Term[]>;
}
interface Relation extends microsoftgraph.Entity {
// The type of relation. Possible values are: pin, reuse.
relationship?: NullableOption<RelationType>;
/**
* The from [term] of the relation. The term from which the relationship is defined. A null value would indicate the
* relation is directly with the [set].
*/
fromTerm?: NullableOption<Term>;
// The [set] in which the relation is relevant.
set?: NullableOption<Set>;
// The to [term] of the relation. The term to which the relationship is defined.
toTerm?: NullableOption<Term>;
}
interface Term extends microsoftgraph.Entity {
// Date and time of term creation. Read-only.
createdDateTime?: NullableOption<string>;
// Description about term that is dependent on the languageTag.
descriptions?: NullableOption<LocalizedDescription[]>;
// Label metadata for a term.
labels?: NullableOption<LocalizedLabel[]>;
// Last date and time of term modification. Read-only.
lastModifiedDateTime?: NullableOption<string>;
// Collection of properties on the term.
properties?: NullableOption<microsoftgraph.KeyValue[]>;
// Children of current term.
children?: NullableOption<Term[]>;
// To indicate which terms are related to the current term as either pinned or reused.
relations?: NullableOption<Relation[]>;
// The [set] in which the term is created.
set?: NullableOption<Set>;
}
interface LocalizedDescription {
// The description in the localized language.
description?: NullableOption<string>;
// The language tag for the label.
languageTag?: NullableOption<string>;
}
interface LocalizedLabel {
// Indicates whether the label is the default label.
isDefault?: NullableOption<boolean>;
// The language tag for the label.
languageTag?: NullableOption<string>;
// The name of the label.
name?: NullableOption<string>;
}
interface LocalizedName {
// The language tag for the label.
languageTag?: NullableOption<string>;
// The name in the localized language.
name?: NullableOption<string>;
}
}