<Configuration>

    <SelectionSets>
        <SelectionSet>
            <Name>HgsClientConfigurationTypes</Name>
            <Types>
                <TypeName>Microsoft.Management.Infrastructure.CimInstance#MSFT_HgsClientConfiguration</TypeName>
                <TypeName>Microsoft.Management.Infrastructure.CimInstance#root/Microsoft/Windows/Hgs/MSFT_HgsClientConfiguration</TypeName>
            </Types>
        </SelectionSet>
        <SelectionSet>
            <Name>HgsGuardianTypes</Name>
            <Types>
                <TypeName>Microsoft.Management.Infrastructure.CimInstance#MSFT_HgsGuardian</TypeName>
                <TypeName>Microsoft.Management.Infrastructure.CimInstance#root/Microsoft/Windows/Hgs/MSFT_HgsGuardian</TypeName>
            </Types>
        </SelectionSet>
    </SelectionSets>

    <ViewDefinitions>
        <View>
            <Name>HgsClientConfigurationListView</Name>
            <ViewSelectedBy>
                <SelectionSetName>HgsClientConfigurationTypes</SelectionSetName>
            </ViewSelectedBy>
            <ListControl>
                <ListEntries>
                    <ListEntry>
                        <ListItems>
                            <ListItem>
                                <PropertyName>IsHostGuarded</PropertyName>
                            </ListItem>
                            <ListItem>
                                <PropertyName>Mode</PropertyName>
                            </ListItem>
                            <ListItem>
                                <PropertyName>KeyProtectionServerUrl</PropertyName>
                            </ListItem>
                            <ListItem>
                                <PropertyName>AttestationServerUrl</PropertyName>
                            </ListItem>
                            <ListItem>
                                <PropertyName>AttestationOperationMode</PropertyName>
                            </ListItem>
                            <ListItem>
                                <PropertyName>AttestationStatus</PropertyName>
                            </ListItem>
                            <ListItem>
                                <PropertyName>AttestationSubstatus</PropertyName>
                            </ListItem>
                            <ListItem>
                                <Label>FallbackKeyProtectionServerUrl</Label>
                                <ScriptBlock>
                                    $_.FallbackKeyProtectionServerUrl | select -First 1
                                </ScriptBlock>
                            </ListItem>
                            <ListItem>
                                <Label>FallbackAttestationServerUrl</Label>
                                <ScriptBlock>
                                    $_.FallbackAttestationServerUrl | select -First 1
                                </ScriptBlock>
                            </ListItem>
                            <ListItem>
                                <PropertyName>IsFallbackInUse</PropertyName>
                            </ListItem>
                        </ListItems>
                    </ListEntry>
                </ListEntries>
            </ListControl>
        </View>
        <View>
            <Name>HgsGuardianTableView</Name>
            <ViewSelectedBy>
                <SelectionSetName>HgsGuardianTypes</SelectionSetName>
            </ViewSelectedBy>
            <TableControl>
                <TableHeaders>
                    <TableColumnHeader>
                        <Label>Name</Label>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>HasPrivateSigningKey</Label>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Signing Certificate Subject</Label>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                        <TableColumnItem>
                            <PropertyName>Name</PropertyName>
                        </TableColumnItem>
                        <TableColumnItem>
                            <PropertyName>HasPrivateSigningKey</PropertyName>
                        </TableColumnItem>
                        <TableColumnItem>
                            <ScriptBlock>$_.SigningCertificate.SubjectName.Name</ScriptBlock>
                        </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
    </ViewDefinitions>

</Configuration>
