Model/ExchangePolicyCreationModel.ps1
|
# # Fly SDK API # No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # Version: 1.0 # Contact: support@avepoint.com # Generated by OpenAPI Generator: https://openapi-generator.tech # <# .SYNOPSIS No summary available. .DESCRIPTION No description available. .PARAMETER BackupObjects No description available. .PARAMETER IsBackupMailboxPermissions No description available. .PARAMETER IsBackupArchiveMailbox No description available. .PARAMETER FolderCondition * `All` = 0 * `Include` = 1 * `Exclude` = 2 .PARAMETER FolderConditionValue No description available. .PARAMETER EarlierThan No description available. .PARAMETER LaterThan No description available. .PARAMETER ItemConflictResolution * `Skip` = 0 * `Overwrite` = 1 * `Merge` = 2 * `OverwriteByLastModifiedTime` = 3 * `Append` = 4 .PARAMETER EnableSyncDeletion No description available. .PARAMETER EnableReplaceEmailAddress No description available. .PARAMETER EnableArchiveDateFilter No description available. .PARAMETER ArchiveDateFilter No description available. .PARAMETER EnableReplaceMeetingLink No description available. .PARAMETER DestinationFolder No description available. .PARAMETER EmailSensitivityLabel * `KeepExisting` = 0 * `DoNotCopy` = 1 * `ApplySame` = 2 * `ConfigureCustom` = 3 .PARAMETER UserMappingProfileId No description available. .PARAMETER EmailLabelMappingProfileId No description available. .PARAMETER UserMappingRules No description available. .PARAMETER AutoProvisionArchiveMailbox No description available. .PARAMETER MigrateOOFSettings No description available. .PARAMETER MigrateAllSubFoldersAndTheirContents No description available. .PARAMETER Name No description available. .PARAMETER Description No description available. .PARAMETER MigrationModuleType * `Exchange` = 0 * `Teams` = 1 * `SharePoint` = 2 * `OneDrive` = 3 * `M365Group` = 4 * `TeamChat` = 5 * `HostedExchange` = 6 * `PowerPlatform` = 7 * `Gmail` = 8 * `GoogleDrive` = 9 * `ActiveDirectory` = 10 * `Entra` = 11 * `DeviceToActiveDirectory` = 14 * `SPOToGDrive` = 21 * `ODriveToGDrive` = 22 * `GDriveToGDrive` = 23 * `ExchangeToGmail` = 24 * `TeamsToGoogleChat` = 25 * `TeamChatToGoogleDM` = 26 * `M365GroupToGoogleGroup` = 27 * `TeamChatToGoogleChat` = 28 .PARAMETER Notification No description available. .PARAMETER IsDefault No description available. .PARAMETER CustomizeFeatures No description available. .OUTPUTS ExchangePolicyCreationModel<PSCustomObject> #> function Initialize-FlyExchangePolicyCreationModel { [CmdletBinding()] Param ( [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject[]] ${BackupObjects}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsBackupMailboxPermissions}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsBackupArchiveMailbox}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${FolderCondition}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${FolderConditionValue}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Int64]] ${EarlierThan}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Int64]] ${LaterThan}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${ItemConflictResolution}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${EnableSyncDeletion}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${EnableReplaceEmailAddress}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${EnableArchiveDateFilter}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Int64]] ${ArchiveDateFilter}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${EnableReplaceMeetingLink}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${DestinationFolder}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${EmailSensitivityLabel}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${UserMappingProfileId}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${EmailLabelMappingProfileId}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject[]] ${UserMappingRules}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${AutoProvisionArchiveMailbox}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${MigrateOOFSettings}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${MigrateAllSubFoldersAndTheirContents}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${Name}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${Description}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${MigrationModuleType}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${Notification}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsDefault}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String[]] ${CustomizeFeatures} ) Process { 'Creating PSCustomObject: Fly.Client => FlyExchangePolicyCreationModel' | Write-Debug $PSBoundParameters | Out-DebugParameter | Write-Debug $PSO = [PSCustomObject]@{ "backupObjects" = ${BackupObjects} "isBackupMailboxPermissions" = ${IsBackupMailboxPermissions} "isBackupArchiveMailbox" = ${IsBackupArchiveMailbox} "folderCondition" = ${FolderCondition} "folderConditionValue" = ${FolderConditionValue} "earlierThan" = ${EarlierThan} "laterThan" = ${LaterThan} "itemConflictResolution" = ${ItemConflictResolution} "enableSyncDeletion" = ${EnableSyncDeletion} "enableReplaceEmailAddress" = ${EnableReplaceEmailAddress} "enableArchiveDateFilter" = ${EnableArchiveDateFilter} "archiveDateFilter" = ${ArchiveDateFilter} "enableReplaceMeetingLink" = ${EnableReplaceMeetingLink} "destinationFolder" = ${DestinationFolder} "emailSensitivityLabel" = ${EmailSensitivityLabel} "userMappingProfileId" = ${UserMappingProfileId} "emailLabelMappingProfileId" = ${EmailLabelMappingProfileId} "userMappingRules" = ${UserMappingRules} "autoProvisionArchiveMailbox" = ${AutoProvisionArchiveMailbox} "migrateOOFSettings" = ${MigrateOOFSettings} "migrateAllSubFoldersAndTheirContents" = ${MigrateAllSubFoldersAndTheirContents} "name" = ${Name} "description" = ${Description} "migrationModuleType" = ${MigrationModuleType} "notification" = ${Notification} "isDefault" = ${IsDefault} "customizeFeatures" = ${CustomizeFeatures} } return $PSO } } <# .SYNOPSIS Convert from JSON to ExchangePolicyCreationModel<PSCustomObject> .DESCRIPTION Convert from JSON to ExchangePolicyCreationModel<PSCustomObject> .PARAMETER Json Json object .OUTPUTS ExchangePolicyCreationModel<PSCustomObject> #> function ConvertFrom-FlyJsonToExchangePolicyCreationModel { Param( [AllowEmptyString()] [string]$Json ) Process { 'Converting JSON to PSCustomObject: Fly.Client => FlyExchangePolicyCreationModel' | Write-Debug $PSBoundParameters | Out-DebugParameter | Write-Debug $JsonParameters = ConvertFrom-Json -InputObject $Json # check if Json contains properties not defined in FlyExchangePolicyCreationModel $AllProperties = ("backupObjects", "isBackupMailboxPermissions", "isBackupArchiveMailbox", "folderCondition", "folderConditionValue", "earlierThan", "laterThan", "itemConflictResolution", "enableSyncDeletion", "enableReplaceEmailAddress", "enableArchiveDateFilter", "archiveDateFilter", "enableReplaceMeetingLink", "destinationFolder", "emailSensitivityLabel", "userMappingProfileId", "emailLabelMappingProfileId", "userMappingRules", "autoProvisionArchiveMailbox", "migrateOOFSettings", "migrateAllSubFoldersAndTheirContents", "name", "description", "migrationModuleType", "notification", "isDefault", "customizeFeatures") foreach ($name in $JsonParameters.PsObject.Properties.Name) { if (!($AllProperties.Contains($name))) { throw "Error! JSON key '$name' not found in the properties: $($AllProperties)" } } if (!([bool]($JsonParameters.PSobject.Properties.name -match "backupObjects"))) { #optional property not found $BackupObjects = $null } else { $BackupObjects = $JsonParameters.PSobject.Properties["backupObjects"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "isBackupMailboxPermissions"))) { #optional property not found $IsBackupMailboxPermissions = $null } else { $IsBackupMailboxPermissions = $JsonParameters.PSobject.Properties["isBackupMailboxPermissions"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "isBackupArchiveMailbox"))) { #optional property not found $IsBackupArchiveMailbox = $null } else { $IsBackupArchiveMailbox = $JsonParameters.PSobject.Properties["isBackupArchiveMailbox"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "folderCondition"))) { #optional property not found $FolderCondition = $null } else { $FolderCondition = $JsonParameters.PSobject.Properties["folderCondition"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "folderConditionValue"))) { #optional property not found $FolderConditionValue = $null } else { $FolderConditionValue = $JsonParameters.PSobject.Properties["folderConditionValue"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "earlierThan"))) { #optional property not found $EarlierThan = $null } else { $EarlierThan = $JsonParameters.PSobject.Properties["earlierThan"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "laterThan"))) { #optional property not found $LaterThan = $null } else { $LaterThan = $JsonParameters.PSobject.Properties["laterThan"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "itemConflictResolution"))) { #optional property not found $ItemConflictResolution = $null } else { $ItemConflictResolution = $JsonParameters.PSobject.Properties["itemConflictResolution"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "enableSyncDeletion"))) { #optional property not found $EnableSyncDeletion = $null } else { $EnableSyncDeletion = $JsonParameters.PSobject.Properties["enableSyncDeletion"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "enableReplaceEmailAddress"))) { #optional property not found $EnableReplaceEmailAddress = $null } else { $EnableReplaceEmailAddress = $JsonParameters.PSobject.Properties["enableReplaceEmailAddress"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "enableArchiveDateFilter"))) { #optional property not found $EnableArchiveDateFilter = $null } else { $EnableArchiveDateFilter = $JsonParameters.PSobject.Properties["enableArchiveDateFilter"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "archiveDateFilter"))) { #optional property not found $ArchiveDateFilter = $null } else { $ArchiveDateFilter = $JsonParameters.PSobject.Properties["archiveDateFilter"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "enableReplaceMeetingLink"))) { #optional property not found $EnableReplaceMeetingLink = $null } else { $EnableReplaceMeetingLink = $JsonParameters.PSobject.Properties["enableReplaceMeetingLink"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "destinationFolder"))) { #optional property not found $DestinationFolder = $null } else { $DestinationFolder = $JsonParameters.PSobject.Properties["destinationFolder"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "emailSensitivityLabel"))) { #optional property not found $EmailSensitivityLabel = $null } else { $EmailSensitivityLabel = $JsonParameters.PSobject.Properties["emailSensitivityLabel"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "userMappingProfileId"))) { #optional property not found $UserMappingProfileId = $null } else { $UserMappingProfileId = $JsonParameters.PSobject.Properties["userMappingProfileId"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "emailLabelMappingProfileId"))) { #optional property not found $EmailLabelMappingProfileId = $null } else { $EmailLabelMappingProfileId = $JsonParameters.PSobject.Properties["emailLabelMappingProfileId"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "userMappingRules"))) { #optional property not found $UserMappingRules = $null } else { $UserMappingRules = $JsonParameters.PSobject.Properties["userMappingRules"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "autoProvisionArchiveMailbox"))) { #optional property not found $AutoProvisionArchiveMailbox = $null } else { $AutoProvisionArchiveMailbox = $JsonParameters.PSobject.Properties["autoProvisionArchiveMailbox"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "migrateOOFSettings"))) { #optional property not found $MigrateOOFSettings = $null } else { $MigrateOOFSettings = $JsonParameters.PSobject.Properties["migrateOOFSettings"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "migrateAllSubFoldersAndTheirContents"))) { #optional property not found $MigrateAllSubFoldersAndTheirContents = $null } else { $MigrateAllSubFoldersAndTheirContents = $JsonParameters.PSobject.Properties["migrateAllSubFoldersAndTheirContents"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "name"))) { #optional property not found $Name = $null } else { $Name = $JsonParameters.PSobject.Properties["name"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "description"))) { #optional property not found $Description = $null } else { $Description = $JsonParameters.PSobject.Properties["description"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "migrationModuleType"))) { #optional property not found $MigrationModuleType = $null } else { $MigrationModuleType = $JsonParameters.PSobject.Properties["migrationModuleType"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "notification"))) { #optional property not found $Notification = $null } else { $Notification = $JsonParameters.PSobject.Properties["notification"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "isDefault"))) { #optional property not found $IsDefault = $null } else { $IsDefault = $JsonParameters.PSobject.Properties["isDefault"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "customizeFeatures"))) { #optional property not found $CustomizeFeatures = $null } else { $CustomizeFeatures = $JsonParameters.PSobject.Properties["customizeFeatures"].value } $PSO = [PSCustomObject]@{ "backupObjects" = ${BackupObjects} "isBackupMailboxPermissions" = ${IsBackupMailboxPermissions} "isBackupArchiveMailbox" = ${IsBackupArchiveMailbox} "folderCondition" = ${FolderCondition} "folderConditionValue" = ${FolderConditionValue} "earlierThan" = ${EarlierThan} "laterThan" = ${LaterThan} "itemConflictResolution" = ${ItemConflictResolution} "enableSyncDeletion" = ${EnableSyncDeletion} "enableReplaceEmailAddress" = ${EnableReplaceEmailAddress} "enableArchiveDateFilter" = ${EnableArchiveDateFilter} "archiveDateFilter" = ${ArchiveDateFilter} "enableReplaceMeetingLink" = ${EnableReplaceMeetingLink} "destinationFolder" = ${DestinationFolder} "emailSensitivityLabel" = ${EmailSensitivityLabel} "userMappingProfileId" = ${UserMappingProfileId} "emailLabelMappingProfileId" = ${EmailLabelMappingProfileId} "userMappingRules" = ${UserMappingRules} "autoProvisionArchiveMailbox" = ${AutoProvisionArchiveMailbox} "migrateOOFSettings" = ${MigrateOOFSettings} "migrateAllSubFoldersAndTheirContents" = ${MigrateAllSubFoldersAndTheirContents} "name" = ${Name} "description" = ${Description} "migrationModuleType" = ${MigrationModuleType} "notification" = ${Notification} "isDefault" = ${IsDefault} "customizeFeatures" = ${CustomizeFeatures} } return $PSO } } |