MicrosoftFabricMgmt.Format.ps1xml
|
<?xml version="1.0" encoding="utf-8"?>
<Configuration> <ViewDefinitions> <!-- ============================================================================= Fabric Item View - Default view for most Fabric items ============================================================================= Used for: Lakehouse, Notebook, Warehouse, DataPipeline, Environment, etc. Display Priority: Capacity Name, Workspace Name, Item Name, Item Type, ID --> <View> <Name>FabricItemView</Name> <ViewSelectedBy> <TypeName>MicrosoftFabric.Item</TypeName> <TypeName>MicrosoftFabric.ApacheAirflowJob</TypeName> <TypeName>MicrosoftFabric.CopyJob</TypeName> <TypeName>MicrosoftFabric.Dashboard</TypeName> <TypeName>MicrosoftFabric.DataPipeline</TypeName> <TypeName>MicrosoftFabric.Datamart</TypeName> <TypeName>MicrosoftFabric.Environment</TypeName> <TypeName>MicrosoftFabric.Eventhouse</TypeName> <TypeName>MicrosoftFabric.Eventstream</TypeName> <TypeName>MicrosoftFabric.ExternalDataShare</TypeName> <TypeName>MicrosoftFabric.Folder</TypeName> <TypeName>MicrosoftFabric.GraphQLApi</TypeName> <TypeName>MicrosoftFabric.KQLDashboard</TypeName> <TypeName>MicrosoftFabric.KQLDatabase</TypeName> <TypeName>MicrosoftFabric.KQLQueryset</TypeName> <TypeName>MicrosoftFabric.Lakehouse</TypeName> <TypeName>MicrosoftFabric.ManagedPrivateEndpoint</TypeName> <TypeName>MicrosoftFabric.MirroredDatabase</TypeName> <TypeName>MicrosoftFabric.MirroredWarehouse</TypeName> <TypeName>MicrosoftFabric.MLExperiment</TypeName> <TypeName>MicrosoftFabric.MLModel</TypeName> <TypeName>MicrosoftFabric.MountedDataFactory</TypeName> <TypeName>MicrosoftFabric.Notebook</TypeName> <TypeName>MicrosoftFabric.OneLakeShortcut</TypeName> <TypeName>MicrosoftFabric.PaginatedReport</TypeName> <TypeName>MicrosoftFabric.Reflex</TypeName> <TypeName>MicrosoftFabric.Report</TypeName> <TypeName>MicrosoftFabric.SemanticModel</TypeName> <TypeName>MicrosoftFabric.SparkJobDefinition</TypeName> <TypeName>MicrosoftFabric.SQLEndpoint</TypeName> <TypeName>MicrosoftFabric.VariableLibrary</TypeName> <TypeName>MicrosoftFabric.Warehouse</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader> <Label>Capacity Name</Label> <Width>25</Width> </TableColumnHeader> <TableColumnHeader> <Label>Workspace Name</Label> <Width>25</Width> </TableColumnHeader> <TableColumnHeader> <Label>Item Name</Label> <Width>30</Width> </TableColumnHeader> <TableColumnHeader> <Label>Type</Label> <Width>15</Width> </TableColumnHeader> <TableColumnHeader> <Label>ID</Label> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <!-- Capacity Name - Resolve from capacityId if present, else cascade through workspaceId --> <TableColumnItem> <ScriptBlock> if ($_.capacityId) { try { Resolve-FabricCapacityName -CapacityId $_.capacityId } catch { $_.capacityId } } elseif ($_.workspaceId) { # Cascade: workspaceId -> capacityId -> capacity name try { $capacityId = Resolve-FabricCapacityIdFromWorkspace -WorkspaceId $_.workspaceId if ($capacityId) { Resolve-FabricCapacityName -CapacityId $capacityId } else { 'N/A' } } catch { 'N/A' } } else { 'N/A' } </ScriptBlock> </TableColumnItem> <!-- Workspace Name - Resolve from workspaceId if present --> <TableColumnItem> <ScriptBlock> if ($_.workspaceId) { try { Resolve-FabricWorkspaceName -WorkspaceId $_.workspaceId } catch { $_.workspaceId } } else { 'N/A' } </ScriptBlock> </TableColumnItem> <!-- Item Name (displayName or name) --> <TableColumnItem> <PropertyName>displayName</PropertyName> </TableColumnItem> <!-- Item Type --> <TableColumnItem> <PropertyName>type</PropertyName> </TableColumnItem> <!-- ID --> <TableColumnItem> <PropertyName>id</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <!-- ============================================================================= Workspace View - For workspace objects ============================================================================= Display Priority: Capacity Name, Workspace Name, Type, ID --> <View> <Name>WorkspaceView</Name> <ViewSelectedBy> <TypeName>MicrosoftFabric.Workspace</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader> <Label>Capacity Name</Label> <Width>25</Width> </TableColumnHeader> <TableColumnHeader> <Label>Workspace Name</Label> <Width>35</Width> </TableColumnHeader> <TableColumnHeader> <Label>Type</Label> <Width>15</Width> </TableColumnHeader> <TableColumnHeader> <Label>ID</Label> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <!-- Capacity Name - Resolve from capacityId --> <TableColumnItem> <ScriptBlock> if ($_.capacityId) { try { Resolve-FabricCapacityName -CapacityId $_.capacityId } catch { $_.capacityId } } else { 'N/A' } </ScriptBlock> </TableColumnItem> <!-- Workspace Name (displayName) --> <TableColumnItem> <PropertyName>displayName</PropertyName> </TableColumnItem> <!-- Type --> <TableColumnItem> <PropertyName>type</PropertyName> </TableColumnItem> <!-- ID --> <TableColumnItem> <PropertyName>id</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <!-- ============================================================================= Capacity View - For capacity objects ============================================================================= Display Priority: Capacity Name, Region, State, SKU, ID --> <View> <Name>CapacityView</Name> <ViewSelectedBy> <TypeName>MicrosoftFabric.Capacity</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader> <Label>Capacity Name</Label> <Width>25</Width> </TableColumnHeader> <TableColumnHeader> <Label>Region</Label> <Width>20</Width> </TableColumnHeader> <TableColumnHeader> <Label>State</Label> <Width>12</Width> </TableColumnHeader> <TableColumnHeader> <Label>SKU</Label> <Width>10</Width> </TableColumnHeader> <TableColumnHeader> <Label>ID</Label> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <!-- Capacity Name --> <TableColumnItem> <PropertyName>displayName</PropertyName> </TableColumnItem> <!-- Region --> <TableColumnItem> <PropertyName>region</PropertyName> </TableColumnItem> <!-- State --> <TableColumnItem> <PropertyName>state</PropertyName> </TableColumnItem> <!-- SKU --> <TableColumnItem> <PropertyName>sku</PropertyName> </TableColumnItem> <!-- ID --> <TableColumnItem> <PropertyName>id</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <!-- ============================================================================= Domain View - For domain objects ============================================================================= Display Priority: Domain Name, Description, Parent Domain ID, ID --> <View> <Name>DomainView</Name> <ViewSelectedBy> <TypeName>MicrosoftFabric.Domain</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader> <Label>Domain Name</Label> <Width>30</Width> </TableColumnHeader> <TableColumnHeader> <Label>Description</Label> <Width>40</Width> </TableColumnHeader> <TableColumnHeader> <Label>Parent Domain ID</Label> <Width>20</Width> </TableColumnHeader> <TableColumnHeader> <Label>ID</Label> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <!-- Domain Name --> <TableColumnItem> <PropertyName>displayName</PropertyName> </TableColumnItem> <!-- Description --> <TableColumnItem> <PropertyName>description</PropertyName> </TableColumnItem> <!-- Parent Domain ID --> <TableColumnItem> <PropertyName>parentDomainId</PropertyName> </TableColumnItem> <!-- ID --> <TableColumnItem> <PropertyName>id</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <!-- ============================================================================= Role Assignment View - For workspace role assignments ============================================================================= Display Priority: Workspace Name, Principal Name, Type, Role, ID Note: WorkspaceId must be added to objects for workspace name resolution --> <View> <Name>RoleAssignmentView</Name> <ViewSelectedBy> <TypeName>MicrosoftFabric.WorkspaceRoleAssignment</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader> <Label>Workspace Name</Label> <Width>25</Width> </TableColumnHeader> <TableColumnHeader> <Label>Principal</Label> <Width>30</Width> </TableColumnHeader> <TableColumnHeader> <Label>Type</Label> <Width>15</Width> </TableColumnHeader> <TableColumnHeader> <Label>Role</Label> <Width>15</Width> </TableColumnHeader> <TableColumnHeader> <Label>ID</Label> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <!-- Workspace Name - Resolve from workspaceId if present --> <TableColumnItem> <ScriptBlock> if ($_.workspaceId) { try { Resolve-FabricWorkspaceName -WorkspaceId $_.workspaceId } catch { $_.workspaceId } } else { 'N/A' } </ScriptBlock> </TableColumnItem> <!-- Principal Name (DisplayName or UserPrincipalName) --> <TableColumnItem> <ScriptBlock> if ($_.DisplayName) { $_.DisplayName } elseif ($_.UserPrincipalName) { $_.UserPrincipalName } else { $_.PrincipalId } </ScriptBlock> </TableColumnItem> <!-- Type --> <TableColumnItem> <PropertyName>Type</PropertyName> </TableColumnItem> <!-- Role --> <TableColumnItem> <PropertyName>Role</PropertyName> </TableColumnItem> <!-- ID --> <TableColumnItem> <PropertyName>ID</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <!-- ============================================================================= Job View - For job-related objects (Spark jobs, Copy jobs, etc.) ============================================================================= Display Priority: Job Name, Workspace Name, Status, Type, ID --> <View> <Name>JobView</Name> <ViewSelectedBy> <TypeName>MicrosoftFabric.SparkJob</TypeName> <TypeName>MicrosoftFabric.CopyJob</TypeName> <TypeName>MicrosoftFabric.ApacheAirflowJob</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader> <Label>Job Name</Label> <Width>30</Width> </TableColumnHeader> <TableColumnHeader> <Label>Workspace Name</Label> <Width>25</Width> </TableColumnHeader> <TableColumnHeader> <Label>Status</Label> <Width>15</Width> </TableColumnHeader> <TableColumnHeader> <Label>Type</Label> <Width>15</Width> </TableColumnHeader> <TableColumnHeader> <Label>ID</Label> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <!-- Job Name --> <TableColumnItem> <PropertyName>displayName</PropertyName> </TableColumnItem> <!-- Workspace Name - Resolve from workspaceId --> <TableColumnItem> <ScriptBlock> if ($_.workspaceId) { try { Resolve-FabricWorkspaceName -WorkspaceId $_.workspaceId } catch { $_.workspaceId } } else { 'N/A' } </ScriptBlock> </TableColumnItem> <!-- Status --> <TableColumnItem> <PropertyName>status</PropertyName> </TableColumnItem> <!-- Type --> <TableColumnItem> <PropertyName>type</PropertyName> </TableColumnItem> <!-- ID --> <TableColumnItem> <PropertyName>id</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> </ViewDefinitions> </Configuration> |