Forum Discussion
Will_Longo
Altostratus
Oct 10, 2013Creating VIPs - having problems with profiles
Hello all, im new to this community and have only been working with F5s for about 4 months. In my workplace we frequently deploy massive numbers of servers that require load balancing. Due to the inc...
Will_Longo
Altostratus
Nov 06, 2013I resolved this by providing a null profile value during vip creation and assigning profiles afterwards. Hopefully this will help someone 🙂
$vipINFILE = Import-Csv $vipCSV
foreach ($vipset in $vipINFILE | Where-object {$_.Sequence -eq $i})
{
$vipdefinition = New-Object "iControl.CommonVirtualServerDefinition"
$vipdefinition.name = $vipset.VIPName;
$vipdefinition.address = $vipset.VIPIP;
$vipdefinition.port = $vipset.VIPPort;
$vipdefinition.protocol = $vipset.Protocol;
$vipdefinitions = (, $vipdefinition);
$wildmasks = (, "255.255.255.255");
$resource = New-Object "iControl.LocalLBVirtualServerVirtualServerResource"
$resource.type = "RESOURCE_TYPE_POOL";
$resource.default_pool_name = $poolset.PoolName;
$resources = (, $resource);
$profiles = new-object "iControl.LocalLBVirtualServerVirtualServerProfile[][]" 1
(Get-F5.iControl).LocalLBVirtualServer.create($vipdefinitions,$wildmasks,$resources,$profiles)
if($vipset.snat -eq "AutoMAP"){(Get-F5.iControl).LocalLBVirtualServer.set_snat_automap((, $vipset.VIPName))}
$profileINFILE = import-csv $profileCSV
foreach ($profileset in $profileINFILE | where-object {$_.Sequence -eq $i})
{
if($profileset.http){
$vipprofilehttp = New-Object "iControl.LocalLBVirtualServerVirtualServerProfile"
$vipprofilehttp.profile_context = "PROFILE_CONTEXT_TYPE_ALL";
$vipprofilehttp.profile_name = $profileset.http;
(Get-F5.iControl).LocalLBVirtualServer.Add_profile((,$vipset.VIPName),(,$vipprofilehttp))
write-host "Added an HTTP profile"
}
if($vipset.vippersistence){
$vippersistence = New-object "iControl.LocalLBVirtualServerVirtualServerPersistence"
$vippersistence.profile_name = $vipset.vippersistence
$vippersistence.default_profile = $null
(Get-F5.iControl).LocalLBVirtualServer.Add_persistence_profile((,$vipset.VIPName),(,$vippersistence))
write-host "Added a Persistence profile"
}
if($profileset.SSLClient){
$vipprofilessl = New-Object "iControl.LocalLBVirtualServerVirtualServerProfile"
$vipprofilessl.profile_context = "PROFILE_CONTEXT_TYPE_CLIENT";
$vipprofilessl.profile_name = $profileset.SSLClient;
(Get-F5.iControl).LocalLBVirtualServer.Add_profile((,$vipset.VIPName),(,$vipprofilessl))
write-host "Added an SSL Client profile"
}
if($vipprofileoneconnect){
$vipprofileoneconnect = New-Object -TypeName iControl.LocalLBVirtualServerVirtualServerProfile;
$vipprofileoneconnect.profile_context = "PROFILE_CONTEXT_TYPE_ALL";
$vipprofileoneconnect.profile_name = $profileset.OneConnect;
(Get-F5.iControl).LocalLBVirtualServer.Add_profile((,$vipset.VIPName),(,$vipprofileoneconnect))
write-host "Added a OneConnect profile"
}
if($profileset.irulename){
$vipirule = New-Object -TypeName iControl.LocalLBVirtualServerVirtualServerRule
$vipirule.rule_name = $profileset.irulename
$vipirule.priority = $profileset.irulepriority
(Get-F5.iControl).LocalLBVirtualServer.add_rule( (,$vipset.VIPName), (,$vipirule) )
write-host "Added an iRule"
}
}
write-host $vipset.VIPName " created..."
}
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects
