Create Add-ZertoPeerSite and tests

This commit is contained in:
Wes Carroll
2019-02-24 21:26:40 -05:00
parent af86d6ddae
commit 613c8550fe
2 changed files with 51 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
$moduleFileName = "ZertoApiWrapper.psm1"
$filePath = (Split-Path -Parent $MyInvocation.MyCommand.Path) -replace 'Tests', 'ZertoApiWrapper'
$fileName = (Split-Path -Leaf $MyInvocation.MyCommand.Path ) -replace '.Tests.', '.'
$modulePath = $filePath -replace "Public", ""
Import-Module $modulePath\$moduleFileName -Force
$userName = "zerto\build"
$password = ConvertTo-SecureString -String "ZertoBuild" -AsPlainText -Force
$credential = New-Object -TypeName System.Management.Automation.PSCredential($userName, $password)
# $credential = Import-Clixml -Path C:\ZertoScripts\Creds.xml
$zertoServer = "192.168.1.100"
$zertoPort = "7669"
Describe "Add-ZertoPeerSite" {
it "file should exist" {
"$filePath\$fileName" | should exist
}
it "module should have a function called Add-ZertoPeerSite" {
get-command Add-ZertoPeerSite | should be $true
}
}
@@ -0,0 +1,29 @@
function Add-ZertoPeerSite {
[cmdletbinding( SupportsShouldProcess = $true )]
param(
[parameter(
Mandatory = $true,
HelpMessage = "Target Hostname or IP address to pair the localsite to."
)]
[string]$targetHost,
[Parameter(
HelpMessage = "Target communication port. Default is 9081"
)]
[int]$targetPort = 9081
)
begin {
$baseUri = "peersites"
$body = @{"HostName" = $targetHost; "Port" = $targetPort}
}
process {
if ($PSCmdlet.ShouldProcess("Pairing with Site $targetHost")) {
Invoke-ZertoRestRequest -uri $baseUri -body $($body | ConvertTo-Json) -method "POST"
}
}
end {
# Nothing to do
}
}