Classes/_Types02.psm1

# GENERATED FILE - do not edit.
# Produced by Utilities/Build-Microsoft365DSC.ps1 from DscResources/MSFT_*.

class MSFT_AccessPackageResourceRoleScope
{
    [DscProperty()]
    [System.String] $Id

    [DscProperty()]
    [System.String] $AccessPackageResourceOriginId

    [DscProperty()]
    [System.String] $AccessPackageResourceRoleDisplayName

    [DscProperty()]
    [System.String] $AccessPackageResourceScopeOriginSystem
}

class MSFT_ADOPermission
{
    [DscProperty(Mandatory)]
    [System.String] $NamespaceId

    [DscProperty(Mandatory)]
    [System.String] $DisplayName

    [DscProperty()]
    [System.Nullable[System.UInt32]] $Bit

    [DscProperty(Mandatory)]
    [System.String] $Token
}

class MSFT_airPrintDestination
{
    [DscProperty(Mandatory)]
    [System.String] $ipAddress

    [DscProperty(Mandatory)]
    [System.String] $resourcePath

    [DscProperty(Mandatory)]
    [System.Nullable[System.UInt32]] $port

    [DscProperty()]
    [System.Nullable[System.Boolean]] $forceTls
}

class MSFT_androidPermissionAction
{
    [DscProperty(Mandatory)]
    [System.String] $permission

    [DscProperty(Mandatory)]
    [ValidateSet('prompt', 'autoGrant', 'autoDeny')]
    [System.String] $action
}

class MSFT_AppIdentifier
{
    [DscProperty()]
    [System.String] $bundleID

    [DscProperty()]
    [System.String] $packageID

    [DscProperty()]
    [System.String] $windowsAppId
}

class MSFT_managedMobileApp
{
    [DscProperty(Mandatory)]
    [System.String] $id

    [DscProperty()]
    [MSFT_AppIdentifier] $mobileAppIdentifier
}

class MSFT_appListItem
{
    [DscProperty()]
    [System.String] $name

    [DscProperty()]
    [System.String] $publisher

    [DscProperty()]
    [System.String] $appStoreUrl

    [DscProperty(Mandatory)]
    [System.String] $appId
}

class MSFT_iosSingleSignOnSettings
{
    [DscProperty()]
    [MSFT_appListItem[]] $allowedAppsList

    [DscProperty()]
    [System.String[]] $allowedUrls

    [DscProperty()]
    [System.String] $displayName

    [DscProperty()]
    [System.String] $kerberosPrincipalName

    [DscProperty()]
    [System.String] $kerberosRealm
}

class MSFT_AzureADRegistrationPolicy
{
    [DscProperty()]
    [MSFT_DeviceRegistrationMembership] $AllowedToRegister

    [DscProperty()]
    [System.Nullable[System.Boolean]] $IsAdminConfigurable
}

class MSFT_DeviceRegistrationMembership
{
    [DscProperty()]
    [System.String[]] $Groups

    [DscProperty()]
    [System.String[]] $Users

    [DscProperty()]
    [ValidateSet('#microsoft.graph.allDeviceRegistrationMembership', '#microsoft.graph.enumeratedDeviceRegistrationMembership', '#microsoft.graph.noDeviceRegistrationMembership')]
    [System.String] $odataType
}

class MSFT_AzureBillingAccountPolicyEnterpriseAgreementPolicy
{
    [DscProperty()]
    [System.String] $accountOwnerViewCharges

    [DscProperty()]
    [System.String] $authenticationType

    [DscProperty()]
    [System.String] $departmentAdminViewCharges
}

class MSFT_AzureBillingAccountScheduledActionNotification
{
    [DscProperty()]
    [System.String] $subject

    [DscProperty()]
    [System.String] $message

    [DscProperty()]
    [System.String[]] $to
}

class MSFT_AzureBillingAccountScheduledActionSchedule
{
    [DscProperty()]
    [System.Nullable[System.UInt32]] $dayOfMonth

    [DscProperty()]
    [System.String[]] $daysOfWeek

    [DscProperty()]
    [System.String] $startDate

    [DscProperty()]
    [System.String] $endDate

    [DscProperty()]
    [System.String[]] $weeksOfMonth

    [DscProperty()]
    [System.String] $frequency

    [DscProperty()]
    [System.Nullable[System.UInt32]] $hourOfDay
}

class MSFT_AzureDiagnosticSettingsCategory
{
    [DscProperty(Mandatory)]
    [System.String] $Category

    [DscProperty()]
    [System.Nullable[System.Boolean]] $enabled
}

class MSFT_AzureDiagnosticSettingsCustomSecurityAttributeCategory
{
    [DscProperty(Mandatory)]
    [System.String] $Category

    [DscProperty()]
    [System.Nullable[System.Boolean]] $enabled
}

