Model/M365GroupPolicyCreationModel.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 IsBackupPlanner No description available. .PARAMETER IsBackupMembership No description available. .PARAMETER IsMicrosoftEntraRoles No description available. .PARAMETER EnableMigrateGuestUsers No description available. .PARAMETER IsBackupMailbox No description available. .PARAMETER AdvancedExchangePolicyId No description available. .PARAMETER AdvancedSharePointPolicyId No description available. .PARAMETER SiteCondition * `WholeTeamSite` = 0 * `OnlyDefaultDocumentLibrary` = 1 .PARAMETER ContainerConflictResolution * `Skip` = 0 * `Overwrite` = 1 * `Merge` = 2 * `OverwriteByLastModifiedTime` = 3 * `Append` = 4 .PARAMETER TeamConflictResolution * `Skip` = 0 * `Overwrite` = 1 * `Merge` = 2 * `OverwriteByLastModifiedTime` = 3 * `Append` = 4 .PARAMETER MailboxConflictResolution * `Skip` = 0 * `Overwrite` = 1 * `Merge` = 2 * `OverwriteByLastModifiedTime` = 3 * `Append` = 4 .PARAMETER ManageFileLabelCondition * `KeepExisting` = 0 * `DoNotCopy` = 1 * `ApplySame` = 2 * `ConfigureCustom` = 3 .PARAMETER ManageGroupLabelCondition * `KeepExisting` = 0 * `DoNotCopy` = 1 * `ApplySame` = 2 * `ConfigureCustom` = 3 .PARAMETER IsReplaceEmail No description available. .PARAMETER IsReplaceMeetingLink No description available. .PARAMETER IsSyncTeamGroupPrivacyChanges No description available. .PARAMETER IsRemoveSourceFromFiles No description available. .PARAMETER FileLabelMappingProfileId No description available. .PARAMETER GroupLabelMappingProfileId No description available. .PARAMETER UserMappingProfileId No description available. .PARAMETER UserMappingRules 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 M365GroupPolicyCreationModel<PSCustomObject> #> function Initialize-FlyM365GroupPolicyCreationModel { [CmdletBinding()] Param ( [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsBackupPlanner}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsBackupMembership}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsMicrosoftEntraRoles}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${EnableMigrateGuestUsers}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsBackupMailbox}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${AdvancedExchangePolicyId}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${AdvancedSharePointPolicyId}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${SiteCondition}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${ContainerConflictResolution}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${TeamConflictResolution}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${MailboxConflictResolution}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${ManageFileLabelCondition}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${ManageGroupLabelCondition}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsReplaceEmail}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsReplaceMeetingLink}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsSyncTeamGroupPrivacyChanges}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IsRemoveSourceFromFiles}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${FileLabelMappingProfileId}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${GroupLabelMappingProfileId}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${UserMappingProfileId}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject[]] ${UserMappingRules}, [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 => FlyM365GroupPolicyCreationModel' | Write-Debug $PSBoundParameters | Out-DebugParameter | Write-Debug $PSO = [PSCustomObject]@{ "isBackupPlanner" = ${IsBackupPlanner} "isBackupMembership" = ${IsBackupMembership} "isMicrosoftEntraRoles" = ${IsMicrosoftEntraRoles} "enableMigrateGuestUsers" = ${EnableMigrateGuestUsers} "isBackupMailbox" = ${IsBackupMailbox} "advancedExchangePolicyId" = ${AdvancedExchangePolicyId} "advancedSharePointPolicyId" = ${AdvancedSharePointPolicyId} "siteCondition" = ${SiteCondition} "containerConflictResolution" = ${ContainerConflictResolution} "teamConflictResolution" = ${TeamConflictResolution} "mailboxConflictResolution" = ${MailboxConflictResolution} "manageFileLabelCondition" = ${ManageFileLabelCondition} "manageGroupLabelCondition" = ${ManageGroupLabelCondition} "isReplaceEmail" = ${IsReplaceEmail} "isReplaceMeetingLink" = ${IsReplaceMeetingLink} "isSyncTeamGroupPrivacyChanges" = ${IsSyncTeamGroupPrivacyChanges} "isRemoveSourceFromFiles" = ${IsRemoveSourceFromFiles} "fileLabelMappingProfileId" = ${FileLabelMappingProfileId} "groupLabelMappingProfileId" = ${GroupLabelMappingProfileId} "userMappingProfileId" = ${UserMappingProfileId} "userMappingRules" = ${UserMappingRules} "name" = ${Name} "description" = ${Description} "migrationModuleType" = ${MigrationModuleType} "notification" = ${Notification} "isDefault" = ${IsDefault} "customizeFeatures" = ${CustomizeFeatures} } return $PSO } } <# .SYNOPSIS Convert from JSON to M365GroupPolicyCreationModel<PSCustomObject> .DESCRIPTION Convert from JSON to M365GroupPolicyCreationModel<PSCustomObject> .PARAMETER Json Json object .OUTPUTS M365GroupPolicyCreationModel<PSCustomObject> #> function ConvertFrom-FlyJsonToM365GroupPolicyCreationModel { Param( [AllowEmptyString()] [string]$Json ) Process { 'Converting JSON to PSCustomObject: Fly.Client => FlyM365GroupPolicyCreationModel' | Write-Debug $PSBoundParameters | Out-DebugParameter | Write-Debug $JsonParameters = ConvertFrom-Json -InputObject $Json # check if Json contains properties not defined in FlyM365GroupPolicyCreationModel $AllProperties = ("isBackupPlanner", "isBackupMembership", "isMicrosoftEntraRoles", "enableMigrateGuestUsers", "isBackupMailbox", "advancedExchangePolicyId", "advancedSharePointPolicyId", "siteCondition", "containerConflictResolution", "teamConflictResolution", "mailboxConflictResolution", "manageFileLabelCondition", "manageGroupLabelCondition", "isReplaceEmail", "isReplaceMeetingLink", "isSyncTeamGroupPrivacyChanges", "isRemoveSourceFromFiles", "fileLabelMappingProfileId", "groupLabelMappingProfileId", "userMappingProfileId", "userMappingRules", "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 "isBackupPlanner"))) { #optional property not found $IsBackupPlanner = $null } else { $IsBackupPlanner = $JsonParameters.PSobject.Properties["isBackupPlanner"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "isBackupMembership"))) { #optional property not found $IsBackupMembership = $null } else { $IsBackupMembership = $JsonParameters.PSobject.Properties["isBackupMembership"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "isMicrosoftEntraRoles"))) { #optional property not found $IsMicrosoftEntraRoles = $null } else { $IsMicrosoftEntraRoles = $JsonParameters.PSobject.Properties["isMicrosoftEntraRoles"].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 "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 "siteCondition"))) { #optional property not found $SiteCondition = $null } else { $SiteCondition = $JsonParameters.PSobject.Properties["siteCondition"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "containerConflictResolution"))) { #optional property not found $ContainerConflictResolution = $null } else { $ContainerConflictResolution = $JsonParameters.PSobject.Properties["containerConflictResolution"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "teamConflictResolution"))) { #optional property not found $TeamConflictResolution = $null } else { $TeamConflictResolution = $JsonParameters.PSobject.Properties["teamConflictResolution"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "mailboxConflictResolution"))) { #optional property not found $MailboxConflictResolution = $null } else { $MailboxConflictResolution = $JsonParameters.PSobject.Properties["mailboxConflictResolution"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "manageFileLabelCondition"))) { #optional property not found $ManageFileLabelCondition = $null } else { $ManageFileLabelCondition = $JsonParameters.PSobject.Properties["manageFileLabelCondition"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "manageGroupLabelCondition"))) { #optional property not found $ManageGroupLabelCondition = $null } else { $ManageGroupLabelCondition = $JsonParameters.PSobject.Properties["manageGroupLabelCondition"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "isReplaceEmail"))) { #optional property not found $IsReplaceEmail = $null } else { $IsReplaceEmail = $JsonParameters.PSobject.Properties["isReplaceEmail"].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 "fileLabelMappingProfileId"))) { #optional property not found $FileLabelMappingProfileId = $null } else { $FileLabelMappingProfileId = $JsonParameters.PSobject.Properties["fileLabelMappingProfileId"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "groupLabelMappingProfileId"))) { #optional property not found $GroupLabelMappingProfileId = $null } else { $GroupLabelMappingProfileId = $JsonParameters.PSobject.Properties["groupLabelMappingProfileId"].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 "userMappingRules"))) { #optional property not found $UserMappingRules = $null } else { $UserMappingRules = $JsonParameters.PSobject.Properties["userMappingRules"].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]@{ "isBackupPlanner" = ${IsBackupPlanner} "isBackupMembership" = ${IsBackupMembership} "isMicrosoftEntraRoles" = ${IsMicrosoftEntraRoles} "enableMigrateGuestUsers" = ${EnableMigrateGuestUsers} "isBackupMailbox" = ${IsBackupMailbox} "advancedExchangePolicyId" = ${AdvancedExchangePolicyId} "advancedSharePointPolicyId" = ${AdvancedSharePointPolicyId} "siteCondition" = ${SiteCondition} "containerConflictResolution" = ${ContainerConflictResolution} "teamConflictResolution" = ${TeamConflictResolution} "mailboxConflictResolution" = ${MailboxConflictResolution} "manageFileLabelCondition" = ${ManageFileLabelCondition} "manageGroupLabelCondition" = ${ManageGroupLabelCondition} "isReplaceEmail" = ${IsReplaceEmail} "isReplaceMeetingLink" = ${IsReplaceMeetingLink} "isSyncTeamGroupPrivacyChanges" = ${IsSyncTeamGroupPrivacyChanges} "isRemoveSourceFromFiles" = ${IsRemoveSourceFromFiles} "fileLabelMappingProfileId" = ${FileLabelMappingProfileId} "groupLabelMappingProfileId" = ${GroupLabelMappingProfileId} "userMappingProfileId" = ${UserMappingProfileId} "userMappingRules" = ${UserMappingRules} "name" = ${Name} "description" = ${Description} "migrationModuleType" = ${MigrationModuleType} "notification" = ${Notification} "isDefault" = ${IsDefault} "customizeFeatures" = ${CustomizeFeatures} } return $PSO } } |