public/api/New-MBSApiStorageAccountDestination.ps1

function New-MBSAPIStorageAccountDestination {
    <#
    .SYNOPSIS
    Adds an existing location on your storage account as a destination available in MBS
     
    .DESCRIPTION
    Calls the POST api/Accounts/AddDestination API to add a location (bucket etc.) that already exists on your storage as a destination in MBS. This will allow you to then target backups to this destination
     
    .PARAMETER AccountID
    AccountID for the storage account where the location you are adding is. Use Get-MBSAPIStorageAccount to find out the AccountID.
     
    .PARAMETER Destination
    Actual destination identifier on the storage(bucket name, etc.)
     
    .PARAMETER DestinationDisplayName
    A display name for your storage in MBS
     
    .PARAMETER ProfileName
    Profile name used with MSP360 PowerShell for MBS API (set via Set-MBSApiCredential)
     
    .EXAMPLE
    New-MBSApiStorageAccountDestination -AccountID 27bb3fcb-dc04-4a29-ac57-4d679809a2ba -Destination 'test-mbsapi' -DestinationDisplayName 'Test' -ProfileName ao
     
    .INPUTS
    System.Management.Automation.PSCustomObject
 
    .OUTPUTS
    String
 
    .NOTES
        Author: Andrey Oshukov
     
    .LINK
     
    #>

    
    
    [CmdletBinding()]
    param (
        [Parameter(Mandatory=$true, HelpMessage="Storage Account ID", ValueFromPipelineByPropertyName)]
        [string]$AccountID,
        [Parameter(Mandatory=$true, HelpMessage="Actual destination identifier on the storage(bucket name, etc.)", ValueFromPipelineByPropertyName)]
        [string]$Destination,
        [Parameter(Mandatory=$true, HelpMessage="Destination display name", ValueFromPipelineByPropertyName)]
        [string]$DestinationDisplayName,
        [Parameter(Mandatory=$false, HelpMessage="The profile name")]
        [string]$ProfileName
    )    
    begin {
        
    }
    process {
        $AddDestinationPost = New-Object -TypeName PSObject -property (@{
            AccountID=$AccountID
            Destination=$Destination
            DestinationDisplayName=$DestinationDisplayName
        })
        Write-Verbose -Message ("$($PSCmdlet.MyInvocation.MyCommand.Name): URL: " + ((Get-MBSAPIUrl).Accounts + "/AddDestination"))
        Write-Verbose -Message ("$($PSCmdlet.MyInvocation.MyCommand.Name): POST Request: " + ($AddDestinationPost | ConvertTo-Json))

        $DestinationID = Invoke-RestMethod -uri ((Get-MBSAPIUrl).Accounts + "/AddDestination") -body ($AddDestinationPost | ConvertTo-Json) -Headers (Get-MBSAPIHeader -ProfileName $ProfileName) -method POST -ContentType 'application/json'
        return $DestinationID
    }
    end{

    }
}