class MSFT_AzureRoleAssignmentScheduleRequestSchedule
{
    [DscProperty()]
    [MSFT_AzureRoleAssignmentScheduleRequestScheduleExpiration] $expiration

    [DscProperty()]
    [MSFT_AzureRoleAssignmentScheduleRequestScheduleRecurrence] $recurrence

    [DscProperty()]
    [System.String] $startDateTime
}

class MSFT_AzureRoleAssignmentScheduleRequestScheduleExpiration
{
    [DscProperty()]
    [System.String] $duration

    [DscProperty()]
    [System.String] $endDateTime

    [DscProperty()]
    [ValidateSet('notSpecified', 'noExpiration', 'afterDateTime', 'afterDuration')]
    [System.String] $type
}

class MSFT_AzureRoleAssignmentScheduleRequestScheduleRecurrence
{
    [DscProperty()]
    [MSFT_AzureRoleAssignmentScheduleRequestScheduleRecurrencePattern] $pattern

    [DscProperty()]
    [MSFT_AzureRoleAssignmentScheduleRequestScheduleRecurrenceRange] $range
}

class MSFT_AzureRoleAssignmentScheduleRequestScheduleRecurrencePattern
{
    [DscProperty()]
    [System.Nullable[System.UInt32]] $dayOfMonth

    [DscProperty()]
    [ValidateSet('sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday')]
    [System.String[]] $daysOfWeek

    [DscProperty()]
    [ValidateSet('sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday')]
    [System.String] $firstDayOfWeek

    [DscProperty()]
    [ValidateSet('first', 'second', 'third', 'fourth', 'last')]
    [System.String] $index

    [DscProperty()]
    [System.Nullable[System.UInt32]] $interval

    [DscProperty()]
    [System.Nullable[System.UInt32]] $month

    [DscProperty()]
    [ValidateSet('daily', 'weekly', 'absoluteMonthly', 'relativeMonthly', 'absoluteYearly', 'relativeYearly')]
    [System.String] $type
}

class MSFT_AzureRoleAssignmentScheduleRequestScheduleRecurrenceRange
{
    [DscProperty(Mandatory)]
    [System.String] $endDate

    [DscProperty()]
    [System.Nullable[System.UInt32]] $numberOfOccurrences

    [DscProperty()]
    [System.String] $recurrenceTimeZone

    [DscProperty(Mandatory)]
    [System.String] $startDate

    [DscProperty(Mandatory)]
    [ValidateSet('endDate', 'noEnd', 'numbered')]
    [System.String] $type
}

class MSFT_AzureRoleEligibilityScheduleRequestSchedule
{
    [DscProperty()]
    [MSFT_AzureRoleEligibilityScheduleRequestScheduleExpiration] $expiration

    [DscProperty()]
    [MSFT_AzureRoleEligibilityScheduleRequestScheduleRecurrence] $recurrence

    [DscProperty()]
    [System.String] $startDateTime
}

class MSFT_AzureRoleEligibilityScheduleRequestScheduleExpiration
{
    [DscProperty()]
    [System.String] $duration

    [DscProperty()]
    [System.String] $endDateTime

    [DscProperty()]
    [ValidateSet('notSpecified', 'noExpiration', 'afterDateTime', 'afterDuration')]
    [System.String] $type
}

class MSFT_AzureRoleEligibilityScheduleRequestScheduleRecurrence
{
    [DscProperty()]
    [MSFT_AzureRoleEligibilityScheduleRequestScheduleRecurrencePattern] $pattern

    [DscProperty()]
    [MSFT_AzureRoleEligibilityScheduleRequestScheduleRecurrenceRange] $range
}

class MSFT_AzureRoleEligibilityScheduleRequestScheduleRecurrencePattern
{
    [DscProperty()]
    [System.Nullable[System.UInt32]] $dayOfMonth

    [DscProperty()]
    [ValidateSet('sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday')]
    [System.String[]] $daysOfWeek

    [DscProperty()]
    [ValidateSet('sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday')]
    [System.String] $firstDayOfWeek

    [DscProperty()]
    [ValidateSet('first', 'second', 'third', 'fourth', 'last')]
    [System.String] $index

    [DscProperty()]
    [System.Nullable[System.UInt32]] $interval

    [DscProperty()]
    [System.Nullable[System.UInt32]] $month

    [DscProperty()]
    [ValidateSet('daily', 'weekly', 'absoluteMonthly', 'relativeMonthly', 'absoluteYearly', 'relativeYearly')]
    [System.String] $type
}

class MSFT_AzureRoleEligibilityScheduleRequestScheduleRecurrenceRange
{
    [DscProperty(Mandatory)]
    [System.String] $endDate

    [DscProperty()]
    [System.Nullable[System.UInt32]] $numberOfOccurrences

    [DscProperty()]
    [System.String] $recurrenceTimeZone

    [DscProperty(Mandatory)]
    [System.String] $startDate

