From 197c66ef9b77ec448d8074f6114cf7c2de30a079 Mon Sep 17 00:00:00 2001 From: Kent Sapp Date: Tue, 10 Dec 2024 20:52:33 -0500 Subject: [PATCH] Add SaaS endpoint for detailedBackupStats --- DattoAPI/DattoAPI.psd1 | Bin 14466 -> 14612 bytes .../apiCalls/ConvertTo-DattoQueryString.ps1 | 2 +- DattoAPI/Public/SaaS/Get-DattoSaaS.ps1 | 19 ++- .../SaaS/Get-DattoSaaSDetailedBackupStats.ps1 | 49 +++++++ docs/DattoAPI.md | 3 + ...4f-9e08-9eeeda6db819_en-US_HelpContent.cab | Bin 12999 -> 13328 bytes ...4f-9e08-9eeeda6db819_en-US_HelpContent.zip | Bin 13174 -> 13687 bytes docs/en-US/DattoAPI-help.xml | 125 +++++++++++++++++- docs/site/SaaS/Get-DattoSaaS.md | 35 ++++- .../SaaS/Get-DattoSaaSDetailedBackupStats.md | 65 +++++++++ 10 files changed, 288 insertions(+), 10 deletions(-) create mode 100644 DattoAPI/Public/SaaS/Get-DattoSaaSDetailedBackupStats.ps1 create mode 100644 docs/site/SaaS/Get-DattoSaaSDetailedBackupStats.md diff --git a/DattoAPI/DattoAPI.psd1 b/DattoAPI/DattoAPI.psd1 index 0855c3da105796f60ed2bb7733a7703dd1b713ca..51f879b4970af62983fb95a42546235f912afb7a 100644 GIT binary patch delta 71 zcmZoFoKmzQfOYZ}E{V+Px# delta 19 acmbPI)Ks`3fR)i;b0F(c+084Ib3_44R|gsZ diff --git a/DattoAPI/Private/apiCalls/ConvertTo-DattoQueryString.ps1 b/DattoAPI/Private/apiCalls/ConvertTo-DattoQueryString.ps1 index 1823b10..531bbb2 100644 --- a/DattoAPI/Private/apiCalls/ConvertTo-DattoQueryString.ps1 +++ b/DattoAPI/Private/apiCalls/ConvertTo-DattoQueryString.ps1 @@ -64,7 +64,7 @@ param( 'allPages', 'page', 'perPage', 'endpoint_Agents', 'endpoint_Devices', 'endpoint_byDevice', 'endpoint_byDeviceAgent', 'endpoint_byDeviceAlert', 'endpoint_byDeviceAsset', 'endpoint_byDeviceShare', 'endpoint_byDeviceVolume', - 'endpoint_Domains', 'endpoint_CustomerSeats', 'endpoint_CustomerApps', + 'endpoint_Domains', 'endpoint_CustomerSeats', 'endpoint_CustomerApps', 'endpoint_CustomerDetailedBackupStats', 'saasCustomerId','externalSubscriptionId','seatType','remoteId','actionType' $query_Parameters = [System.Web.HttpUtility]::ParseQueryString([String]::Empty) diff --git a/DattoAPI/Public/SaaS/Get-DattoSaaS.ps1 b/DattoAPI/Public/SaaS/Get-DattoSaaS.ps1 index 574dc7f..8d256de 100644 --- a/DattoAPI/Public/SaaS/Get-DattoSaaS.ps1 +++ b/DattoAPI/Public/SaaS/Get-DattoSaaS.ps1 @@ -18,12 +18,17 @@ function Get-DattoSaaS { .PARAMETER endpoint_CustomerSeats Returns SaaS protection seats for a given customer - Endpoint = /SaaS/domains/{sassCustomerId}/seats + Endpoint = /SaaS/{sassCustomerId}/seats .PARAMETER endpoint_CustomerApps Returns SaaS protection backup data for a given customer - Endpoint = /SaaS/domains/{sassCustomerId}/applications + Endpoint = /SaaS/{sassCustomerId}/applications + + .PARAMETER endpoint_CustomerDetailedBackupStats + Returns SaaS protection detailed backup stats for a given customer + + Endpoint = /SaaS/{sassCustomerId}/detailedBackupStats .PARAMETER saasCustomerId Defines the ID of the customer to get SaaS information from @@ -68,6 +73,11 @@ function Get-DattoSaaS { Returns SaaS protection backup data for a given customer + .EXAMPLE + Get-DattoSaaS -endpoint_CustomerDetailedBackupStats -saasCustomerId 123456 + + Returns SaaS protection detailed backup stats for a given customer + .NOTES N\A @@ -86,8 +96,12 @@ function Get-DattoSaaS { [Parameter(Mandatory = $true, ParameterSetName = 'index_byCustomerApps')] [switch]$endpoint_CustomerApps, + [Parameter(Mandatory = $true, ParameterSetName = 'index_byCustomerDetailedBackupStats')] + [switch]$endpoint_CustomerDetailedBackupStats, + [Parameter(Mandatory = $true, ValueFromPipeline = $true, ParameterSetName = 'index_byCustomerSeats' )] [Parameter(Mandatory = $true, ValueFromPipeline = $true, ParameterSetName = 'index_byCustomerApps' )] + [Parameter(Mandatory = $true, ValueFromPipeline = $true, ParameterSetName = 'index_byCustomerDetailedBackupStats' )] [ValidateNotNullOrEmpty()] [int]$saasCustomerId, @@ -106,6 +120,7 @@ function Get-DattoSaaS { 'index_Domains' { $resource_uri = "/saas/domains" } 'index_byCustomerSeats' { $resource_uri = "/saas/$saasCustomerId/seats" } 'index_byCustomerApps' { $resource_uri = "/saas/$saasCustomerId/applications" } + 'index_byCustomerDetailedBackupStats' { $resource_uri = "/saas/$saasCustomerId/detailedBackupStats" } } } diff --git a/DattoAPI/Public/SaaS/Get-DattoSaaSDetailedBackupStats.ps1 b/DattoAPI/Public/SaaS/Get-DattoSaaSDetailedBackupStats.ps1 new file mode 100644 index 0000000..d231dd9 --- /dev/null +++ b/DattoAPI/Public/SaaS/Get-DattoSaaSDetailedBackupStats.ps1 @@ -0,0 +1,49 @@ +function Get-DattoSaaSDetailedBackupStats { +<# + .SYNOPSIS + Get Datto SaaS protection detailed backup stats for a given customer + + .DESCRIPTION + The Get-DattoSeat cmdlet gets Datto SaaS protection detailed backup stats + for a given customer + + .PARAMETER saasCustomerId + Defines the id of the Datto SaaS organization + + .EXAMPLE + Get-DattoSaaSDetailedBackupStats -saasCustomerId "123456" + + Gets the Datto SaaS protection detailed backup stats from the define customer id + + .NOTES + N\A + + .LINK + https://celerium.github.io/Datto-PowerShellWrapper/site/SaaS/Get-DattoSaaSDetailedBackupStats.html +#> + + [CmdletBinding(DefaultParameterSetName = 'index')] + Param ( + [Parameter(Mandatory = $true, ValueFromPipeline = $true, ParameterSetName = 'index')] + [ValidateNotNullOrEmpty()] + [int]$saasCustomerId + ) + + begin { + + $resource_uri = "/saas/$saasCustomerId/detailedBackupStats" + + } + + process { + + Write-Verbose "Running the [ $($PSCmdlet.ParameterSetName) ] parameterSet" + + Set-Variable -Name 'Datto_SaaSBackupStatsParameters' -Value $PSBoundParameters -Scope Global -Force + + Invoke-DattoRequest -method GET -resource_Uri $resource_Uri -uri_Filter $PSBoundParameters + + } + + end {} +} diff --git a/docs/DattoAPI.md b/docs/DattoAPI.md index 370e66c..48d8fff 100644 --- a/docs/DattoAPI.md +++ b/docs/DattoAPI.md @@ -63,6 +63,9 @@ Gets the saved Datto configuration settings ### [Get-DattoSaaS](site/SaaS/Get-DattoSaaS.md) Gets Datto SaaS protection data +### [Get-DattoSaaSDetailedBackupStats](site/_Unique/Get-DattoSaaSDetailedBackupStats.md) +Get Datto SaaS protection detailed backup stats for a given customer + ### [Get-DattoSeat](site/SaaS/Get-DattoSeat.md) Get Datto SaaS protection seats for a given customer diff --git a/docs/cab/DattoAPI_d536355d-2a81-444f-9e08-9eeeda6db819_en-US_HelpContent.cab b/docs/cab/DattoAPI_d536355d-2a81-444f-9e08-9eeeda6db819_en-US_HelpContent.cab index 06472bff49ac2aeae0e5c6c33e10309a73259acd..f89f619ec68bc000c8dff5b0bffce83e54d0cdce 100644 GIT binary patch literal 13328 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 literal 12999 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 z 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 L_r_=ZPy2rWEjp=q diff --git a/docs/en-US/DattoAPI-help.xml b/docs/en-US/DattoAPI-help.xml index 3d2e8d9..6c1f67f 100644 --- a/docs/en-US/DattoAPI-help.xml +++ b/docs/en-US/DattoAPI-help.xml @@ -1,5 +1,75 @@  + + + Get-DattoSaaSDetailedBackupStats + Get + DattoSaaSDetailedBackupStats + + Get Datto SaaS protection detailed backup stats for a given customer + + + + The Get-DattoSeat cmdlet gets Datto SaaS protection detailed backup stats for a given customer + + + + Get-DattoSaaSDetailedBackupStats + + saasCustomerId + + Defines the id of the Datto SaaS organization + + Int32 + + Int32 + + + 0 + + + + + + saasCustomerId + + Defines the id of the Datto SaaS organization + + Int32 + + Int32 + + + 0 + + + + + + + N\A + + + + + -------------------------- EXAMPLE 1 -------------------------- + Get-DattoSaaSDetailedBackupStats -saasCustomerId "123456" + + Gets the Datto SaaS protection detailed backup stats from the define customer id + + + + + + Online Version: + https://celerium.github.io/Datto-PowerShellWrapper/site/_Unique/Get-DattoSaaSDetailedBackupStats.html + + + https://celerium.github.io/Datto-PowerShellWrapper/site/SaaS/Get-DattoSaaSDetailedBackupStats.html + https://celerium.github.io/Datto-PowerShellWrapper/site/SaaS/Get-DattoSaaSDetailedBackupStats.html + + + Set-DattoAPIKey @@ -3782,7 +3852,7 @@ endpoint_CustomerSeats Returns SaaS protection seats for a given customer - Endpoint = /SaaS/domains/{sassCustomerId}/seats + Endpoint = /SaaS/{sassCustomerId}/seats SwitchParameter @@ -3809,7 +3879,7 @@ endpoint_CustomerApps Returns SaaS protection backup data for a given customer - Endpoint = /SaaS/domains/{sassCustomerId}/applications + Endpoint = /SaaS/{sassCustomerId}/applications SwitchParameter @@ -3860,6 +3930,33 @@ 0 + + Get-DattoSaaS + + endpoint_CustomerDetailedBackupStats + + Returns SaaS protection detailed backup stats for a given customer + Endpoint = /SaaS/{sassCustomerId}/detailedBackupStats + + + SwitchParameter + + + False + + + saasCustomerId + + Defines the ID of the customer to get SaaS information from + + Int32 + + Int32 + + + 0 + + @@ -3879,7 +3976,7 @@ endpoint_CustomerSeats Returns SaaS protection seats for a given customer - Endpoint = /SaaS/domains/{sassCustomerId}/seats + Endpoint = /SaaS/{sassCustomerId}/seats SwitchParameter @@ -3892,7 +3989,20 @@ endpoint_CustomerApps Returns SaaS protection backup data for a given customer - Endpoint = /SaaS/domains/{sassCustomerId}/applications + Endpoint = /SaaS/{sassCustomerId}/applications + + SwitchParameter + + SwitchParameter + + + False + + + endpoint_CustomerDetailedBackupStats + + Returns SaaS protection detailed backup stats for a given customer + Endpoint = /SaaS/{sassCustomerId}/detailedBackupStats SwitchParameter @@ -3974,6 +4084,13 @@ Returns SaaS protection backup data for a given customer + + -------------------------- EXAMPLE 4 -------------------------- + Get-DattoSaaS -endpoint_CustomerDetailedBackupStats -saasCustomerId 123456 + + Returns SaaS protection detailed backup stats for a given customer + + diff --git a/docs/site/SaaS/Get-DattoSaaS.md b/docs/site/SaaS/Get-DattoSaaS.md index ee5c1de..60d1e2d 100644 --- a/docs/site/SaaS/Get-DattoSaaS.md +++ b/docs/site/SaaS/Get-DattoSaaS.md @@ -31,6 +31,11 @@ Get-DattoSaaS [-endpoint_CustomerApps] -saasCustomerId [-daysUntil ] ``` +### index_byCustomerDetailedBackupStats +```powershell +Get-DattoSaaS [-endpoint_CustomerDetailedBackupStats] -saasCustomerId [] +``` + ## DESCRIPTION The Get-DattoSaaS cmdlet gets Datto SaaS protection data by combing all endpoints into a single command. @@ -64,6 +69,13 @@ Get-DattoSaaS -endpoint_CustomerApps -saasCustomerId 123456 Returns SaaS protection backup data for a given customer +### EXAMPLE 4 +```powershell +Get-DattoSaaS -endpoint_CustomerDetailedBackupStats -saasCustomerId 123456 +``` + +Returns SaaS protection detailed backup stats for a given customer + ## PARAMETERS ### -endpoint_Domains @@ -86,7 +98,7 @@ Accept wildcard characters: False ### -endpoint_CustomerSeats Returns SaaS protection seats for a given customer -Endpoint = /SaaS/domains/{sassCustomerId}/seats +Endpoint = /SaaS/{sassCustomerId}/seats ```yaml Type: SwitchParameter @@ -103,7 +115,7 @@ Accept wildcard characters: False ### -endpoint_CustomerApps Returns SaaS protection backup data for a given customer -Endpoint = /SaaS/domains/{sassCustomerId}/applications +Endpoint = /SaaS/{sassCustomerId}/applications ```yaml Type: SwitchParameter @@ -117,12 +129,29 @@ Accept pipeline input: False Accept wildcard characters: False ``` +### -endpoint_CustomerDetailedBackupStats +Returns SaaS protection detailed backup stats for a given customer + +Endpoint = /SaaS/{sassCustomerId}/detailedBackupStats + +```yaml +Type: SwitchParameter +Parameter Sets: index_byCustomerDetailedBackupStats +Aliases: + +Required: True +Position: Named +Default value: False +Accept pipeline input: False +Accept wildcard characters: False +``` + ### -saasCustomerId Defines the ID of the customer to get SaaS information from ```yaml Type: Int32 -Parameter Sets: index_byCustomerSeats, index_byCustomerApps +Parameter Sets: index_byCustomerSeats, index_byCustomerApps, index_byCustomerDetailedBackupStats Aliases: Required: True diff --git a/docs/site/SaaS/Get-DattoSaaSDetailedBackupStats.md b/docs/site/SaaS/Get-DattoSaaSDetailedBackupStats.md new file mode 100644 index 0000000..bdb61c7 --- /dev/null +++ b/docs/site/SaaS/Get-DattoSaaSDetailedBackupStats.md @@ -0,0 +1,65 @@ +--- +external help file: DattoAPI-help.xml +grand_parent: _Unique +Module Name: DattoAPI +online version: https://celerium.github.io/Datto-PowerShellWrapper/site/_Unique/Get-DattoSaaSDetailedBackupStats.html +parent: Special +schema: 2.0.0 +title: Get-DattoSaaSDetailedBackupStats +--- + +# Get-DattoSaaSDetailedBackupStats + +## SYNOPSIS +Get Datto SaaS protection detailed backup stats for a given customer + +## SYNTAX + +```powershell +Get-DattoSaaSDetailedBackupStats -saasCustomerId [] +``` + +## DESCRIPTION +The Get-DattoSeat cmdlet gets Datto SaaS protection detailed backup stats +for a given customer + +## EXAMPLES + +### EXAMPLE 1 +```powershell +Get-DattoSaaSDetailedBackupStats -saasCustomerId "123456" +``` + +Gets the Datto SaaS protection detailed backup stats from the define customer id + +## PARAMETERS + +### -saasCustomerId +Defines the id of the Datto SaaS organization + +```yaml +Type: Int32 +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: 0 +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +## NOTES +N\A + +## RELATED LINKS + +[https://celerium.github.io/Datto-PowerShellWrapper/site/SaaS/Get-DattoSaaSDetailedBackupStats.html](https://celerium.github.io/Datto-PowerShellWrapper/site/SaaS/Get-DattoSaaSDetailedBackupStats.html) +