AzureUtils.Format.ps1xml

<?xml version="1.0" encoding="utf-8"?>
<Configuration>
  <ViewDefinitions>
    <!-- Orphaned resources: the Reason column is colored (when the host supports
         $PSStyle); objects still flow unchanged through the pipeline. -->
    <View>
      <Name>AzureUtils.OrphanResource</Name>
      <ViewSelectedBy>
        <TypeName>AzureUtils.OrphanResource</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader><Label>Name</Label><Width>32</Width></TableColumnHeader>
          <TableColumnHeader><Label>ResourceType</Label><Width>40</Width></TableColumnHeader>
          <TableColumnHeader><Label>ResourceGroup</Label><Width>22</Width></TableColumnHeader>
          <TableColumnHeader><Label>Location</Label><Width>12</Width></TableColumnHeader>
          <TableColumnHeader><Label>Subscription</Label><Width>26</Width></TableColumnHeader>
          <TableColumnHeader><Label>Reason</Label></TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem><PropertyName>Name</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>ResourceType</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>ResourceGroup</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>Location</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>SubscriptionName</PropertyName></TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($PSStyle) { "$($PSStyle.Foreground.BrightYellow)$($_.Reason)$($PSStyle.Reset)" } else { $_.Reason }</ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Publicly exposed resources: the Exposure column is colored (red). -->
    <View>
      <Name>AzureUtils.PublicResource</Name>
      <ViewSelectedBy>
        <TypeName>AzureUtils.PublicResource</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader><Label>Name</Label><Width>30</Width></TableColumnHeader>
          <TableColumnHeader><Label>ResourceType</Label><Width>38</Width></TableColumnHeader>
          <TableColumnHeader><Label>ResourceGroup</Label><Width>20</Width></TableColumnHeader>
          <TableColumnHeader><Label>Subscription</Label><Width>22</Width></TableColumnHeader>
          <TableColumnHeader><Label>Exposure</Label></TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem><PropertyName>Name</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>ResourceType</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>ResourceGroup</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>SubscriptionName</PropertyName></TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($PSStyle) { "$($PSStyle.Foreground.BrightRed)$($_.Exposure)$($PSStyle.Reset)" } else { $_.Exposure }</ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Empty resource groups: the group name is colored when supported. -->
    <View>
      <Name>AzureUtils.EmptyResourceGroup</Name>
      <ViewSelectedBy>
        <TypeName>AzureUtils.EmptyResourceGroup</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader><Label>ResourceGroupName</Label><Width>34</Width></TableColumnHeader>
          <TableColumnHeader><Label>Location</Label><Width>14</Width></TableColumnHeader>
          <TableColumnHeader><Label>Subscription</Label></TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <ScriptBlock>if ($PSStyle) { "$($PSStyle.Foreground.BrightCyan)$($_.ResourceGroupName)$($PSStyle.Reset)" } else { $_.ResourceGroupName }</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem><PropertyName>Location</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>SubscriptionName</PropertyName></TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Idle resources: the Reason column is colored (yellow). -->
    <View>
      <Name>AzureUtils.IdleResource</Name>
      <ViewSelectedBy>
        <TypeName>AzureUtils.IdleResource</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader><Label>Name</Label><Width>32</Width></TableColumnHeader>
          <TableColumnHeader><Label>ResourceType</Label><Width>40</Width></TableColumnHeader>
          <TableColumnHeader><Label>ResourceGroup</Label><Width>22</Width></TableColumnHeader>
          <TableColumnHeader><Label>Subscription</Label><Width>24</Width></TableColumnHeader>
          <TableColumnHeader><Label>Reason</Label></TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem><PropertyName>Name</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>ResourceType</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>ResourceGroup</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>SubscriptionName</PropertyName></TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($PSStyle) { "$($PSStyle.Foreground.BrightYellow)$($_.Reason)$($PSStyle.Reset)" } else { $_.Reason }</ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Insecure configuration: the Finding column is colored (red). -->
    <View>
      <Name>AzureUtils.InsecureConfig</Name>
      <ViewSelectedBy>
        <TypeName>AzureUtils.InsecureConfig</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader><Label>Name</Label><Width>30</Width></TableColumnHeader>
          <TableColumnHeader><Label>ResourceType</Label><Width>34</Width></TableColumnHeader>
          <TableColumnHeader><Label>ResourceGroup</Label><Width>20</Width></TableColumnHeader>
          <TableColumnHeader><Label>Subscription</Label><Width>22</Width></TableColumnHeader>
          <TableColumnHeader><Label>Finding</Label></TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem><PropertyName>Name</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>ResourceType</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>ResourceGroup</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>SubscriptionName</PropertyName></TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($PSStyle) { "$($PSStyle.Foreground.BrightRed)$($_.Finding)$($PSStyle.Reset)" } else { $_.Finding }</ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Tag-compliance violations: the Reason column is colored (yellow). -->
    <View>
      <Name>AzureUtils.TagComplianceViolation</Name>
      <ViewSelectedBy>
        <TypeName>AzureUtils.TagComplianceViolation</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader><Label>Name</Label><Width>30</Width></TableColumnHeader>
          <TableColumnHeader><Label>ResourceType</Label><Width>34</Width></TableColumnHeader>
          <TableColumnHeader><Label>ResourceGroup</Label><Width>20</Width></TableColumnHeader>
          <TableColumnHeader><Label>Subscription</Label><Width>22</Width></TableColumnHeader>
          <TableColumnHeader><Label>Reason</Label></TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem><PropertyName>Name</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>ResourceType</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>ResourceGroup</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>SubscriptionName</PropertyName></TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($PSStyle) { "$($PSStyle.Foreground.BrightYellow)$($_.Reason)$($PSStyle.Reset)" } else { $_.Reason }</ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Policy-non-compliant resources: the PolicyAssignment column is colored. -->
    <View>
      <Name>AzureUtils.PolicyNonCompliant</Name>
      <ViewSelectedBy>
        <TypeName>AzureUtils.PolicyNonCompliant</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader><Label>Name</Label><Width>28</Width></TableColumnHeader>
          <TableColumnHeader><Label>ResourceType</Label><Width>34</Width></TableColumnHeader>
          <TableColumnHeader><Label>ResourceGroup</Label><Width>20</Width></TableColumnHeader>
          <TableColumnHeader><Label>Subscription</Label><Width>20</Width></TableColumnHeader>
          <TableColumnHeader><Label>PolicyAssignment</Label></TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem><PropertyName>Name</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>ResourceType</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>ResourceGroup</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>SubscriptionName</PropertyName></TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($PSStyle) { "$($PSStyle.Foreground.BrightRed)$($_.PolicyAssignment)$($PSStyle.Reset)" } else { $_.PolicyAssignment }</ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Stale role assignments: the Reason column is colored (red). -->
    <View>
      <Name>AzureUtils.StaleRoleAssignment</Name>
      <ViewSelectedBy>
        <TypeName>AzureUtils.StaleRoleAssignment</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader><Label>PrincipalId</Label><Width>38</Width></TableColumnHeader>
          <TableColumnHeader><Label>PrincipalType</Label><Width>14</Width></TableColumnHeader>
          <TableColumnHeader><Label>RoleDefinitionId</Label><Width>38</Width></TableColumnHeader>
          <TableColumnHeader><Label>Subscription</Label><Width>20</Width></TableColumnHeader>
          <TableColumnHeader><Label>Reason</Label></TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem><PropertyName>PrincipalId</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>PrincipalType</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>RoleDefinitionId</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>SubscriptionName</PropertyName></TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($PSStyle) { "$($PSStyle.Foreground.BrightRed)$($_.Reason)$($PSStyle.Reset)" } else { $_.Reason }</ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Duplicate resources: the Count column is colored (magenta). -->
    <View>
      <Name>AzureUtils.DuplicateResource</Name>
      <ViewSelectedBy>
        <TypeName>AzureUtils.DuplicateResource</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader><Label>Name</Label><Width>30</Width></TableColumnHeader>
          <TableColumnHeader><Label>ResourceType</Label><Width>36</Width></TableColumnHeader>
          <TableColumnHeader><Label>ResourceGroup</Label><Width>22</Width></TableColumnHeader>
          <TableColumnHeader><Label>Subscription</Label><Width>22</Width></TableColumnHeader>
          <TableColumnHeader><Label>Count</Label></TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem><PropertyName>Name</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>ResourceType</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>ResourceGroup</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>SubscriptionName</PropertyName></TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($PSStyle) { "$($PSStyle.Foreground.BrightMagenta)$($_.Count)$($PSStyle.Reset)" } else { $_.Count }</ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
  </ViewDefinitions>
</Configuration>