    [DscProperty(Mandatory)]
    [ValidateSet('endDate', 'noEnd', 'numbered')]
    [System.String] $type
}

class MSFT_customData
{
    [DscProperty(Mandatory)]
    [System.String] $key

    [DscProperty()]
    [System.String] $value
}

class MSFT_customKeyValueData
{
    [DscProperty(Mandatory)]
    [System.String] $name

    [DscProperty()]
    [System.String] $value
}

class MSFT_CustomSecurityAttributeAllowedValue
{
    [DscProperty(Mandatory)]
    [System.String] $ValueId

    [DscProperty(Mandatory)]
    [System.Nullable[System.Boolean]] $IsActive
}

class MSFT_DefaultUserRolePermissions
{
    [DscProperty()]
    [System.Nullable[System.Boolean]] $AllowedToCreateApps

    [DscProperty()]
    [System.Nullable[System.Boolean]] $AllowedToCreateSecurityGroups

    [DscProperty()]
    [System.Nullable[System.Boolean]] $AllowedToCreateTenants

    [DscProperty()]
    [System.Nullable[System.Boolean]] $AllowedToReadBitlockerKeysForOwnedDevice

    [DscProperty()]
    [System.Nullable[System.Boolean]] $AllowedToReadOtherUsers
}

class MSFT_DefenderDeviceAuthenticatedScanDefinitionAuthenticationParams
{
    [DscProperty()]
    [System.String] $DataType

    [DscProperty()]
    [System.String] $Type

    [DscProperty()]
    [System.String] $KeyVaultUrl

    [DscProperty()]
    [System.String] $KeyVaultSecretName

    [DscProperty()]
    [System.String] $Domain

    [DscProperty()]
    [System.String] $Username

    [DscProperty()]
    [System.Nullable[System.Boolean]] $IsGMSAUser

    [DscProperty()]
    [System.String] $CommunityString

    [DscProperty()]
    [System.String] $AuthProtocol

    [DscProperty()]
    [System.String] $AuthPassword

    [DscProperty()]
    [System.String] $PrivProtocol

    [DscProperty()]
    [System.String] $PrivPassword
}

class MSFT_DefenderDeviceAuthenticatedScanDefinitionScanAgent
{
    [DscProperty()]
    [System.String] $id

    [DscProperty()]
    [System.String] $machineId

    [DscProperty()]
    [System.String] $machineName
}

class MSFT_DefenderRoleDefinitionRolePermissions
{
    [DscProperty()]
    [System.String[]] $allowedResourceActions
}

class MSFT_DeviceEnrollmentPlatformRestriction
{
    [DscProperty()]
    [System.Nullable[System.Boolean]] $PlatformBlocked

    [DscProperty()]
    [System.Nullable[System.Boolean]] $PersonalDeviceEnrollmentBlocked

    [DscProperty()]
    [System.String] $OsMinimumVersion

    [DscProperty()]
    [System.String] $OsMaximumVersion

    [DscProperty()]
    [System.String[]] $BlockedManufacturers

    [DscProperty()]
    [System.String[]] $BlockedSkus
}

class MSFT_DeviceManagementApplicabilityRuleDeviceMode
{
    [DscProperty(Mandatory)]
    [System.String] $Name

    [DscProperty()]
    [ValidateSet('standardConfiguration', 'sModeConfiguration')]
    [System.String] $DeviceMode

    [DscProperty()]
    [ValidateSet('include', 'exclude')]
    [System.String] $RuleType
}

class MSFT_DeviceManagementApplicabilityRuleOsEdition
{
    [DscProperty()]
    [System.String] $Name

    [DscProperty()]
    [System.String[]] $OsEditionTypes

    [DscProperty()]
    [ValidateSet('include', 'exclude')]
    [System.String] $RuleType
}

class MSFT_DeviceManagementApplicabilityRuleOsVersion
{
    [DscProperty()]
    [System.String] $Name

    [DscProperty()]
    [System.String] $MinOSVersion

    [DscProperty()]
    [System.String] $MaxOSVersion

    [DscProperty()]
    [ValidateSet('include', 'exclude')]
    [System.String] $RuleType
}

class MSFT_DeviceManagementAppxMobileAppAssignment
{
    [DscProperty()]
    [ValidateSet('#microsoft.graph.groupAssignmentTarget', '#microsoft.graph.allLicensedUsersAssignmentTarget', '#microsoft.graph.allDevicesAssignmentTarget', '#microsoft.graph.exclusionGroupAssignmentTarget', '#microsoft.graph.mobileAppAssignment')]
    [System.String] $dataType

    [DscProperty()]
    [System.String] $deviceAndAppManagementAssignmentFilterId

    [DscProperty()]
    [System.String] $deviceAndAppManagementAssignmentFilterDisplayName

    [DscProperty()]
    [ValidateSet('none', 'include', 'exclude')]
    [System.String] $deviceAndAppManagementAssignmentFilterType

