Private/RESTUtil.ps1

function Set-RESTParameters(
    [string]$Tenant,
    [string]$Server,
    [int]$SOAPPort,
    [string]$AuthenticationMode,
    [bool]$SSL,
    [string]$InstanceName,
    [string]$Domain,
    [string]$Login,
    [string]$Password,
    [string]$TenantName) {
    
    if ($Server -eq "") {
        $Server = $Env:COMPUTERNAME
    }
    
    if ($SOAPPort -eq 0) {
        $SOAPPort = 7047
    }
    
    if ($AuthenticationMode -eq "") {
        $AuthenticationMode = "Negotiate"
        
        if ($Domain -eq "") {
            $Domain = $Env:COMPUTERNAME
        }
    }
    
    if ($ClientPort -eq 0) {
        $ClientPort = -1;
    }
    
    $configuration = @{
        UId = [System.Guid]::NewGuid();
        Version = 0;        
        Server = $Server;
        Port = $SOAPPort;
        AuthenticationMode = $AuthenticationMode;
        SSL = $SSL;
        InstanceName = $InstanceName;        
        ServiceDomain = $Domain;
        ServiceLogin = $Login;
        UnencryptedServicePassword = $Password;
        SynchronizerTimerStep = 3000;
        MapOperationsOnIgnoredResourcesPS = $true;
        KeepAlive = $true;
        RetryInitRatio = 5;
        TenantName = $TenantName;
        WebServerName = "";
        WebSitePort = 8080;
        LastModificationDate = [System.DateTime]::UtcNow;
    }
    
    Write-RESTParameters $Tenant $configuration
}

function Write-RESTParameters($Tenant,$configuration) {
    $data = $configuration | ConvertTo-Json

    $storePath = Get-AdapterConfigPathFromTenant $Tenant
    if (!(Test-Path $storePath)) {
        md $storePath | Out-Null
    }
    
    $storePath = $storePath + "REST.json"
    [System.IO.File]::WriteAllText($storePath, $data)
    Write-Verbose "REST configuration stored in $storePath"
}