src/cmdlets/common/Formats.ps1xml

<?xml version="1.0" encoding="utf-8"?>

<!-- *******************************************************************
Copyright 2021, Adam Edwards

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
******************************************************************** -->

<Configuration>
  <ViewDefinitions>

    <View>
      <Name>GraphStatus</Name>
      <ViewSelectedBy>
        <TypeName>GraphLogEntryDisplayType</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>RequestTimestamp</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Status</Label>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Size</Label>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Method</Label>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
          </TableColumnHeader>
          <TableColumnHeader>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <ScriptBlock>$_.RequestTimestamp.DateTime</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$::.GraphFormatter.StatusCode($_.Status)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>ResponseContentSize</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$::.GraphFormatter.RestMethod($_.Method)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Uri</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>ErrorResponse</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <View>
      <Name>GraphTiming</Name>
      <ViewSelectedBy>
        <TypeName>GraphLogEntryDisplayType</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>ClientElapsedTime</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Status</Label>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Method</Label>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
          </TableColumnHeader>
          <TableColumnHeader>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>RequestTimestamp</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$::.GraphFormatter.ResponseElapsedTime($_.ClientElapsedTime)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$::.GraphFormatter.StatusCode($_.Status)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$::.GraphFormatter.RestMethod($_.Method)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>ResourceUri</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>ResponseTimestamp</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <View>
      <Name>GraphDebug</Name>
      <ViewSelectedBy>
        <TypeName>GraphLogEntryDisplayType</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
          </TableColumnHeader>
          <TableColumnHeader>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Status</Label>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Method</Label>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>ResourceUri</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Query</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>RequestTimestamp</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>ClientRequestId</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$::.GraphFormatter.StatusCode($_.Status)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$::.GraphFormatter.RestMethod($_.Method)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Version</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$::.ColorString.ToStandardColorString($_.ResourceUri, 'Emphasis1', $null, $null, $null)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$::.ColorString.ToStandardColorString($_.Query, 'Emphasis2', $null, $null, $null)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>ResponseContentSize</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>ResponseRawContentSize</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>ErrorResponse</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <View>
      <Name>GraphAuthentication</Name>
      <ViewSelectedBy>
        <TypeName>GraphLogEntryDisplayType</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>RequestTimestamp</Label>
          </TableColumnHeader>
          <TableColumnHeader>
          </TableColumnHeader>
          <TableColumnHeader>
          </TableColumnHeader>
          <TableColumnHeader>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Status</Label>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Method</Label>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>ResourceUri</Label>
          </TableColumnHeader>
          <TableColumnHeader>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <ScriptBlock>$_.RequestTimestamp.DateTime</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>AppId</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>UserUpn</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>UserObjectId</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$::.GraphFormatter.StatusCode($_.Status)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$::.GraphFormatter.RestMethod($_.Method)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$::.ColorString.ToStandardColorString($_.ResourceUri, 'Emphasis1', $null, $null, $null)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Permissions</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>

    </View>

    <View>
      <Name>GraphConnectionOverview</Name>
      <ViewSelectedBy>
        <TypeName>GraphConnectionInfo</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>AppId</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>ConnectionName</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Organization</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>AuthType</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>AppId</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$::.ColorString.ToStandardColorString($_.Name, 'Emphasis1', $null, $null, $null)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$::.ColorString.ToStandardColorString($_.Tenant, 'Emphasis2', $null, $null, $null)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>AuthType</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <View>
      <Name>GraphConnectionInfo</Name>
      <ViewSelectedBy>
        <TypeName>GraphConnectionInfo</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <PropertyName>Id</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Name</Label>
                <ScriptBlock>$::.ColorString.ToStandardColorString($_.Name, 'Emphasis1', $null, $null, $null)</ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>Status</Label>
                <ScriptBlock>$::.ColorString.ToStandardColorString($_.Status, 'EnabledState', $null, 'Online', 'Offline')</ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>Connected</Label>
                <ScriptBlock>$::.ColorString.ToStandardColorString($_.Connected, 'EnabledState', $null, $true, $false)</ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>OrganizationId</Label>
                <PropertyName>Tenant</PropertyName>
              </ListItem>
              <ListItem>
                <Label>User</Label>
                <ScriptBlock>$::.ColorString.ToStandardColorString($_.User,'Emphasis2', $null, $null, $null)</ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>AppId</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>AuthType</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Endpoint</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>ConsistencyLevel</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>

    <View>
      <Name>GraphLogDetail</Name>
      <ViewSelectedBy>
        <TypeName>GraphLogEntryDisplayType</TypeName>
      </ViewSelectedBy>

      <ListControl>

        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <PropertyName>RequestTimestamp</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Status</Label>
                <ScriptBlock>$::.GraphFormatter.StatusCode($_.Status)</ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>ErrorResponse</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Method</Label>
                <ScriptBlock>$::.GraphFormatter.RestMethod($_.Method)</ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>Uri</Label>
                <ScriptBlock>$::.ColorString.ToStandardColorString($_.Uri, 'Emphasis1', $null, $null, $null)</ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>RequestBodySize</PropertyName>
              </ListItem>
              <ListItem>
                <Label>ClientElapsedTime</Label>
                <ScriptBlock>$::.GraphFormatter.ResponseElapsedTime($_.ClientElapsedTime)</ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>RequestHeaders</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>ClientRequestId</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>AppId</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>TenantId</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>UserUpn</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>UserObjectId</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>AuthType</PropertyName>
              </ListItem>
              <ListItem>
                <ItemSelectionCondition>
                  <ScriptBlock>$_.LogLevel -eq 'Full' -or $.LogLevel -eq 'FullRequest'</ScriptBlock>
                </ItemSelectionCondition>
                <PropertyName>RequestBody</PropertyName>
              </ListItem>
              <ListItem>
                <Label>ResourceUri</Label>
                <ScriptBlock>$::.ColorString.ToStandardColorString($_.ResourceUri, 'Emphasis1', $null, $null, $null)</ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>Query</Label>
                <ScriptBlock>$::.ColorString.ToStandardColorString($_.Query, 'Emphasis2', $null, $null, $null)</ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>ResponseTimestamp</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>ResponseClientRequestId</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>ResponseHeaders</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>ResponseContentSize</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>ResponseRawContentSize</PropertyName>
              </ListItem>
              <ListItem>
                <ItemSelectionCondition>
                  <ScriptBlock>$_.LogLevel -eq 'Full' -or $_.LogLevel -eq 'FullResponse'</ScriptBlock>
                </ItemSelectionCondition>
                <PropertyName>ResponseContent</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>

      </ListControl>
    </View>

  </ViewDefinitions>

</Configuration>