    [DscProperty()]
    [System.String] $groupId

    [DscProperty()]
    [System.String] $groupDisplayName

    [DscProperty()]
    [ValidateSet('available', 'required', 'uninstall', 'availableWithoutEnrollment')]
    [System.String] $intent

    [DscProperty()]
    [MSFT_DeviceManagementAppxMobileAppAssignmentSettings] $assignmentSettings
}

class MSFT_DeviceManagementAppxMobileAppAssignmentSettings
{
    [DscProperty(Mandatory)]
    [ValidateSet('#microsoft.graph.androidManagedStoreAppAssignmentSettings', '#microsoft.graph.iosStoreAppAssignmentSettings', '#microsoft.graph.iosLobAppAssignmentSettings', '#microsoft.graph.macOsLobAppAssignmentSettings', '#microsoft.graph.win32CatalogAppAssignmentSettings', '#microsoft.graph.win32LobAppAssignmentSettings', '#microsoft.graph.winGetAppAssignmentSettings', '#microsoft.graph.windowsAutoUpdateCatalogAppAssignmentSettings', '#microsoft.graph.windowsUniversalAppXAppAssignmentSettings')]
    [System.String] $odataType

    [DscProperty()]
    [System.Nullable[System.Boolean]] $useDeviceContext
}

class MSFT_DeviceManagementBuiltInStoreAppAssignment
{
    [DscProperty()]
    [ValidateSet('#microsoft.graph.groupAssignmentTarget', '#microsoft.graph.allLicensedUsersAssignmentTarget', '#microsoft.graph.allDevicesAssignmentTarget', '#microsoft.graph.exclusionGroupAssignmentTarget', '#microsoft.graph.mobileAppAssignment')]
    [System.String] $dataType

    [DscProperty()]
    [System.String] $deviceAndAppManagementAssignmentFilterId

    [DscProperty()]
    [System.String] $deviceAndAppManagementAssignmentFilterDisplayName

    [DscProperty()]
    [ValidateSet('none', 'include', 'exclude')]
    [System.String] $deviceAndAppManagementAssignmentFilterType

    [DscProperty()]
    [System.String] $groupId

    [DscProperty()]
    [System.String] $groupDisplayName

    [DscProperty()]
    [ValidateSet('available', 'required', 'uninstall', 'availableWithoutEnrollment')]
    [System.String] $intent

    [DscProperty()]
    [MSFT_DeviceManagementBuiltInStoreAppAssignmentSettings] $assignmentSettings
}

class MSFT_DeviceManagementBuiltInStoreAppAssignmentSettings
{
    [DscProperty(Mandatory)]
    [ValidateSet('#microsoft.graph.androidManagedStoreAppAssignmentSettings', '#microsoft.graph.iosStoreAppAssignmentSettings', '#microsoft.graph.iosLobAppAssignmentSettings', '#microsoft.graph.macOsLobAppAssignmentSettings', '#microsoft.graph.win32CatalogAppAssignmentSettings', '#microsoft.graph.win32LobAppAssignmentSettings', '#microsoft.graph.winGetAppAssignmentSettings', '#microsoft.graph.windowsAutoUpdateCatalogAppAssignmentSettings', '#microsoft.graph.windowsUniversalAppXAppAssignmentSettings')]
    [System.String] $odataType

    [DscProperty()]
    [System.String] $vpnConfigurationId

    [DscProperty()]
    [System.Nullable[System.Boolean]] $uninstallOnDeviceRemoval

    [DscProperty()]
    [System.Nullable[System.Boolean]] $isRemovable

    [DscProperty()]
    [System.Nullable[System.Boolean]] $preventManagedAppBackup
}

class MSFT_DeviceManagementConfigurationPolicyAssignments
{
    [DscProperty(Mandatory)]
    [ValidateSet('#microsoft.graph.cloudPcManagementGroupAssignmentTarget', '#microsoft.graph.groupAssignmentTarget', '#microsoft.graph.allLicensedUsersAssignmentTarget', '#microsoft.graph.allDevicesAssignmentTarget', '#microsoft.graph.exclusionGroupAssignmentTarget', '#microsoft.graph.configurationManagerCollectionAssignmentTarget')]
    [System.String] $dataType

    [DscProperty()]
    [ValidateSet('none', 'include', 'exclude')]
    [System.String] $deviceAndAppManagementAssignmentFilterType

    [DscProperty()]
    [System.String] $deviceAndAppManagementAssignmentFilterId

    [DscProperty()]
    [System.String] $deviceAndAppManagementAssignmentFilterDisplayName

    [DscProperty()]
    [System.String] $groupId

    [DscProperty()]
    [System.String] $groupDisplayName

    [DscProperty()]
    [System.String] $collectionId
}

