Advertisement
Guest User

Untitled

a guest
Mar 30th, 2017
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #Heavy Lifting
  2. function create-directExNet {
  3. #Example @@@ create-directExNet -p "VLAN_XXXX-DEADNET" -v "Houston Data Center" -g "192.168.3.1" -n "255.255.255.0" -i "192.168.3.254" -e "__HOU-DEADNET-BKUPRSTR" -d "No Uplink" @@@
  4.  
  5. #User Specfied Params
  6. param(
  7. [parameter(Mandatory = $true, HelpMessage="dvPortgroup")][alias("-dvPG","p")][ValidateNotNullOrEmpty()][string[]]$dvPG,
  8. [parameter(Mandatory = $true, HelpMessage="CIvCenterName")][alias("-CiVC","v")][ValidateNotNullOrEmpty()][string[]]$vCSCIName,
  9. [parameter(Mandatory = $true, HelpMessage="GateWayIP")][alias("-GWIP","g")][ValidateNotNullOrEmpty()][string[]]$Gateway,
  10. [parameter(Mandatory = $true, HelpMessage="NetMask")][alias("-NetMask","n")][ValidateNotNullOrEmpty()][string[]]$NetMask,
  11. [parameter(Mandatory = $true, HelpMessage="StartandEndIP")][alias("-StartandEndIP","i")][ValidateNotNullOrEmpty()][string[]]$StartandEndIP,
  12. [parameter(Mandatory = $true, HelpMessage="ExtNetName")][alias("-ExtNetName","e")][ValidateNotNullOrEmpty()][string[]]$ExNetName,
  13. [parameter(Mandatory = $true, HelpMessage="ExNetDes")][alias("-ExNetDes","d")][ValidateNotNullOrEmpty()][string[]]$ExNetDes
  14. )
  15.  
  16. $vcloud = $DefaultCIServers[0].ExtensionData
  17. $admin = $vcloud.GetAdmin()
  18. $ext = $admin.GetExtension()
  19.  
  20. $mynetwork = new-object vmware.vimautomation.cloud.views.VMWExternalNetwork
  21. $mynetwork.Name = $ExNetName
  22. $mynetwork.Description = $ExNetDes
  23.  
  24. $vCenter = Search-Cloud VirtualCenter | Get-CIView | where {$_.name -eq "$vCSCIName"}
  25. $dpg = get-view -viewtype DistributedVirtualPortGroup | where {$_.name -like "$dvPG"}
  26.  
  27. write-host "vCenter href: "$vCenter.href
  28. write-host "dvPG Key: " $dpg.key
  29.  
  30. $mynetwork.VimPortGroupRef = new-object VMware.VimAutomation.Cloud.Views.VimObjectRef
  31.  
  32. $mynetwork.VimPortGroupRef.MoRef = $dpg.key
  33. $mynetwork.VimPortGroupRef.VimObjectType = "DV_PORTGROUP"
  34.  
  35. $mynetwork.VimPortGroupRef.VimServerRef  = new-object VMware.VimAutomation.Cloud.Views.Reference
  36. $mynetwork.VimPortGroupRef.VimServerRef.href = $vCenter.href
  37. #$mynetwork.VimPortGroupRef.VimServerRef.type = "application/vnd.vmware.admin.vmwvirtualcenter+xml"
  38.  
  39. $mynetwork.Configuration  = new-object VMware.VimAutomation.Cloud.Views.NetworkConfiguration
  40. $mynetwork.Configuration.fencemode = "isolated"
  41.  
  42. $mynetwork.Configuration.IpScopes  = new-object VMware.VimAutomation.Cloud.Views.IpScopes
  43. $mynetwork.Configuration.IpScopes.IpScope  = new-object VMware.VimAutomation.Cloud.Views.IpScope
  44. $mynetwork.Configuration.IpScopes.ipscope[0].Gateway = $Gateway
  45. $mynetwork.Configuration.IpScopes.ipscope[0].Netmask = $NetMask
  46. $mynetwork.Configuration.IpScopes.ipscope[0].IsInherited = "False"
  47.  
  48. $mynetwork.Configuration.IpScopes.ipscope[0].ipranges = new-object vmware.vimautomation.cloud.views.ipranges
  49. $mynetwork.Configuration.Ipscopes.ipscope[0].ipranges.iprange = new-object vmware.vimautomation.cloud.views.iprange
  50. $mynetwork.Configuration.IpScopes.ipscope[0].IpRanges.IpRange[0].startaddress = $StartandEndIP
  51. $mynetwork.Configuration.IpScopes.ipscope[0].IpRanges.IpRange[0].endaddress = $StartandEndIP
  52.  
  53. $result = $ext.CreateExternalNet($mynetwork)
  54. $result
  55. }
  56.  
  57. #Easy Part
  58. #create-directExNet -p "VLAN_XXXX-DEADNET" -v "Houston Data Center" -g "10.150.150.1" -n "255.255.255.0" -i "10.150.150.254" -e "__HOU-DEADNET-BKUPRSTR" -d "No Uplink"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement