DscResources/ServicesHub/ServicesHub.schema.psm1

# (2025-03-22 01:31:29) Generated using Microsoft365DSC v1.25.319.1
Configuration 'ServicesHub'
{
    param
    (
        [Parameter(Mandatory = $true)]
        [System.String]
        $ApplicationId,

        [Parameter(Mandatory = $true)]
        [System.String]
        $TenantId,

        [Parameter(Mandatory = $true)]
        [System.String]
        $CertificateThumbprint
    )

    Import-DscResource -ModuleName Microsoft365DSC

    foreach ($SpaceGroup in $ConfigurationData.NonNodeData.ServicesHub.SpaceGroups)
    {
        $resourceTitle = 'SHSpaceGroup-{0}-{1}' -f $SpaceGroup.SpaceName,$SpaceGroup.GroupName
        $resourceTitle = $resourceTitle -replace "@","_"

        $parameters = $SpaceGroup
        $parameters.ApplicationId = $ApplicationId
        $parameters.TenantId = $TenantId
        $parameters.CertificateThumbprint = $CertificateThumbprint

        if ($parameters.ContainsKey('UniqueId'))
        {
            $parameters.Remove('UniqueId')
        }

        (Get-DscSplattedResource -ResourceName 'SHSpaceGroup' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters)
    }

    foreach ($SpaceUser in $ConfigurationData.NonNodeData.ServicesHub.SpaceUsers)
    {
        $resourceTitle = 'SHSpaceUser-{0}-{1}' -f $SpaceUser.SpaceName,$SpaceUser.Email
        $resourceTitle = $resourceTitle -replace "@","_"

        $parameters = $SpaceUser
        $parameters.ApplicationId = $ApplicationId
        $parameters.TenantId = $TenantId
        $parameters.CertificateThumbprint = $CertificateThumbprint

        if ($parameters.ContainsKey('UniqueId'))
        {
            $parameters.Remove('UniqueId')
        }

        (Get-DscSplattedResource -ResourceName 'SHSpaceUser' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters)
    }
}