class MSFT_IntuneDeviceRemediationPolicyAssignments
{
    [DscProperty()]
    [System.Nullable[System.Boolean]] $RunRemediationScript

    [DscProperty()]
    [MSFT_IntuneDeviceRemediationRunSchedule] $RunSchedule

    [DscProperty()]
    [MSFT_DeviceManagementConfigurationPolicyAssignments] $Assignment
}

class MSFT_IntuneDeviceRemediationRunSchedule
{
    [DscProperty()]
    [ValidateSet('#microsoft.graph.deviceHealthScriptRunOnceSchedule', '#microsoft.graph.deviceHealthScriptHourlySchedule', '#microsoft.graph.deviceHealthScriptDailySchedule')]
    [System.String] $dataType

    [DscProperty()]
    [System.String] $Date

    [DscProperty()]
    [System.Nullable[System.UInt32]] $Interval

    [DscProperty()]
    [System.String] $Time

    [DscProperty()]
    [System.Nullable[System.Boolean]] $UseUtc
}

class MSFT_DeviceManagementConfigurationPolicyItems
{
    [DscProperty()]
    [System.String] $dataType

    [DscProperty()]
    [System.String] $payloadId

    [DscProperty(Mandatory)]
    [System.String] $displayName

    [DscProperty()]
    [System.String] $itemType

    [DscProperty()]
    [System.String[]] $guidedDeploymentTags
}

class MSFT_DeviceManagementConfigurationPolicyVpnOnDemandRule
{
    [DscProperty()]
    [System.String[]] $ssids

    [DscProperty()]
    [System.String[]] $dnsSearchDomains

    [DscProperty()]
    [System.String] $probeUrl

    [DscProperty()]
    [ValidateSet('connect', 'evaluateConnection', 'ignore', 'disconnect')]
    [System.String] $action

    [DscProperty()]
    [ValidateSet('connectIfNeeded', 'neverConnect')]
    [System.String] $domainAction

    [DscProperty()]
    [System.String[]] $domains

    [DscProperty()]
    [System.String] $probeRequiredUrl

    [DscProperty()]
    [ValidateSet('notConfigured', 'ethernet', 'wiFi', 'cellular')]
    [System.String] $interfaceTypeMatch

    [DscProperty()]
    [System.String[]] $dnsServerAddressMatch
}

class MSFT_DeviceManagementLobAppiOSAssignment
{
    [DscProperty()]
    [ValidateSet('#microsoft.graph.groupAssignmentTarget', '#microsoft.graph.allLicensedUsersAssignmentTarget', '#microsoft.graph.allDevicesAssignmentTarget', '#microsoft.graph.exclusionGroupAssignmentTarget', '#microsoft.graph.mobileAppAssignment')]
    [System.String] $dataType

    [DscProperty()]
    [System.String] $deviceAndAppManagementAssignmentFilterId

    [DscProperty()]
    [System.String] $deviceAndAppManagementAssignmentFilterDisplayName

    [DscProperty()]
    [ValidateSet('none', 'include', 'exclude')]
    [System.String] $deviceAndAppManagementAssignmentFilterType

    [DscProperty()]
    [System.String] $groupId

    [DscProperty()]
    [System.String] $groupDisplayName

    [DscProperty()]
    [ValidateSet('available', 'required', 'uninstall', 'availableWithoutEnrollment')]
    [System.String] $intent

    [DscProperty()]
    [MSFT_DeviceManagementLobAppiOSAssignmentSettings] $assignmentSettings
}

class MSFT_DeviceManagementLobAppiOSAssignmentSettings
{
    [DscProperty(Mandatory)]
    [ValidateSet('#microsoft.graph.androidManagedStoreAppAssignmentSettings', '#microsoft.graph.iosStoreAppAssignmentSettings', '#microsoft.graph.iosLobAppAssignmentSettings', '#microsoft.graph.macOsLobAppAssignmentSettings', '#microsoft.graph.win32CatalogAppAssignmentSettings', '#microsoft.graph.win32LobAppAssignmentSettings', '#microsoft.graph.winGetAppAssignmentSettings', '#microsoft.graph.windowsAutoUpdateCatalogAppAssignmentSettings', '#microsoft.graph.windowsUniversalAppXAppAssignmentSettings')]
    [System.String] $odataType

    [DscProperty()]
    [System.String] $vpnConfigurationId

    [DscProperty()]
    [System.Nullable[System.Boolean]] $uninstallOnDeviceRemoval

    [DscProperty()]
    [System.Nullable[System.Boolean]] $isRemovable

    [DscProperty()]
    [System.Nullable[System.Boolean]] $preventManagedAppBackup
}

class MSFT_DeviceManagementMacOSLobAppAssignment
{
    [DscProperty()]
    [ValidateSet('#microsoft.graph.groupAssignmentTarget', '#microsoft.graph.allLicensedUsersAssignmentTarget', '#microsoft.graph.allDevicesAssignmentTarget', '#microsoft.graph.exclusionGroupAssignmentTarget', '#microsoft.graph.mobileAppAssignment')]
    [System.String] $dataType

