DscResources/Office365/Office365.schema.psm1

# (2024-11-10 01:31:07) Generated using Microsoft365DSC v1.24.1106.3
Configuration 'Office365'
{
    param
    (
        [Parameter(Mandatory = $true)]
        [System.String]
        $ApplicationId,

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

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

    Import-DscResource -ModuleName Microsoft365DSC

    if ($ConfigurationData.NonNodeData.Office365.ContainsKey('AdminAuditLogConfig'))
    {
        $resourceTitle = 'AdminAuditLogConfigDefaults'

        $parameters = $ConfigurationData.NonNodeData.Office365.AdminAuditLogConfig
        $parameters.IsSingleInstance = 'Yes'
        $parameters.ApplicationId = $ApplicationId
        $parameters.TenantId = $TenantId
        $parameters.CertificateThumbprint = $CertificateThumbprint

        if ($parameters.ContainsKey('UniqueId'))
        {
            $parameters.Remove('UniqueId')
        }
        (Get-DscSplattedResource -ResourceName 'O365AdminAuditLogConfig' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters)
    }

    foreach ($ExternalConnection in $ConfigurationData.NonNodeData.Office365.ExternalConnections)
    {
        $resourceTitle = 'O365ExternalConnection-{0}' -f $ExternalConnection.Name

        $parameters = $ExternalConnection
        $parameters.ApplicationId = $ApplicationId
        $parameters.TenantId = $TenantId
        $parameters.CertificateThumbprint = $CertificateThumbprint

        if ($parameters.ContainsKey('UniqueId'))
        {
            $parameters.Remove('UniqueId')
        }
        (Get-DscSplattedResource -ResourceName 'O365ExternalConnection' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters)
    }

    foreach ($Group in $ConfigurationData.NonNodeData.Office365.Groups)
    {
        $resourceTitle = 'O365Group-{0}-{1}' -f $Group.DisplayName,$Group.MailNickName

        $parameters = $Group
        $parameters.ApplicationId = $ApplicationId
        $parameters.TenantId = $TenantId
        $parameters.CertificateThumbprint = $CertificateThumbprint

        if ($parameters.ContainsKey('UniqueId'))
        {
            $parameters.Remove('UniqueId')
        }
        (Get-DscSplattedResource -ResourceName 'O365Group' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters)
    }

    if ($ConfigurationData.NonNodeData.Office365.ContainsKey('OrgCustomizationSetting'))
    {
        $resourceTitle = 'OrgCustomizationSettingDefaults'

        $parameters = $ConfigurationData.NonNodeData.Office365.OrgCustomizationSetting
        $parameters.IsSingleInstance = 'Yes'
        $parameters.ApplicationId = $ApplicationId
        $parameters.TenantId = $TenantId
        $parameters.CertificateThumbprint = $CertificateThumbprint

        if ($parameters.ContainsKey('UniqueId'))
        {
            $parameters.Remove('UniqueId')
        }
        (Get-DscSplattedResource -ResourceName 'O365OrgCustomizationSetting' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters)
    }

    if ($ConfigurationData.NonNodeData.Office365.ContainsKey('OrgSettings'))
    {
        $resourceTitle = 'OrgSettingsDefaults'

        $parameters = $ConfigurationData.NonNodeData.Office365.OrgSettings
        $parameters.IsSingleInstance = 'Yes'
        $parameters.ApplicationId = $ApplicationId
        $parameters.TenantId = $TenantId
        $parameters.CertificateThumbprint = $CertificateThumbprint

        if ($parameters.ContainsKey('UniqueId'))
        {
            $parameters.Remove('UniqueId')
        }
        (Get-DscSplattedResource -ResourceName 'O365OrgSettings' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters)
    }
}