Model/M365GroupPolicyModel.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 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 M365GroupPolicyModel<PSCustomObject> #> function Initialize-FlyM365GroupPolicyModel { [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)] [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 => FlyM365GroupPolicyModel' | 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} "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 M365GroupPolicyModel<PSCustomObject> .DESCRIPTION Convert from JSON to M365GroupPolicyModel<PSCustomObject> .PARAMETER Json Json object .OUTPUTS M365GroupPolicyModel<PSCustomObject> #> function ConvertFrom-FlyJsonToM365GroupPolicyModel { Param( [AllowEmptyString()] [string]$Json ) Process { 'Converting JSON to PSCustomObject: Fly.Client => FlyM365GroupPolicyModel' | Write-Debug $PSBoundParameters | Out-DebugParameter | Write-Debug $JsonParameters = ConvertFrom-Json -InputObject $Json # check if Json contains properties not defined in FlyM365GroupPolicyModel $AllProperties = ("isBackupPlanner", "isBackupMembership", "isMicrosoftEntraRoles", "enableMigrateGuestUsers", "isBackupMailbox", "advancedExchangePolicyId", "advancedSharePointPolicyId", "siteCondition", "containerConflictResolution", "teamConflictResolution", "mailboxConflictResolution", "manageFileLabelCondition", "manageGroupLabelCondition", "isReplaceEmail", "isReplaceMeetingLink", "isSyncTeamGroupPrivacyChanges", "isRemoveSourceFromFiles", "fileLabelMappingProfileId", "groupLabelMappingProfileId", "userMappingProfileId", "userMappingRules", "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 "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 "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]@{ "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} "migrationModuleType" = ${MigrationModuleType} "isDefault" = ${IsDefault} "notification" = ${Notification} "customizeFeatures" = ${CustomizeFeatures} "name" = ${Name} "description" = ${Description} "createTime" = ${CreateTime} "createBy" = ${CreateBy} "lastModifyTime" = ${LastModifyTime} "lastModifyBy" = ${LastModifyBy} "id" = ${Id} } return $PSO } } |