    [DscProperty()]
    [System.String] $deviceAndAppManagementAssignmentFilterId

    [DscProperty()]
    [System.String] $deviceAndAppManagementAssignmentFilterDisplayName

    [DscProperty()]
    [ValidateSet('none', 'include', 'exclude')]
    [System.String] $deviceAndAppManagementAssignmentFilterType

    [DscProperty()]
    [System.String] $groupId

    [DscProperty()]
    [System.String] $groupDisplayName

    [DscProperty()]
    [ValidateSet('available', 'required', 'uninstall', 'availableWithoutEnrollment')]
    [System.String] $intent

    [DscProperty()]
    [MSFT_DeviceManagementMacOSLobAppAssignmentSettings] $assignmentSettings
}

class MSFT_DeviceManagementMacOSLobAppAssignmentSettings
{
    [DscProperty(Mandatory)]
    [ValidateSet('#microsoft.graph.androidManagedStoreAppAssignmentSettings', '#microsoft.graph.iosStoreAppAssignmentSettings', '#microsoft.graph.iosLobAppAssignmentSettings', '#microsoft.graph.macOsLobAppAssignmentSettings', '#microsoft.graph.win32CatalogAppAssignmentSettings', '#microsoft.graph.win32LobAppAssignmentSettings', '#microsoft.graph.winGetAppAssignmentSettings', '#microsoft.graph.windowsAutoUpdateCatalogAppAssignmentSettings', '#microsoft.graph.windowsUniversalAppXAppAssignmentSettings')]
    [System.String] $odataType

    [DscProperty()]
    [System.Nullable[System.Boolean]] $uninstallOnDeviceRemoval
}

class MSFT_DeviceManagementManagedGooglePlayMobileAppAssignment
{
    [DscProperty()]
    [ValidateSet('#microsoft.graph.groupAssignmentTarget', '#microsoft.graph.allLicensedUsersAssignmentTarget', '#microsoft.graph.allDevicesAssignmentTarget', '#microsoft.graph.exclusionGroupAssignmentTarget', '#microsoft.graph.mobileAppAssignment')]
    [System.String] $dataType

    [DscProperty()]
    [System.String] $deviceAndAppManagementAssignmentFilterId

    [DscProperty()]
    [System.String] $deviceAndAppManagementAssignmentFilterDisplayName

    [DscProperty()]
    [ValidateSet('none', 'include', 'exclude')]
    [System.String] $deviceAndAppManagementAssignmentFilterType

    [DscProperty()]
    [System.String] $groupId

    [DscProperty()]
    [System.String] $groupDisplayName

    [DscProperty()]
    [ValidateSet('available', 'required', 'uninstall', 'availableWithoutEnrollment')]
    [System.String] $intent

    [DscProperty()]
    [MSFT_DeviceManagementManagedGooglePlayMobileAppAssignmentSettings] $assignmentSettings
}

class MSFT_DeviceManagementManagedGooglePlayMobileAppAssignmentSettings
{
    [DscProperty(Mandatory)]
    [ValidateSet('#microsoft.graph.androidManagedStoreAppAssignmentSettings', '#microsoft.graph.iosStoreAppAssignmentSettings', '#microsoft.graph.iosLobAppAssignmentSettings', '#microsoft.graph.macOsLobAppAssignmentSettings', '#microsoft.graph.win32CatalogAppAssignmentSettings', '#microsoft.graph.win32LobAppAssignmentSettings', '#microsoft.graph.winGetAppAssignmentSettings', '#microsoft.graph.windowsAutoUpdateCatalogAppAssignmentSettings', '#microsoft.graph.windowsUniversalAppXAppAssignmentSettings')]
    [System.String] $odataType

    [DscProperty()]
    [ValidateSet('default', 'postponed', 'priority')]
    [System.String] $autoUpdateMode

    [DscProperty()]
    [System.String[]] $androidManagedStoreAppTrackIds
}

class MSFT_DeviceManagementMimeContent
{
    [DscProperty()]
    [System.String] $Type

    [DscProperty()]
    [System.String] $Value
}

class MSFT_DeviceManagementMinimumOperatingSystem
{
    [DscProperty()]
    [System.Nullable[System.Boolean]] $v10_7

    [DscProperty()]
    [System.Nullable[System.Boolean]] $v10_8

    [DscProperty()]
    [System.Nullable[System.Boolean]] $v10_9

    [DscProperty()]
    [System.Nullable[System.Boolean]] $v10_10

    [DscProperty()]
    [System.Nullable[System.Boolean]] $v10_11

    [DscProperty()]
    [System.Nullable[System.Boolean]] $v10_12

    [DscProperty()]
    [System.Nullable[System.Boolean]] $v10_13

