Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Heavy Lifting
- function create-directExNet {
- #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" @@@
- #User Specfied Params
- param(
- [parameter(Mandatory = $true, HelpMessage="dvPortgroup")][alias("-dvPG","p")][ValidateNotNullOrEmpty()][string[]]$dvPG,
- [parameter(Mandatory = $true, HelpMessage="CIvCenterName")][alias("-CiVC","v")][ValidateNotNullOrEmpty()][string[]]$vCSCIName,
- [parameter(Mandatory = $true, HelpMessage="GateWayIP")][alias("-GWIP","g")][ValidateNotNullOrEmpty()][string[]]$Gateway,
- [parameter(Mandatory = $true, HelpMessage="NetMask")][alias("-NetMask","n")][ValidateNotNullOrEmpty()][string[]]$NetMask,
- [parameter(Mandatory = $true, HelpMessage="StartandEndIP")][alias("-StartandEndIP","i")][ValidateNotNullOrEmpty()][string[]]$StartandEndIP,
- [parameter(Mandatory = $true, HelpMessage="ExtNetName")][alias("-ExtNetName","e")][ValidateNotNullOrEmpty()][string[]]$ExNetName,
- [parameter(Mandatory = $true, HelpMessage="ExNetDes")][alias("-ExNetDes","d")][ValidateNotNullOrEmpty()][string[]]$ExNetDes
- )
- $vcloud = $DefaultCIServers[0].ExtensionData
- $admin = $vcloud.GetAdmin()
- $ext = $admin.GetExtension()
- $mynetwork = new-object vmware.vimautomation.cloud.views.VMWExternalNetwork
- $mynetwork.Name = $ExNetName
- $mynetwork.Description = $ExNetDes
- $vCenter = Search-Cloud VirtualCenter | Get-CIView | where {$_.name -eq "$vCSCIName"}
- $dpg = get-view -viewtype DistributedVirtualPortGroup | where {$_.name -like "$dvPG"}
- write-host "vCenter href: "$vCenter.href
- write-host "dvPG Key: " $dpg.key
- $mynetwork.VimPortGroupRef = new-object VMware.VimAutomation.Cloud.Views.VimObjectRef
- $mynetwork.VimPortGroupRef.MoRef = $dpg.key
- $mynetwork.VimPortGroupRef.VimObjectType = "DV_PORTGROUP"
- $mynetwork.VimPortGroupRef.VimServerRef = new-object VMware.VimAutomation.Cloud.Views.Reference
- $mynetwork.VimPortGroupRef.VimServerRef.href = $vCenter.href
- #$mynetwork.VimPortGroupRef.VimServerRef.type = "application/vnd.vmware.admin.vmwvirtualcenter+xml"
- $mynetwork.Configuration = new-object VMware.VimAutomation.Cloud.Views.NetworkConfiguration
- $mynetwork.Configuration.fencemode = "isolated"
- $mynetwork.Configuration.IpScopes = new-object VMware.VimAutomation.Cloud.Views.IpScopes
- $mynetwork.Configuration.IpScopes.IpScope = new-object VMware.VimAutomation.Cloud.Views.IpScope
- $mynetwork.Configuration.IpScopes.ipscope[0].Gateway = $Gateway
- $mynetwork.Configuration.IpScopes.ipscope[0].Netmask = $NetMask
- $mynetwork.Configuration.IpScopes.ipscope[0].IsInherited = "False"
- $mynetwork.Configuration.IpScopes.ipscope[0].ipranges = new-object vmware.vimautomation.cloud.views.ipranges
- $mynetwork.Configuration.Ipscopes.ipscope[0].ipranges.iprange = new-object vmware.vimautomation.cloud.views.iprange
- $mynetwork.Configuration.IpScopes.ipscope[0].IpRanges.IpRange[0].startaddress = $StartandEndIP
- $mynetwork.Configuration.IpScopes.ipscope[0].IpRanges.IpRange[0].endaddress = $StartandEndIP
- $result = $ext.CreateExternalNet($mynetwork)
- $result
- }
- #Easy Part
- #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