Write-HTElasticDocument.ps1

function Write-HTElasticDocument {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory=$true)]
        [string]$ElasticUri,

        [Parameter(Mandatory=$true)]
        [string]$Index,

        [Parameter(Mandatory=$true)]
        [string]$Type,

        [Parameter(Mandatory=$true)]
        [string]$Document,

        [Parameter(Mandatory=$true)]
        [string]$ElasticUser,

        [Parameter(Mandatory=$true)]
        [string]$ElasticUserp
        
    )

    process {
        $es_username = $ElasticUser
        $es_password = $ElasticUserp
        $es_uri =  "$ElasticUri/$Index/$Type"

        $es_securecred = ConvertTo-SecureString $es_password -AsPlainText -Force

        $es_creds = New-Object -TypeName 'System.Management.Automation.PSCredential' -ArgumentList $es_username, $es_securecred


        $param = @{
            'Uri' = $es_uri;
            'Method' = 'POST';
            'Credential' = $es_creds;
            'Body' = $Document
            }

        $Result = Invoke-WebRequest @param

        Write-Output $Result.Content

    }
}