Model/TeamsPolicyCreationModel.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 EnableMigrateGuestUsers No description available. .PARAMETER EnableMigrateExternalUsers No description available. .PARAMETER IsPostMessage No description available. .PARAMETER IsCovertToHtml No description available. .PARAMETER ConversationTimeEarlierThan No description available. .PARAMETER ConversationTimeLaterThan No description available. .PARAMETER MessageTimeZoneId No description available. .PARAMETER IsBackupMeetingRecords No description available. .PARAMETER IsBackupOnlyTeamsAssociatedContent No description available. .PARAMETER IsBackupFilePermissions No description available. .PARAMETER IsBackupDirectSitePermissions No description available. .PARAMETER IsBackupWholeStructureAndData No description available. .PARAMETER IsBackupMailbox No description available. .PARAMETER AdvancedExchangePolicyId No description available. .PARAMETER AdvancedSharePointPolicyId No description available. .PARAMETER FolderConflictResolution * `Skip` = 0 * `Overwrite` = 1 * `Merge` = 2 * `OverwriteByLastModifiedTime` = 3 * `Append` = 4 .PARAMETER FileConflictResolution * `Skip` = 0 * `Overwrite` = 1 * `Merge` = 2 * `OverwriteByLastModifiedTime` = 3 * `Append` = 4 .PARAMETER ItemConflictResolution * `Skip` = 0 * `Overwrite` = 1 * `Merge` = 2 * `OverwriteByLastModifiedTime` = 3 * `Append` = 4 .PARAMETER IsReplaceEmailAddress No description available. .PARAMETER IsReplaceMeetingLink No description available. .PARAMETER IsSyncTeamGroupPrivacyChanges No description available. .PARAMETER IsRemoveSourceFromFiles No description available. .PARAMETER EmailSensitivityLabel * `KeepExisting` = 0 * `DoNotCopy` = 1 * `ApplySame` = 2 * `ConfigureCustom` = 3 .PARAMETER TeamsSensitivityLabel * `KeepExisting` = 0 * `DoNotCopy` = 1 * `ApplySame` = 2 * `ConfigureCustom` = 3 .PARAMETER UserMappingProfileId No description available. .PARAMETER EmailLabelMappingProfileId No description available. .PARAMETER TeamsLabelMappingProfileId No description available. .PARAMETER UserMappingRules No description available. .PARAMETER UrlMappingProfileId 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 TeamsPolicyCreationModel<PSCustomObject> #> function Initialize-FlyTeamsPolicyCreationModel { [CmdletBinding()] Param ( [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject[]] ${BackupObjects}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${EnableMigrateGuestUsers}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${EnableMigrateExternalUsers}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsPostMessage}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsCovertToHtml}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Int64]] ${ConversationTimeEarlierThan}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Int64]] ${ConversationTimeLaterThan}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${MessageTimeZoneId}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsBackupMeetingRecords}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsBackupOnlyTeamsAssociatedContent}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsBackupFilePermissions}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsBackupDirectSitePermissions}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsBackupWholeStructureAndData}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsBackupMailbox}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${AdvancedExchangePolicyId}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${AdvancedSharePointPolicyId}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${FolderConflictResolution}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${FileConflictResolution}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${ItemConflictResolution}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsReplaceEmailAddress}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsReplaceMeetingLink}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsSyncTeamGroupPrivacyChanges}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsRemoveSourceFromFiles}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${EmailSensitivityLabel}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${TeamsSensitivityLabel}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${UserMappingProfileId}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${EmailLabelMappingProfileId}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${TeamsLabelMappingProfileId}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject[]] ${UserMappingRules}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${UrlMappingProfileId}, [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 => FlyTeamsPolicyCreationModel' | Write-Debug $PSBoundParameters | Out-DebugParameter | Write-Debug $PSO = [PSCustomObject]@{ "backupObjects" = ${BackupObjects} "enableMigrateGuestUsers" = ${EnableMigrateGuestUsers} "enableMigrateExternalUsers" = ${EnableMigrateExternalUsers} "isPostMessage" = ${IsPostMessage} "isCovertToHtml" = ${IsCovertToHtml} "conversationTimeEarlierThan" = ${ConversationTimeEarlierThan} "conversationTimeLaterThan" = ${ConversationTimeLaterThan} "messageTimeZoneId" = ${MessageTimeZoneId} "isBackupMeetingRecords" = ${IsBackupMeetingRecords} "isBackupOnlyTeamsAssociatedContent" = ${IsBackupOnlyTeamsAssociatedContent} "isBackupFilePermissions" = ${IsBackupFilePermissions} "isBackupDirectSitePermissions" = ${IsBackupDirectSitePermissions} "isBackupWholeStructureAndData" = ${IsBackupWholeStructureAndData} "isBackupMailbox" = ${IsBackupMailbox} "advancedExchangePolicyId" = ${AdvancedExchangePolicyId} "advancedSharePointPolicyId" = ${AdvancedSharePointPolicyId} "folderConflictResolution" = ${FolderConflictResolution} "fileConflictResolution" = ${FileConflictResolution} "itemConflictResolution" = ${ItemConflictResolution} "isReplaceEmailAddress" = ${IsReplaceEmailAddress} "isReplaceMeetingLink" = ${IsReplaceMeetingLink} "isSyncTeamGroupPrivacyChanges" = ${IsSyncTeamGroupPrivacyChanges} "isRemoveSourceFromFiles" = ${IsRemoveSourceFromFiles} "emailSensitivityLabel" = ${EmailSensitivityLabel} "teamsSensitivityLabel" = ${TeamsSensitivityLabel} "userMappingProfileId" = ${UserMappingProfileId} "emailLabelMappingProfileId" = ${EmailLabelMappingProfileId} "teamsLabelMappingProfileId" = ${TeamsLabelMappingProfileId} "userMappingRules" = ${UserMappingRules} "urlMappingProfileId" = ${UrlMappingProfileId} "name" = ${Name} "description" = ${Description} "migrationModuleType" = ${MigrationModuleType} "notification" = ${Notification} "isDefault" = ${IsDefault} "customizeFeatures" = ${CustomizeFeatures} } return $PSO } } <# .SYNOPSIS Convert from JSON to TeamsPolicyCreationModel<PSCustomObject> .DESCRIPTION Convert from JSON to TeamsPolicyCreationModel<PSCustomObject> .PARAMETER Json Json object .OUTPUTS TeamsPolicyCreationModel<PSCustomObject> #> function ConvertFrom-FlyJsonToTeamsPolicyCreationModel { Param( [AllowEmptyString()] [string]$Json ) Process { 'Converting JSON to PSCustomObject: Fly.Client => FlyTeamsPolicyCreationModel' | Write-Debug $PSBoundParameters | Out-DebugParameter | Write-Debug $JsonParameters = ConvertFrom-Json -InputObject $Json # check if Json contains properties not defined in FlyTeamsPolicyCreationModel $AllProperties = ("backupObjects", "enableMigrateGuestUsers", "enableMigrateExternalUsers", "isPostMessage", "isCovertToHtml", "conversationTimeEarlierThan", "conversationTimeLaterThan", "messageTimeZoneId", "isBackupMeetingRecords", "isBackupOnlyTeamsAssociatedContent", "isBackupFilePermissions", "isBackupDirectSitePermissions", "isBackupWholeStructureAndData", "isBackupMailbox", "advancedExchangePolicyId", "advancedSharePointPolicyId", "folderConflictResolution", "fileConflictResolution", "itemConflictResolution", "isReplaceEmailAddress", "isReplaceMeetingLink", "isSyncTeamGroupPrivacyChanges", "isRemoveSourceFromFiles", "emailSensitivityLabel", "teamsSensitivityLabel", "userMappingProfileId", "emailLabelMappingProfileId", "teamsLabelMappingProfileId", "userMappingRules", "urlMappingProfileId", "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 "enableMigrateGuestUsers"))) { #optional property not found $EnableMigrateGuestUsers = $null } else { $EnableMigrateGuestUsers = $JsonParameters.PSobject.Properties["enableMigrateGuestUsers"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "enableMigrateExternalUsers"))) { #optional property not found $EnableMigrateExternalUsers = $null } else { $EnableMigrateExternalUsers = $JsonParameters.PSobject.Properties["enableMigrateExternalUsers"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "isPostMessage"))) { #optional property not found $IsPostMessage = $null } else { $IsPostMessage = $JsonParameters.PSobject.Properties["isPostMessage"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "isCovertToHtml"))) { #optional property not found $IsCovertToHtml = $null } else { $IsCovertToHtml = $JsonParameters.PSobject.Properties["isCovertToHtml"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "conversationTimeEarlierThan"))) { #optional property not found $ConversationTimeEarlierThan = $null } else { $ConversationTimeEarlierThan = $JsonParameters.PSobject.Properties["conversationTimeEarlierThan"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "conversationTimeLaterThan"))) { #optional property not found $ConversationTimeLaterThan = $null } else { $ConversationTimeLaterThan = $JsonParameters.PSobject.Properties["conversationTimeLaterThan"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "messageTimeZoneId"))) { #optional property not found $MessageTimeZoneId = $null } else { $MessageTimeZoneId = $JsonParameters.PSobject.Properties["messageTimeZoneId"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "isBackupMeetingRecords"))) { #optional property not found $IsBackupMeetingRecords = $null } else { $IsBackupMeetingRecords = $JsonParameters.PSobject.Properties["isBackupMeetingRecords"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "isBackupOnlyTeamsAssociatedContent"))) { #optional property not found $IsBackupOnlyTeamsAssociatedContent = $null } else { $IsBackupOnlyTeamsAssociatedContent = $JsonParameters.PSobject.Properties["isBackupOnlyTeamsAssociatedContent"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "isBackupFilePermissions"))) { #optional property not found $IsBackupFilePermissions = $null } else { $IsBackupFilePermissions = $JsonParameters.PSobject.Properties["isBackupFilePermissions"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "isBackupDirectSitePermissions"))) { #optional property not found $IsBackupDirectSitePermissions = $null } else { $IsBackupDirectSitePermissions = $JsonParameters.PSobject.Properties["isBackupDirectSitePermissions"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "isBackupWholeStructureAndData"))) { #optional property not found $IsBackupWholeStructureAndData = $null } else { $IsBackupWholeStructureAndData = $JsonParameters.PSobject.Properties["isBackupWholeStructureAndData"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "isBackupMailbox"))) { #optional property not found $IsBackupMailbox = $null } else { $IsBackupMailbox = $JsonParameters.PSobject.Properties["isBackupMailbox"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "advancedExchangePolicyId"))) { #optional property not found $AdvancedExchangePolicyId = $null } else { $AdvancedExchangePolicyId = $JsonParameters.PSobject.Properties["advancedExchangePolicyId"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "advancedSharePointPolicyId"))) { #optional property not found $AdvancedSharePointPolicyId = $null } else { $AdvancedSharePointPolicyId = $JsonParameters.PSobject.Properties["advancedSharePointPolicyId"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "folderConflictResolution"))) { #optional property not found $FolderConflictResolution = $null } else { $FolderConflictResolution = $JsonParameters.PSobject.Properties["folderConflictResolution"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "fileConflictResolution"))) { #optional property not found $FileConflictResolution = $null } else { $FileConflictResolution = $JsonParameters.PSobject.Properties["fileConflictResolution"].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 "isReplaceEmailAddress"))) { #optional property not found $IsReplaceEmailAddress = $null } else { $IsReplaceEmailAddress = $JsonParameters.PSobject.Properties["isReplaceEmailAddress"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "isReplaceMeetingLink"))) { #optional property not found $IsReplaceMeetingLink = $null } else { $IsReplaceMeetingLink = $JsonParameters.PSobject.Properties["isReplaceMeetingLink"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "isSyncTeamGroupPrivacyChanges"))) { #optional property not found $IsSyncTeamGroupPrivacyChanges = $null } else { $IsSyncTeamGroupPrivacyChanges = $JsonParameters.PSobject.Properties["isSyncTeamGroupPrivacyChanges"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "isRemoveSourceFromFiles"))) { #optional property not found $IsRemoveSourceFromFiles = $null } else { $IsRemoveSourceFromFiles = $JsonParameters.PSobject.Properties["isRemoveSourceFromFiles"].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 "teamsSensitivityLabel"))) { #optional property not found $TeamsSensitivityLabel = $null } else { $TeamsSensitivityLabel = $JsonParameters.PSobject.Properties["teamsSensitivityLabel"].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 "teamsLabelMappingProfileId"))) { #optional property not found $TeamsLabelMappingProfileId = $null } else { $TeamsLabelMappingProfileId = $JsonParameters.PSobject.Properties["teamsLabelMappingProfileId"].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 "urlMappingProfileId"))) { #optional property not found $UrlMappingProfileId = $null } else { $UrlMappingProfileId = $JsonParameters.PSobject.Properties["urlMappingProfileId"].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} "enableMigrateGuestUsers" = ${EnableMigrateGuestUsers} "enableMigrateExternalUsers" = ${EnableMigrateExternalUsers} "isPostMessage" = ${IsPostMessage} "isCovertToHtml" = ${IsCovertToHtml} "conversationTimeEarlierThan" = ${ConversationTimeEarlierThan} "conversationTimeLaterThan" = ${ConversationTimeLaterThan} "messageTimeZoneId" = ${MessageTimeZoneId} "isBackupMeetingRecords" = ${IsBackupMeetingRecords} "isBackupOnlyTeamsAssociatedContent" = ${IsBackupOnlyTeamsAssociatedContent} "isBackupFilePermissions" = ${IsBackupFilePermissions} "isBackupDirectSitePermissions" = ${IsBackupDirectSitePermissions} "isBackupWholeStructureAndData" = ${IsBackupWholeStructureAndData} "isBackupMailbox" = ${IsBackupMailbox} "advancedExchangePolicyId" = ${AdvancedExchangePolicyId} "advancedSharePointPolicyId" = ${AdvancedSharePointPolicyId} "folderConflictResolution" = ${FolderConflictResolution} "fileConflictResolution" = ${FileConflictResolution} "itemConflictResolution" = ${ItemConflictResolution} "isReplaceEmailAddress" = ${IsReplaceEmailAddress} "isReplaceMeetingLink" = ${IsReplaceMeetingLink} "isSyncTeamGroupPrivacyChanges" = ${IsSyncTeamGroupPrivacyChanges} "isRemoveSourceFromFiles" = ${IsRemoveSourceFromFiles} "emailSensitivityLabel" = ${EmailSensitivityLabel} "teamsSensitivityLabel" = ${TeamsSensitivityLabel} "userMappingProfileId" = ${UserMappingProfileId} "emailLabelMappingProfileId" = ${EmailLabelMappingProfileId} "teamsLabelMappingProfileId" = ${TeamsLabelMappingProfileId} "userMappingRules" = ${UserMappingRules} "urlMappingProfileId" = ${UrlMappingProfileId} "name" = ${Name} "description" = ${Description} "migrationModuleType" = ${MigrationModuleType} "notification" = ${Notification} "isDefault" = ${IsDefault} "customizeFeatures" = ${CustomizeFeatures} } return $PSO } } |