    [DscProperty()]
    [System.Nullable[System.Boolean]] $v10_14

    [DscProperty()]
    [System.Nullable[System.Boolean]] $v10_15

    [DscProperty()]
    [System.Nullable[System.Boolean]] $v11_0

    [DscProperty()]
    [System.Nullable[System.Boolean]] $v12_0

    [DscProperty()]
    [System.Nullable[System.Boolean]] $v13_0

    [DscProperty()]
    [System.Nullable[System.Boolean]] $v14_0
}

class MSFT_DeviceManagementMobileAppAssignment
{
    [DscProperty()]
    [ValidateSet('#microsoft.graph.groupAssignmentTarget', '#microsoft.graph.allLicensedUsersAssignmentTarget', '#microsoft.graph.allDevicesAssignmentTarget', '#microsoft.graph.exclusionGroupAssignmentTarget', '#microsoft.graph.mobileAppAssignment')]
    [System.String] $dataType

    [DscProperty()]
    [System.String] $deviceAndAppManagementAssignmentFilterId

    [DscProperty()]
    [System.String] $deviceAndAppManagementAssignmentFilterDisplayName

    [DscProperty()]
    [ValidateSet('none', 'include', 'exclude')]
    [System.String] $deviceAndAppManagementAssignmentFilterType

    [DscProperty()]
    [System.String] $groupId

    [DscProperty()]
    [System.String] $groupDisplayName

    [DscProperty()]
    [ValidateSet('available', 'required', 'uninstall', 'availableWithoutEnrollment')]
    [System.String] $intent
}

class MSFT_DeviceManagementMobileAppAssignmentSettings
{
    [DscProperty(Mandatory)]
    [ValidateSet('#microsoft.graph.androidManagedStoreAppAssignmentSettings', '#microsoft.graph.iosStoreAppAssignmentSettings', '#microsoft.graph.iosLobAppAssignmentSettings', '#microsoft.graph.macOsLobAppAssignmentSettings', '#microsoft.graph.win32CatalogAppAssignmentSettings', '#microsoft.graph.win32LobAppAssignmentSettings', '#microsoft.graph.winGetAppAssignmentSettings', '#microsoft.graph.windowsAutoUpdateCatalogAppAssignmentSettings', '#microsoft.graph.windowsUniversalAppXAppAssignmentSettings')]
    [System.String] $odataType
}

class MSFT_DeviceManagementMobileAppCategory
{
    [DscProperty(Mandatory)]
    [System.String] $DisplayName

    [DscProperty()]
    [System.String] $Id
}

class MSFT_DeviceManagementMobileAppChildApp
{
    [DscProperty(Mandatory)]
    [System.String] $BundleId

    [DscProperty()]
    [System.String] $BuildNumber

    [DscProperty()]
    [System.String] $VersionNumber
}

class MSFT_DeviceManagementMobileAppExcludedApp
{
    [DscProperty()]
    [System.Nullable[System.Boolean]] $Access

    [DscProperty()]
    [System.Nullable[System.Boolean]] $Bing

    [DscProperty()]
    [System.Nullable[System.Boolean]] $Excel

    [DscProperty()]
    [System.Nullable[System.Boolean]] $Groove

    [DscProperty()]
    [System.Nullable[System.Boolean]] $InfoPath

    [DscProperty()]
    [System.Nullable[System.Boolean]] $Lync

    [DscProperty()]
    [System.Nullable[System.Boolean]] $OneDrive

    [DscProperty()]
    [System.Nullable[System.Boolean]] $OneNote

    [DscProperty()]
    [System.Nullable[System.Boolean]] $Outlook

    [DscProperty()]
    [System.Nullable[System.Boolean]] $PowerPoint

    [DscProperty()]
    [System.Nullable[System.Boolean]] $Publisher

    [DscProperty()]
    [System.Nullable[System.Boolean]] $SharePointDesigner

    [DscProperty()]
    [System.Nullable[System.Boolean]] $Teams

    [DscProperty()]
    [System.Nullable[System.Boolean]] $Visio

    [DscProperty()]
    [System.Nullable[System.Boolean]] $Word
}

class MSFT_DeviceManagementNotificationMessageTemplate
{
    [DscProperty()]
    [System.Nullable[System.Boolean]] $IsDefault

    [DscProperty()]
    [ValidateSet('ar-sa', 'bg-bg', 'cs-cz', 'da-dk', 'de-de', 'el-gr', 'en-gb', 'en-us', 'es-es', 'es-mx', 'et-ee', 'fi-fi', 'fr-ca', 'fr-fr', 'he-il', 'hr-hr', 'hu-hu', 'it-it', 'ja-jp', 'ko-kr', 'lt-lt', 'lv-lv', 'nb-no', 'nl-nl', 'pl-pl', 'pt-br', 'pt-pt', 'ro-ro', 'sk-sk', 'sl-si', 'ru-ru', 'sr-Latn-rs', 'sv-se', 'th-th', 'tr-tr', 'uk-ua', 'zh-cn', 'zh-tw')]
    [System.String] $Locale

