Private/Connections/New-DSConnectionPartial.ps1

function New-DSConnectionPartial {
    <#
    .SYNOPSIS
        Creates a new entry.
    .DESCRIPTION
        Creates a new entry using a Passthru approach that performs limited validation and offers minimal services
        in this module. The goal is to provide a entry point that will not be limited by the speed with which we
        can implement new cmdlets. It the legacy module was used, or the Python SDK, an experienced user can create
        connections using almost the same payload.
    .EXAMPLE
    
    .NOTES
    
    .LINK
    #>

        [CmdletBinding()]
        param(
            [Parameter(Mandatory)]
            [hashtable]$Connection,
            [Parameter(Mandatory)]
            [hashtable]$CredentialSegment
        )
        
        BEGIN {
            Write-Verbose '[New-DSConnection] Beginning...'

            $URI = "$Script:DSBaseURI/api/connections/partial/save"
    
            if ([string]::IsNullOrWhiteSpace($Global:DSSessionToken))
            {
                throw "Session does not seem authenticated, call New-DSSession."
            }
        }
    
        PROCESS {
            #the Set-DSVaultsContext is extremely tolerant in our current DV
# $ctx = Set-DSVaultsContext $VaultId
# $PSBoundParameters.Remove('VaultId') | out-null

            $entryDataEncrypted = Protect-ResourceToHexString ($CredentialSegment | ConvertTo-Json)

            #must be conform with ToConnectionInfoEntity (ID and SecurityGroup omitted)
            #$Connection['data'] = $entryDataEncrypted
            $Connection['data'] = ($CredentialSegment | ConvertTo-Json)

            $params = @{
                Uri = $URI
                Method = 'POST'
                LegacyResponse = $true
                Body = $Connection | ConvertTo-Json
            }

            return Invoke-DS @params
        }

        END {
            Write-Verbose '[New-DSConnection] Exit.'
        }
    }