formats/KubePS.Node.format.ps1xml

<?xml version="1.0" encoding="utf-8" ?>
<Configuration>
  <ViewDefinitions>
    <View>
      <Name>KubePS Node</Name>
      <ViewSelectedBy>
        <TypeName>KubePS.Node</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader><Label>Name</Label></TableColumnHeader>
          <TableColumnHeader><Label>Status</Label></TableColumnHeader>
          <TableColumnHeader><Label>Roles</Label></TableColumnHeader>
          <TableColumnHeader><Label>Age</Label></TableColumnHeader>
          <TableColumnHeader><Label>Version</Label></TableColumnHeader>
          <TableColumnHeader><Label>InternalIP</Label></TableColumnHeader>
          <TableColumnHeader><Label>ExternalIP</Label></TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem><PropertyName>Name</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>Status</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>Roles</PropertyName></TableColumnItem>
              <TableColumnItem><ScriptBlock>Resolve-KubeResourceAge -Timestamp ([DateTimeOffset]::UtcNow - $_.Age).ToString('o')</ScriptBlock></TableColumnItem>
              <TableColumnItem><ScriptBlock>"v$($_.Version.ToString())"</ScriptBlock></TableColumnItem>
              <TableColumnItem><PropertyName>InternalIP</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>ExternalIP</PropertyName></TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>KubePS Node Detailed</Name>
      <ViewSelectedBy>
        <TypeName>KubePS.Node.Detailed</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem><PropertyName>Name</PropertyName></ListItem>
              <ListItem><PropertyName>Status</PropertyName></ListItem>
              <ListItem><PropertyName>Roles</PropertyName></ListItem>
              <ListItem>
                <Label>Age</Label>
                <ScriptBlock>
                  $Timestamp = ([DateTimeOffset]::UtcNow - $_.Age).ToString('o')
                  Resolve-KubeResourceAge -Timestamp $Timestamp
                </ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>Version</Label>
                <ScriptBlock>
                  "v$($_.Version.ToString())"
                </ScriptBlock>
              </ListItem>
              <ListItem><PropertyName>InternalIP</PropertyName></ListItem>
              <ListItem><PropertyName>ExternalIP</PropertyName></ListItem>
              <ListItem><PropertyName>Kernel</PropertyName></ListItem>
              <ListItem><PropertyName>OSImage</PropertyName></ListItem>
              <ListItem><PropertyName>ContainerRuntime</PropertyName></ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
    <View>
      <Name>KubePS Node Wide</Name>
      <ViewSelectedBy>
        <TypeName>KubePS.Node.Wide</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <AutoSize />
        <TableHeaders>
          <TableColumnHeader><Label>Name</Label></TableColumnHeader>
          <TableColumnHeader><Label>Status</Label></TableColumnHeader>
          <TableColumnHeader><Label>Roles</Label></TableColumnHeader>
          <TableColumnHeader><Label>Age</Label></TableColumnHeader>
          <TableColumnHeader><Label>Version</Label></TableColumnHeader>
          <TableColumnHeader><Label>InternalIP</Label></TableColumnHeader>
          <TableColumnHeader><Label>ExternalIP</Label></TableColumnHeader>
          <TableColumnHeader><Label>Kernel</Label></TableColumnHeader>
          <TableColumnHeader><Label>OSImage</Label></TableColumnHeader>
          <TableColumnHeader><Label>ContainerRuntime</Label></TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem><PropertyName>Name</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>Status</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>Roles</PropertyName></TableColumnItem>
              <TableColumnItem><ScriptBlock>Resolve-KubeResourceAge -Timestamp ([DateTimeOffset]::UtcNow - $_.Age).ToString('o')</ScriptBlock></TableColumnItem>
              <TableColumnItem><ScriptBlock>"v$($_.Version.ToString())"</ScriptBlock></TableColumnItem>
              <TableColumnItem><PropertyName>InternalIP</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>ExternalIP</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>Kernel</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>OSImage</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>ContainerRuntime</PropertyName></TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
  </ViewDefinitions>
</Configuration>