    [DscProperty()]
    [System.String] $MessageTemplate

    [DscProperty()]
    [System.String] $Subject
}

class MSFT_DeviceManagementStoreMobileAppAssignment
{
    [DscProperty()]
    [ValidateSet('#microsoft.graph.groupAssignmentTarget', '#microsoft.graph.allLicensedUsersAssignmentTarget', '#microsoft.graph.allDevicesAssignmentTarget', '#microsoft.graph.exclusionGroupAssignmentTarget', '#microsoft.graph.mobileAppAssignment')]
    [System.String] $dataType

    [DscProperty()]
    [System.String] $deviceAndAppManagementAssignmentFilterId

    [DscProperty()]
    [System.String] $deviceAndAppManagementAssignmentFilterDisplayName

    [DscProperty()]
    [ValidateSet('none', 'include', 'exclude')]
    [System.String] $deviceAndAppManagementAssignmentFilterType

    [DscProperty()]
    [System.String] $groupId

    [DscProperty()]
    [System.String] $groupDisplayName

    [DscProperty()]
    [ValidateSet('available', 'required', 'uninstall', 'availableWithoutEnrollment')]
    [System.String] $intent

    [DscProperty()]
    [MSFT_DeviceManagementStoreMobileAppAssignmentSettings] $assignmentSettings
}

class MSFT_DeviceManagementStoreMobileAppAssignmentSettings
{
    [DscProperty(Mandatory)]
    [ValidateSet('#microsoft.graph.androidManagedStoreAppAssignmentSettings', '#microsoft.graph.iosStoreAppAssignmentSettings', '#microsoft.graph.iosLobAppAssignmentSettings', '#microsoft.graph.macOsLobAppAssignmentSettings', '#microsoft.graph.win32CatalogAppAssignmentSettings', '#microsoft.graph.win32LobAppAssignmentSettings', '#microsoft.graph.winGetAppAssignmentSettings', '#microsoft.graph.windowsAutoUpdateCatalogAppAssignmentSettings', '#microsoft.graph.windowsUniversalAppXAppAssignmentSettings')]
    [System.String] $odataType

    [DscProperty()]
    [System.String] $vpnConfigurationId

    [DscProperty()]
    [System.Nullable[System.Boolean]] $uninstallOnDeviceRemoval

    [DscProperty()]
    [System.Nullable[System.Boolean]] $isRemovable

    [DscProperty()]
    [System.Nullable[System.Boolean]] $preventManagedAppBackup
}

class MSFT_DeviceManagementSystemMobileAppAssignment
{
    [DscProperty()]
    [ValidateSet('#microsoft.graph.groupAssignmentTarget', '#microsoft.graph.allLicensedUsersAssignmentTarget', '#microsoft.graph.allDevicesAssignmentTarget', '#microsoft.graph.exclusionGroupAssignmentTarget', '#microsoft.graph.mobileAppAssignment')]
    [System.String] $dataType

    [DscProperty()]
    [System.String] $deviceAndAppManagementAssignmentFilterId

    [DscProperty()]
    [System.String] $deviceAndAppManagementAssignmentFilterDisplayName

    [DscProperty()]
    [ValidateSet('none', 'include', 'exclude')]
    [System.String] $deviceAndAppManagementAssignmentFilterType

    [DscProperty()]
    [System.String] $groupId

    [DscProperty()]
    [System.String] $groupDisplayName

    [DscProperty()]
    [ValidateSet('available', 'required', 'uninstall', 'availableWithoutEnrollment')]
    [System.String] $intent

    [DscProperty()]
    [MSFT_DeviceManagementSystemMobileAppAssignmentSettings] $assignmentSettings
}

class MSFT_DeviceManagementSystemMobileAppAssignmentSettings
{
    [DscProperty(Mandatory)]
    [ValidateSet('#microsoft.graph.androidManagedStoreAppAssignmentSettings', '#microsoft.graph.iosStoreAppAssignmentSettings', '#microsoft.graph.iosLobAppAssignmentSettings', '#microsoft.graph.macOsLobAppAssignmentSettings', '#microsoft.graph.win32CatalogAppAssignmentSettings', '#microsoft.graph.win32LobAppAssignmentSettings', '#microsoft.graph.winGetAppAssignmentSettings', '#microsoft.graph.windowsAutoUpdateCatalogAppAssignmentSettings', '#microsoft.graph.windowsUniversalAppXAppAssignmentSettings')]
    [System.String] $odataType

    [DscProperty()]
    [System.String[]] $androidManagedStoreAppTrackIds

    [DscProperty()]
    [ValidateSet('default', 'postponed', 'priority')]
    [System.String] $autoUpdateMode
}