Skip to content

Commit

Permalink
Merge pull request #36 from AsBuiltReport/dev
Browse files Browse the repository at this point in the history
v0.5.0 public release
  • Loading branch information
rebelinux authored May 12, 2022
2 parents 884044b + 7e16432 commit 3cf7288
Show file tree
Hide file tree
Showing 17 changed files with 4,290 additions and 967 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/Release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
with:
# GitHub event payload
# https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#release
tweet-message: "[New Release] ${{ github.event.repository.name }} ${{ github.event.release.tag_name }}! Check out what's new! ${{ github.event.release.html_url }} #Veeam #AsBuiltReport #PowerShell #VeeamVanguard"
tweet-message: "[New Release] ${{ github.event.repository.name }} ${{ github.event.release.tag_name }}! Check out what's new! ${{ github.event.release.html_url }} #Veeam #AsBuiltReport #PowerShell #VeeamVanguard #VeeamLegend"
env:
TWITTER_CONSUMER_API_KEY: ${{ secrets.TWITTER_CONSUMER_API_KEY }}
TWITTER_CONSUMER_API_SECRET: ${{ secrets.TWITTER_CONSUMER_API_SECRET }}
Expand Down
4 changes: 2 additions & 2 deletions AsBuiltReport.Veeam.VBR.psd1
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
RootModule = 'AsBuiltReport.Veeam.VBR.psm1'

# Version number of this module.
ModuleVersion = '0.4.1'
ModuleVersion = '0.5.0'

# Supported PSEditions
# CompatiblePSEditions = @()
Expand Down Expand Up @@ -55,7 +55,7 @@ PowerShellVersion = '5.1'
RequiredModules = @(
@{
ModuleName = 'AsBuiltReport.Core';
ModuleVersion = '1.1.0'
ModuleVersion = '1.2.0'
}
)

