Model/ExchangePolicyModel.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 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 IsDefault No description available. .PARAMETER Notification No description available. .PARAMETER CustomizeFeatures No description available. .PARAMETER Name The name of the object .PARAMETER Description The description of the object .PARAMETER CreateTime The creation time of the object .PARAMETER CreateBy The user who create this object .PARAMETER LastModifyTime The last modified time of the object .PARAMETER LastModifyBy The user who last modified the object .PARAMETER Id The GUID of the object .OUTPUTS ExchangePolicyModel<PSCustomObject> #> function Initialize-FlyExchangePolicyModel { [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)] [PSCustomObject] ${MigrationModuleType}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsDefault}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${Notification}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String[]] ${CustomizeFeatures}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${Name}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${Description}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Int64]] ${CreateTime}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${CreateBy}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Int64]] ${LastModifyTime}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${LastModifyBy}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${Id} ) Process { 'Creating PSCustomObject: Fly.Client => FlyExchangePolicyModel' | 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} "migrationModuleType" = ${MigrationModuleType} "isDefault" = ${IsDefault} "notification" = ${Notification} "customizeFeatures" = ${CustomizeFeatures} "name" = ${Name} "description" = ${Description} "createTime" = ${CreateTime} "createBy" = ${CreateBy} "lastModifyTime" = ${LastModifyTime} "lastModifyBy" = ${LastModifyBy} "id" = ${Id} } return $PSO } } <# .SYNOPSIS Convert from JSON to ExchangePolicyModel<PSCustomObject> .DESCRIPTION Convert from JSON to ExchangePolicyModel<PSCustomObject> .PARAMETER Json Json object .OUTPUTS ExchangePolicyModel<PSCustomObject> #> function ConvertFrom-FlyJsonToExchangePolicyModel { Param( [AllowEmptyString()] [string]$Json ) Process { 'Converting JSON to PSCustomObject: Fly.Client => FlyExchangePolicyModel' | Write-Debug $PSBoundParameters | Out-DebugParameter | Write-Debug $JsonParameters = ConvertFrom-Json -InputObject $Json # check if Json contains properties not defined in FlyExchangePolicyModel $AllProperties = ("backupObjects", "isBackupMailboxPermissions", "isBackupArchiveMailbox", "folderCondition", "folderConditionValue", "earlierThan", "laterThan", "itemConflictResolution", "enableSyncDeletion", "enableReplaceEmailAddress", "enableArchiveDateFilter", "archiveDateFilter", "enableReplaceMeetingLink", "destinationFolder", "emailSensitivityLabel", "userMappingProfileId", "emailLabelMappingProfileId", "userMappingRules", "autoProvisionArchiveMailbox", "migrateOOFSettings", "migrateAllSubFoldersAndTheirContents", "migrationModuleType", "isDefault", "notification", "customizeFeatures", "name", "description", "createTime", "createBy", "lastModifyTime", "lastModifyBy", "id") 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 "migrationModuleType"))) { #optional property not found $MigrationModuleType = $null } else { $MigrationModuleType = $JsonParameters.PSobject.Properties["migrationModuleType"].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 "notification"))) { #optional property not found $Notification = $null } else { $Notification = $JsonParameters.PSobject.Properties["notification"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "customizeFeatures"))) { #optional property not found $CustomizeFeatures = $null } else { $CustomizeFeatures = $JsonParameters.PSobject.Properties["customizeFeatures"].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 "createTime"))) { #optional property not found $CreateTime = $null } else { $CreateTime = $JsonParameters.PSobject.Properties["createTime"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "createBy"))) { #optional property not found $CreateBy = $null } else { $CreateBy = $JsonParameters.PSobject.Properties["createBy"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "lastModifyTime"))) { #optional property not found $LastModifyTime = $null } else { $LastModifyTime = $JsonParameters.PSobject.Properties["lastModifyTime"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "lastModifyBy"))) { #optional property not found $LastModifyBy = $null } else { $LastModifyBy = $JsonParameters.PSobject.Properties["lastModifyBy"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "id"))) { #optional property not found $Id = $null } else { $Id = $JsonParameters.PSobject.Properties["id"].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} "migrationModuleType" = ${MigrationModuleType} "isDefault" = ${IsDefault} "notification" = ${Notification} "customizeFeatures" = ${CustomizeFeatures} "name" = ${Name} "description" = ${Description} "createTime" = ${CreateTime} "createBy" = ${CreateBy} "lastModifyTime" = ${LastModifyTime} "lastModifyBy" = ${LastModifyBy} "id" = ${Id} } return $PSO } } |