$inputCSV = "C:\path\ltm_input.csv"
$outputFile = "C:\path\ltm_output.txt"
$i=1
Import-Csv $inputCSV | ForEach-Object {
$policy = $_.policy
if ($i -eq 1)
{
Add-Content -PassThru $outputFile -Value "modify ltm policy $policy create-draft"
}
$i++
}
Import-Csv $inputCSV | ForEach-Object {
$vipportno = $_.vipportno
$poolportno1 = $_.poolportno1
$poolportno2 = $_.poolportno2
$poolportno3 = $_.poolportno3
$appname = $_.appname
$nodeip1 = $_.nodeip1
$nodeip2 = $_.nodeip2
$nodeip3 = $_.nodeip3
$vipip = $_.vipip
$poolmember1 = $_.nodeip1 + ":"+ $_.poolportno1
$poolmember2 = $_.nodeip2 + ":"+ $_.poolportno2
$poolmember3 = $_.nodeip3 + ":"+ $_.poolportno3
$fullappname = $_.vipip + ":" + $_.vipportno
$vsname = $_.appname + "-" + $_.vipportno
$url = $_.url
$monitor = $_.monitor
$persistance = $_.persistance
$policy = $_.policy
Add-Content -Path $outputFile -Value "create ltm node $nodeip1 fqdn { autopopulate enabled interval ttl name $nodeip1.company.com }"
Add-Content -Path $outputFile -Value "create ltm node $nodeip2 fqdn { autopopulate enabled interval ttl name $nodeip2.company.com }"
Add-Content -Path $outputFile -Value "create ltm node $nodeip3 fqdn { autopopulate enabled interval ttl name $nodeip3.company.com }"
Add-Content -Path $outputFile -Value "create ltm pool pl-$appname members add { $poolmember1 $poolmember2 $poolmember3 } monitor $monitor"
Add-Content -Path $outputFile -Value "create ltm virtual vs-$vsname destination $fullappname profiles add { wilcard-company company-program-http serverssl-insecure-compatible } pool pl-$appname description $url source-address-translation { pool Internal_SNAT } translate-address enabled vlans-enabled vlans add { External } persist replace-all-with { $persistance } source-address-translation { type snat }"
Add-Content -Path $outputFile -Value "modify ltm policy /Common/Drafts/$policy rules add { rl-$appname { actions add { 0 { forward select virtual /Common/vs-$vsname } } conditions add { 0 { http-host host values {$url} } } description $url } }"
}
Add-Content -PassThru $outputFile -Value "publish ltm policy /Common/Drafts/$policy"
Add-Content -PassThru $outputFile -Value "save sys config"
create a csv file named ltm-input.csv with columns as per the variables called
$outputFile = "C:\path\ltm_output.txt"
$i=1
Import-Csv $inputCSV | ForEach-Object {
$policy = $_.policy
if ($i -eq 1)
{
Add-Content -PassThru $outputFile -Value "modify ltm policy $policy create-draft"
}
$i++
}
Import-Csv $inputCSV | ForEach-Object {
$vipportno = $_.vipportno
$poolportno1 = $_.poolportno1
$poolportno2 = $_.poolportno2
$poolportno3 = $_.poolportno3
$appname = $_.appname
$nodeip1 = $_.nodeip1
$nodeip2 = $_.nodeip2
$nodeip3 = $_.nodeip3
$vipip = $_.vipip
$poolmember1 = $_.nodeip1 + ":"+ $_.poolportno1
$poolmember2 = $_.nodeip2 + ":"+ $_.poolportno2
$poolmember3 = $_.nodeip3 + ":"+ $_.poolportno3
$fullappname = $_.vipip + ":" + $_.vipportno
$vsname = $_.appname + "-" + $_.vipportno
$url = $_.url
$monitor = $_.monitor
$persistance = $_.persistance
$policy = $_.policy
Add-Content -Path $outputFile -Value "create ltm node $nodeip1 fqdn { autopopulate enabled interval ttl name $nodeip1.company.com }"
Add-Content -Path $outputFile -Value "create ltm node $nodeip2 fqdn { autopopulate enabled interval ttl name $nodeip2.company.com }"
Add-Content -Path $outputFile -Value "create ltm node $nodeip3 fqdn { autopopulate enabled interval ttl name $nodeip3.company.com }"
Add-Content -Path $outputFile -Value "create ltm pool pl-$appname members add { $poolmember1 $poolmember2 $poolmember3 } monitor $monitor"
Add-Content -Path $outputFile -Value "create ltm virtual vs-$vsname destination $fullappname profiles add { wilcard-company company-program-http serverssl-insecure-compatible } pool pl-$appname description $url source-address-translation { pool Internal_SNAT } translate-address enabled vlans-enabled vlans add { External } persist replace-all-with { $persistance } source-address-translation { type snat }"
Add-Content -Path $outputFile -Value "modify ltm policy /Common/Drafts/$policy rules add { rl-$appname { actions add { 0 { forward select virtual /Common/vs-$vsname } } conditions add { 0 { http-host host values {$url} } } description $url } }"
}
Add-Content -PassThru $outputFile -Value "publish ltm policy /Common/Drafts/$policy"
Add-Content -PassThru $outputFile -Value "save sys config"
create a csv file named ltm-input.csv with columns as per the variables called
|
No comments:
Post a Comment