Skip to content

Commit 5063bb4

Browse files
committed
## [0.6.25] - 2025-04-29
### Added - Add support for Cloud Backup Repositories ### Changed - Bump version to 0.6.25 - Improved Infrastructure diagram - Enhance diagram generation functions ### Fixed - Resolve an issue where Backup Repositories fail to display when no SAN infrastructure is present.
1 parent 63b7988 commit 5063bb4

5 files changed

+53
-15
lines changed

CHANGELOG.md

+16
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,22 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.6.25] - 2025-04-29
9+
10+
### Added
11+
12+
- Add support for Cloud Backup Repositories
13+
14+
### Changed
15+
16+
- Bump version to 0.6.25
17+
- Improved Infrastructure diagram
18+
- Enhance diagram generation functions
19+
20+
### Fixed
21+
22+
- Resolve an issue where Backup Repositories fail to display when no SAN infrastructure is present.
23+
824
## [0.6.24] - 2025-04-18
925

1026
### Changed

Src/Private/Get-DiagBackupToRepo.ps1

+23-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ function Get-DiagBackupToRepo {
55
.DESCRIPTION
66
Build a diagram of the configuration of Veeam VBR in PDF/PNG/SVG formats using Psgraph.
77
.NOTES
8-
Version: 0.6.19
8+
Version: 0.6.25
99
Author: Jonathan Colon
1010
Twitter: @jcolonfzenpr
1111
Github: rebelinux
@@ -30,6 +30,7 @@ function Get-DiagBackupToRepo {
3030
$ObjStorage = Get-VbrBackupObjectRepoInfo
3131
$ArchiveObjStorage = Get-VbrBackupArchObjRepoInfo
3232
$NASBackupRepo = Get-VbrBackupRepoInfo | Where-Object { $_.Role -like '*Share' }
33+
$CloudBackupRepo = Get-VbrBackupRepoInfo | Where-Object { $_.Role -like 'Cloud' }
3334

3435
if ($BackupServerInfo) {
3536
if ($BackupRepo) {
@@ -134,6 +135,27 @@ function Get-DiagBackupToRepo {
134135
}
135136
}
136137

138+
if ($CloudBackupRepo) {
139+
try {
140+
141+
$CloudBackupRepoArray = (Get-DiaHTMLNodeTable -ImagesObj $Images -inputObject ($CloudBackupRepo | ForEach-Object { $_.Name.split('.')[0] }) -Align "Center" -iconType "VBR_Cloud_Repository" -columnSize 4 -IconDebug $IconDebug -MultiIcon -AditionalInfo ($CloudBackupRepo.AditionalInfo ) -fontSize 18)
142+
} catch {
143+
Write-Verbose "Error: Unable to create Cloud Backup Repositories table Objects. Disabling the section"
144+
Write-Debug "Error Message: $($_.Exception.Message)"
145+
}
146+
try {
147+
148+
$CloudBackupRepoSubgraph = (Get-DiaHTMLSubGraph -ImagesObj $Images -TableArray $CloudBackupRepoArray -Align 'Center' -IconDebug $IconDebug -Label 'Cloud Repositories' -LabelPos "top" -fontColor $Fontcolor -TableStyle "dashed,rounded" -TableBorderColor $Edgecolor -TableBorder "1" -columnSize 4 -fontSize 24)
149+
} catch {
150+
Write-Verbose "Error: Unable to create Cloud Backup Repositories Subgraph. Disabling the section"
151+
Write-Debug "Error Message: $($_.Exception.Message)"
152+
}
153+
154+
if ($CloudBackupRepoSubgraph) {
155+
$RepoSubgraphArray += $CloudBackupRepoSubgraph
156+
}
157+
}
158+
137159
if ($RepoSubgraphArray) {
138160
Node -Name MainSubGraph -Attributes @{Label = (Get-DiaHTMLSubGraph -ImagesObj $Images -TableArray $RepoSubgraphArray -Align 'Center' -IconDebug $IconDebug -Label 'Backup Repositories' -LabelPos "top" -fontColor $Fontcolor -TableStyle "dashed,rounded" -TableBorderColor $Edgecolor -TableBorder "1" -columnSize 3 -fontSize 26); shape = 'plain'; fillColor = 'transparent'; fontsize = 14; fontname = "Segoe Ui" }
139161
}

Src/Private/Get-VbrBackupRepoInfo.ps1

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ function Get-VbrBackupRepoInfo {
55
.DESCRIPTION
66
Build a diagram of the configuration of Veeam VBR in PDF/PNG/SVG formats using Psgraph.
77
.NOTES
8-
Version: 0.6.12
8+
Version: 0.6.25
99
Author: Jonathan Colon
1010
Twitter: @jcolonfzenpr
1111
Github: rebelinux
@@ -38,7 +38,7 @@ function Get-VbrBackupRepoInfo {
3838

3939
$Rows = @{}
4040

41-
if ($Role -like '*Local' -or $Role -like '*Hardened') {
41+
if ($Role -like '*Local' -or $Role -like '*Hardened' -or $Role -like 'Cloud') {
4242
$Rows.add('Server', $BackupRepo.Host.Name.Split('.')[0])
4343
$Rows.add('Path', $BackupRepo.FriendlyPath)
4444
$Rows.add('Total-Space', (ConvertTo-FileSizeString -Size $BackupRepo.GetContainer().CachedTotalSpace.InBytesAsUInt64))

Src/Private/Get-VbrInfraDiagram.ps1

+11-11
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ function Get-VbrInfraDiagram {
55
.DESCRIPTION
66
This script creates a visual representation of the Veeam Backup & Replication infrastructure configuration. The output can be generated in PDF, SVG, DOT, or PNG formats. It leverages the PSGraph module for PowerShell and Graphviz for rendering the diagrams.
77
.NOTES
8-
Version: 0.6.24
8+
Version: 0.6.25
99
Author(s): Jonathan Colon
1010
Twitter: @jcolonfzenpr
1111
GitHub: rebelinux
@@ -257,18 +257,18 @@ function Get-VbrInfraDiagram {
257257
Write-Verbose "Error: Unable to create SAN Objects. Disabling the section"
258258
Write-Debug "Error Message: $($_.Exception.Message)"
259259
}
260-
# Repositories Graphviz Cluster
261-
if ($RepositoriesInfo = Get-VbrRepositoryInfo) {
262-
try {
263-
$RepositoriesNode = Get-DiaHTMLNodeTable -ImagesObj $Images -inputObject $RepositoriesInfo.Name -Align "Center" -iconType $RepositoriesInfo.IconType -columnSize 4 -IconDebug $IconDebug -MultiIcon -AditionalInfo $RepositoriesInfo.AditionalInfo -Subgraph -SubgraphLabel "Backup Repositories" -SubgraphLabelFontsize 22 -fontSize 18 -SubgraphLabelPos top -SubgraphTableStyle "dashed,rounded" -fontColor $Fontcolor -TableBorderColor $Edgecolor -TableBorder "1" -SubgraphIconType "VBR_Repository"
264-
$OnpremStorageArray += $RepositoriesNode
265-
} catch {
266-
Write-Verbose "Error: Unable to create Repositories Objects. Disabling the section"
267-
Write-Debug "Error Message: $($_.Exception.Message)"
268-
}
260+
}
261+
# Repositories Graphviz Cluster
262+
if ($RepositoriesInfo = Get-VbrRepositoryInfo) {
263+
try {
264+
$RepositoriesNode = Get-DiaHTMLNodeTable -ImagesObj $Images -inputObject $RepositoriesInfo.Name -Align "Center" -iconType $RepositoriesInfo.IconType -columnSize 4 -IconDebug $IconDebug -MultiIcon -AditionalInfo $RepositoriesInfo.AditionalInfo -Subgraph -SubgraphLabel "Backup Repositories" -SubgraphLabelFontsize 22 -fontSize 18 -SubgraphLabelPos top -SubgraphTableStyle "dashed,rounded" -fontColor $Fontcolor -TableBorderColor $Edgecolor -TableBorder "1" -SubgraphIconType "VBR_Repository"
265+
$OnpremStorageArray += $RepositoriesNode
266+
} catch {
267+
Write-Verbose "Error: Unable to create Repositories Objects. Disabling the section"
268+
Write-Debug "Error Message: $($_.Exception.Message)"
269269
}
270-
271270
}
271+
272272
if ($OnpremStorageArray) {
273273
try {
274274
$OnpremStorageSubgraphNode = Node -Name "Repositories" -Attributes @{Label = (Get-DiaHTMLSubGraph -ImagesObj $Images -TableArray $OnpremStorageArray -Align 'Center' -IconDebug $IconDebug -IconType 'VBR_Proxy' -Label 'On-Premises Storage Infrastructure' -LabelPos "top" -fontColor $Fontcolor -TableStyle "dashed,rounded" -TableBorderColor $Edgecolor -TableBorder "1" -columnSize 1 -fontSize 24); shape = 'plain'; fillColor = 'transparent'; fontsize = 14; fontname = "Segoe Ui" }

Veeam.Diagrammer.psd1

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
RootModule = 'Veeam.Diagrammer.psm1'
1313

1414
# Version number of this module.
15-
ModuleVersion = '0.6.24'
15+
ModuleVersion = '0.6.25'
1616

1717
# Supported PSEditions
1818
# CompatiblePSEditions = @()

0 commit comments

Comments
 (0)