Expand Down
7 changes: 6 additions & 1 deletion AsBuiltreport.Veeam.VBR.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,16 @@
"ONTAP": 1,
"ISILON": 1
},
"Replication": {
"FailoverPlan": 1,
"Replica": 1
},
"Jobs": {
"Backup": 1,
"Tape": 1,
"Surebackup": 1,
"Agent": 1
"Agent": 1,
"Replication": 1
}
},
"HealthCheck": {
Expand Down
21 changes: 21 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,26 @@
# :arrows_clockwise: Veeam VBR As Built Report Changelog

## [0.5.0] - 2022-05-12

### Added

- Added Replication Section @rebelinux
- Replica Information
- Added Optional InfoLevel 2 information (Adv Summary)
- Failover Plan Information
- Added Virtual Machine Boot Order reporting
- Added Replication Job Configuration information @rebelinux
- Added Optional InfoLevel 2 information (Adv Summary)
- Advanced Settings (Traffic)
- Advanced Settings (Notification)
- Advanced Settings (vSphere)
- Advanced Settings (Integration)
- Advanced Settings (Script)

### Fixed

- Fix for not connected Enterprise Manager.

## [0.4.1] - 2022-05-02

### Added
Expand Down
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,14 @@ The table below outlines the default and maximum **InfoLevel** settings for each
| Tape | 1 | 2 |
| Surebackup | 1 | 2 |
| Agent | 1 | 2 |
| Replication | 1 | 2 |

The table below outlines the default and maximum **InfoLevel** settings for each Replication section.

| Sub-Schema | Default Setting | Maximum Setting |
|--------------|:---------------:|:---------------:|
| Replica | 1 | 2 |
| Failover Plan | 1 | 1 |

### Healthcheck

Expand Down
3,229 changes: 2,291 additions & 938 deletions Samples/Sample Veeam VBR As Built Report.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions Src/Private/Get-AbrVbrBackupjob.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ function Get-AbrVbrBackupjob {
.DESCRIPTION
Documents the configuration of Veeam VBR in Word/HTML/Text formats using PScribo.
.NOTES
Version: 0.4.0
Version: 0.5.0
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
Expand All @@ -32,7 +32,7 @@ function Get-AbrVbrBackupjob {
BlankLine
$OutObj = @()
if ((Get-VBRServerSession).Server) {
$Bkjobs = Get-VBRJob -WarningAction SilentlyContinue | Where-object {$_.TypeToString -ne 'Windows Agent Backup'}
$Bkjobs = Get-VBRJob -WarningAction SilentlyContinue | Where-object {$_.TypeToString -ne 'Windows Agent Backup' -and $_.TypeToString -ne 'Hyper-V Replication' -and $_.TypeToString -ne 'VMware Replication'}
foreach ($Bkjob in $Bkjobs) {
try {
Write-PscriboMessage "Discovered $($Bkjob.Name) backup job."
Expand Down
30 changes: 15 additions & 15 deletions Src/Private/Get-AbrVbrBackupjobHyperV.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ function Get-AbrVbrBackupjobHyperV {
.DESCRIPTION
Documents the configuration of Veeam VBR in Word/HTML/Text formats using PScribo.
.NOTES
Version: 0.4.1
Version: 0.5.0
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
Expand All @@ -28,7 +28,7 @@ function Get-AbrVbrBackupjobHyperV {
try {
$Bkjobs = Get-VBRJob -WarningAction SilentlyContinue | Where-Object {$_.TypeToString -eq "Hyper-V Backup" -or $_.TypeToString -eq "Hyper-V Backup Copy"}
if (($Bkjobs).count -gt 0) {
Section -Style Heading3 'Hyper-V Backup Configuration' {
Section -Style Heading3 'Hyper-V Backup Jobs Configuration' {
Paragraph "The following section details Hyper-V backup jobs configuration."
BlankLine
$OutObj = @()
Expand Down Expand Up @@ -300,8 +300,8 @@ function Get-AbrVbrBackupjobHyperV {
Write-PscriboMessage "Discovered $($Bkjob.Name) storage options."
$inObj = [ordered] @{
'Inline Data Deduplication' = ConvertTo-TextYN $Bkjob.Options.BackupStorageOptions.EnableDeduplication
'Exclude Swap Files Block' = ConvertTo-TextYN $Bkjob.ViSourceOptions.ExcludeSwapFile
'Exclude Deleted Files Block' = ConvertTo-TextYN $Bkjob.ViSourceOptions.DirtyBlocksNullingEnabled
'Exclude Swap Files Block' = ConvertTo-TextYN $Bkjob.HvSourceOptions.ExcludeSwapFile
'Exclude Deleted Files Block' = ConvertTo-TextYN $Bkjob.HvSourceOptions.DirtyBlocksNullingEnabled
'Compression Level' = Switch ($Bkjob.Options.BackupStorageOptions.CompressionLevel) {
0 {'NONE'}
-1 {'AUTO'}
Expand Down Expand Up @@ -356,9 +356,9 @@ function Get-AbrVbrBackupjobHyperV {
'Notify On Warning' = ConvertTo-TextYN $Bkjob.Options.NotificationOptions.EmailNotifyOnWarning
'Notify On Error' = ConvertTo-TextYN $Bkjob.Options.NotificationOptions.EmailNotifyOnError
'Suppress Notification until Last Retry' = ConvertTo-TextYN $Bkjob.Options.NotificationOptions.EmailNotifyOnLastRetryOnly
'Set Results To Vm Notes' = ConvertTo-TextYN $Bkjob.Options.ViSourceOptions.SetResultsToVmNotes
'VM Attribute Note Value' = $Bkjob.Options.ViSourceOptions.VmAttributeName
'Append to Existing Attribute' = ConvertTo-TextYN $Bkjob.Options.ViSourceOptions.VmNotesAppend
'Set Results To Vm Notes' = ConvertTo-TextYN $Bkjob.Options.HvSourceOptions.SetResultsToVmNotes
'VM Attribute Note Value' = $Bkjob.Options.HvSourceOptions.VmAttributeName
'Append to Existing Attribute' = ConvertTo-TextYN $Bkjob.Options.HvSourceOptions.VmNotesAppend
}
$OutObj = [pscustomobject]$inobj

Expand All @@ -377,21 +377,21 @@ function Get-AbrVbrBackupjobHyperV {
}
}
}
if ($InfoLevel.Jobs.Backup -ge 2 -and ($Bkjob.Options.ViSourceOptions.VMToolsQuiesce -or $Bkjob.Options.ViSourceOptions.UseChangeTracking)) {
Section -Style Heading6 "Advanced Settings (vSphere)" {
if ($InfoLevel.Jobs.Backup -ge 2 -and ($Bkjob.Options.HvSourceOptions.EnableHvQuiescence -or $Bkjob.Options.HvSourceOptions.UseChangeTracking)) {
Section -Style Heading6 "Advanced Settings (Hyper-V)" {
$OutObj = @()
try {
Write-PscriboMessage "Discovered $($Bkjob.Name) vSphere options."
Write-PscriboMessage "Discovered $($Bkjob.Name) Hyper-V options."
$inObj = [ordered] @{
'Enable Hyper-V Guest Quiescence' = ConvertTo-TextYN $Bkjob.Options.ViSourceOptions.VMToolsQuiesce
'Use Change Block Tracking' = ConvertTo-TextYN $Bkjob.Options.ViSourceOptions.UseChangeTracking
'Enable CBT for all protected VMs' = ConvertTo-TextYN $Bkjob.Options.ViSourceOptions.EnableChangeTracking
'Reset CBT On each Active Full Backup' = ConvertTo-TextYN $Bkjob.Options.ViSourceOptions.ResetChangeTrackingOnActiveFull
'Enable Hyper-V Guest Quiescence' = ConvertTo-TextYN $Bkjob.Options.HvSourceOptions.EnableHvQuiescence
'Crash Consistent Backup' = ConvertTo-TextYN $Bkjob.Options.HvSourceOptions.CanDoCrashConsistent
'Use Change Block Tracking' = ConvertTo-TextYN $Bkjob.Options.HvSourceOptions.UseChangeTracking
'Volume Snapshot' = ConvertTo-TextYN $Bkjob.Options.HvSourceOptions.GroupSnapshotProcessing
}
$OutObj = [pscustomobject]$inobj

$TableParams = @{
Name = "Advanced Settings (vSphere) - $($Bkjob.Name)"
Name = "Advanced Settings (Hyper-V) - $($Bkjob.Name)"
List = $true
ColumnWidths = 40, 60
}
Expand Down
4 changes: 2 additions & 2 deletions Src/Private/Get-AbrVbrBackupjobVMware.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ function Get-AbrVbrBackupjobVMware {
.DESCRIPTION
Documents the configuration of Veeam VBR in Word/HTML/Text formats using PScribo.
.NOTES
Version: 0.4.1
Version: 0.5.0
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
Expand All @@ -28,7 +28,7 @@ function Get-AbrVbrBackupjobVMware {
try {
$Bkjobs = Get-VBRJob -WarningAction SilentlyContinue | Where-Object {$_.TypeToString -eq "VMware Backup" -or $_.TypeToString -eq "VMware Backup Copy" -or $_.TypeToString -eq "VM Copy"}
if (($Bkjobs).count -gt 0) {
Section -Style Heading3 'VMware Backup Configuration' {
Section -Style Heading3 'VMware Backup Jobs Configuration' {
Paragraph "The following section details VMware type per backup jobs configuration."
BlankLine
$OutObj = @()
Expand Down
12 changes: 9 additions & 3 deletions Src/Private/Get-AbrVbrEnterpriseManagerInfo.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ function Get-AbrVbrEnterpriseManagerInfo {
.DESCRIPTION
Documents the configuration of Veeam VBR in Word/HTML/Text formats using PScribo.
.NOTES
Version: 0.4.1
Version: 0.5.0
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
Expand Down Expand Up @@ -39,8 +39,14 @@ function Get-AbrVbrEnterpriseManagerInfo {
$EMInfo = [Veeam.Backup.Core.SBackupOptions]::GetEnterpriseServerInfo()
if ($EMInfo) {
$inObj = [ordered] @{
'Server Name' = $EMInfo.ServerName
'Server URL' = $EMInfo.URL
'Server Name' = Switch ($EMInfo.ServerName) {
$Null {'Not Connected'}
default {$EMInfo.ServerName}
}
'Server URL' = Switch ($EMInfo.URL) {
$Null {'Not Connected'}
default {$EMInfo.URL}
}
'Skip License Push' = ConvertTo-TextYN $EMInfo.SkipLicensePush
'Is Connected' = ConvertTo-TextYN $EMInfo.IsConnected
}
Expand Down
Loading

0 comments on commit 3cf7288

Please sign in to comment.