PSProxmoxVE.format.ps1xml

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

    <!-- PSProxmoxVE.Core.Models.Nodes.PveNode -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Nodes.PveNode</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Nodes.PveNode</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>15</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Status</Label>
            <Width>10</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>CPUs</Label>
            <Width>5</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Memory</Label>
            <Width>15</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Uptime</Label>
            <Width>12</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Version</Label>
            <Width>12</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Status</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>CpuCount</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>[math]::Round($_.MemoryTotal / 1GB, 1).ToString() + ' GB'</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  $ts = [TimeSpan]::FromSeconds($_.Uptime)
                  '{0}d {1:D2}:{2:D2}' -f [int]$ts.TotalDays, $ts.Hours, $ts.Minutes
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>PveVersion</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Vms.PveVm -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Vms.PveVm</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Vms.PveVm</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>VmId</Label>
            <Width>8</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>20</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Status</Label>
            <Width>10</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Node</Label>
            <Width>15</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>CPUs</Label>
            <Width>5</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Memory</Label>
            <Width>12</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Uptime</Label>
            <Width>12</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>VmId</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>EffectiveStatus</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Node</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>CpuCount</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>[math]::Round($_.MaxMem / 1GB, 1).ToString() + ' GB'</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  $ts = [TimeSpan]::FromSeconds($_.Uptime)
                  '{0}d {1:D2}:{2:D2}' -f [int]$ts.TotalDays, $ts.Hours, $ts.Minutes
                </ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Containers.PveContainer -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Containers.PveContainer</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Containers.PveContainer</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>VmId</Label>
            <Width>8</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>20</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Status</Label>
            <Width>10</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Node</Label>
            <Width>15</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Memory</Label>
            <Width>12</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>VmId</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Status</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Node</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>[math]::Round($_.MaxMem / 1GB, 1).ToString() + ' GB'</ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Storage.PveStorage -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Storage.PveStorage</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Storage.PveStorage</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Storage</Label>
            <Width>20</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Type</Label>
            <Width>12</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Content</Label>
            <Width>20</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Used</Label>
            <Width>12</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Total</Label>
            <Width>12</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Active</Label>
            <Width>6</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Storage</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Type</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Content</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>[math]::Round($_.Used / 1GB, 1).ToString() + ' GB'</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>[math]::Round($_.Total / 1GB, 1).ToString() + ' GB'</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Active</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.PveTask -->
    <View>
      <Name>PSProxmoxVE.Core.Models.PveTask</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.PveTask</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Upid</Label>
            <Width>40</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Type</Label>
            <Width>15</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Status</Label>
            <Width>10</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>ExitStatus</Label>
            <Width>15</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Upid</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Type</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Status</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>ExitStatus</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.PveSnapshot -->
    <View>
      <Name>PSProxmoxVE.Core.Models.PveSnapshot</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.PveSnapshot</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>20</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>SnapTime</Label>
            <Width>20</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Description</Label>
            <Width>30</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>VmState</Label>
            <Width>8</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  if ($_.SnapTime) {
                    [System.DateTimeOffset]::FromUnixTimeSeconds($_.SnapTime).LocalDateTime.ToString('yyyy-MM-dd HH:mm:ss')
                  }
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Description</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>VmState</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Users.PveUser -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Users.PveUser</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Users.PveUser</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>UserId</Label>
            <Width>25</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>FirstName</Label>
            <Width>15</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>LastName</Label>
            <Width>15</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Email</Label>
            <Width>25</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Enabled</Label>
            <Width>8</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Realm</Label>
            <Width>10</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>UserId</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>FirstName</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>LastName</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Email</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Enabled</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Realm</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Firewall.PveFirewallRule -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Firewall.PveFirewallRule</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Firewall.PveFirewallRule</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Pos</Label>
            <Width>5</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Type</Label>
            <Width>6</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Action</Label>
            <Width>8</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Proto</Label>
            <Width>6</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Dport</Label>
            <Width>12</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Source</Label>
            <Width>20</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Dest</Label>
            <Width>20</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Enable</Label>
            <Width>7</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Comment</Label>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Pos</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Type</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Action</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Proto</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Dport</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Source</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Dest</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($_.Enable -eq 1) { 'Yes' } else { 'No' }</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Comment</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Firewall.PveFirewallGroup -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Firewall.PveFirewallGroup</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Firewall.PveFirewallGroup</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Group</Label>
            <Width>25</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Comment</Label>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Group</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Comment</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Firewall.PveFirewallAlias -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Firewall.PveFirewallAlias</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Firewall.PveFirewallAlias</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>25</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Cidr</Label>
            <Width>25</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Comment</Label>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Cidr</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Comment</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Firewall.PveFirewallIpSet -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Firewall.PveFirewallIpSet</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Firewall.PveFirewallIpSet</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>25</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Comment</Label>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Comment</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Firewall.PveFirewallIpSetEntry -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Firewall.PveFirewallIpSetEntry</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Firewall.PveFirewallIpSetEntry</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Cidr</Label>
            <Width>25</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>NoMatch</Label>
            <Width>8</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Comment</Label>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Cidr</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($_.NoMatch -eq 1) { 'Yes' } else { 'No' }</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Comment</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Firewall.PveFirewallOptions -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Firewall.PveFirewallOptions</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Firewall.PveFirewallOptions</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Enable</Label>
            <Width>8</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>PolicyIn</Label>
            <Width>10</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>PolicyOut</Label>
            <Width>10</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>LogLevelIn</Label>
            <Width>12</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>LogLevelOut</Label>
            <Width>12</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <ScriptBlock>if ($_.Enable -eq 1) { 'Yes' } else { 'No' }</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>PolicyIn</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>PolicyOut</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>LogLevelIn</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>LogLevelOut</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Backup.PveBackupJob -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Backup.PveBackupJob</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Backup.PveBackupJob</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Id</Label>
            <Width>20</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Enabled</Label>
            <Width>8</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Schedule</Label>
            <Width>16</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Storage</Label>
            <Width>15</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Mode</Label>
            <Width>10</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>VmId</Label>
            <Width>15</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Comment</Label>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Id</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($_.Enabled -eq 1) { 'Yes' } else { 'No' }</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Schedule</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Storage</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Mode</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>VmId</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Comment</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Network.PveSdnIpam -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Network.PveSdnIpam</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Network.PveSdnIpam</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Ipam</Label>
            <Width>20</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Type</Label>
            <Width>15</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Ipam</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Type</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Network.PveSdnDns -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Network.PveSdnDns</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Network.PveSdnDns</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Dns</Label>
            <Width>20</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Type</Label>
            <Width>15</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Url</Label>
            <Width>40</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Dns</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Type</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Url</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Network.PveSdnController -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Network.PveSdnController</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Network.PveSdnController</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Controller</Label>
            <Width>20</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Type</Label>
            <Width>10</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Asn</Label>
            <Width>10</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Peers</Label>
            <Width>30</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Node</Label>
            <Width>15</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Controller</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Type</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Asn</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Peers</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Node</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Cluster.PveClusterResource -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Cluster.PveClusterResource</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Cluster.PveClusterResource</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Type</Label>
            <Width>8</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>20</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Status</Label>
            <Width>10</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Node</Label>
            <Width>15</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>VmId</Label>
            <Width>8</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Cpu</Label>
            <Width>8</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>MaxMem</Label>
            <Width>12</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Pool</Label>
            <Width>15</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Type</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Status</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Node</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>VmId</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($_.Cpu -ne $null) { [math]::Round($_.Cpu * 100, 1).ToString() + '%' } else { 'N/A' }</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($_.MaxMem) { [math]::Round($_.MaxMem / 1GB, 1).ToString() + 'G' } else { 'N/A' }</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Pool</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Cluster.PvePool -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Cluster.PvePool</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Cluster.PvePool</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>PoolId</Label>
            <Width>25</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Comment</Label>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>PoolId</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Comment</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Vms.PveGuestOsInfo -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Vms.PveGuestOsInfo</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Vms.PveGuestOsInfo</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>25</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>KernelRelease</Label>
            <Width>25</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Machine</Label>
            <Width>15</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>KernelRelease</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Machine</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Vms.PveGuestFsInfo -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Vms.PveGuestFsInfo</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Vms.PveGuestFsInfo</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>15</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>MountPoint</Label>
            <Width>20</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Type</Label>
            <Width>10</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>TotalBytes</Label>
            <Width>15</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>UsedBytes</Label>
            <Width>15</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>MountPoint</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Type</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($_.TotalBytes) { [math]::Round($_.TotalBytes / 1GB, 1).ToString() + ' GB' } else { 'N/A' }</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($_.UsedBytes) { [math]::Round($_.UsedBytes / 1GB, 1).ToString() + ' GB' } else { 'N/A' }</ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Containers.PveContainerInterface -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Containers.PveContainerInterface</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Containers.PveContainerInterface</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>10</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>HwAddr</Label>
            <Width>20</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Inet</Label>
            <Width>20</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Inet6</Label>
            <Width>30</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>HwAddr</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Inet</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Inet6</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Storage.PveStorageStatus -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Storage.PveStorageStatus</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Storage.PveStorageStatus</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Type</Label>
            <Width>10</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Total</Label>
            <Width>15</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Used</Label>
            <Width>15</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Available</Label>
            <Width>15</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Active</Label>
            <Width>8</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Type</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($_.Total) { [math]::Round($_.Total / 1GB, 1).ToString() + ' GB' } else { 'N/A' }</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($_.Used) { [math]::Round($_.Used / 1GB, 1).ToString() + ' GB' } else { 'N/A' }</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($_.Available) { [math]::Round($_.Available / 1GB, 1).ToString() + ' GB' } else { 'N/A' }</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($_.Active) { 'Yes' } else { 'No' }</ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Users.PveGroup -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Users.PveGroup</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Users.PveGroup</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>GroupId</Label>
            <Width>25</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Comment</Label>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Users</Label>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>GroupId</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Comment</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Users</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Models.Users.PveDomain -->
    <View>
      <Name>PSProxmoxVE.Core.Models.Users.PveDomain</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Models.Users.PveDomain</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Realm</Label>
            <Width>15</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Type</Label>
            <Width>10</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Comment</Label>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Default</Label>
            <Width>8</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Realm</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Type</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Comment</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($_.Default) { 'Yes' } else { 'No' }</ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- PSProxmoxVE.Core.Authentication.PveSession -->
    <!-- Hides sensitive properties (Ticket, ApiToken, CsrfToken) from default output -->
    <View>
      <Name>PSProxmoxVE.Core.Authentication.PveSession</Name>
      <ViewSelectedBy>
        <TypeName>PSProxmoxVE.Core.Authentication.PveSession</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Hostname</Label>
            <Width>25</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Port</Label>
            <Width>6</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>AuthMode</Label>
            <Width>10</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Expired</Label>
            <Width>8</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Version</Label>
            <Width>15</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Hostname</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Port</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>AuthMode</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($_.IsExpired) { 'Yes' } else { 'No' }</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($_.ServerVersion) { $_.ServerVersion.ToString() } else { 'Unknown' }</ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

  </ViewDefinitions>
</Configuration>