Merge pull request #5 from vmware/master

Update fork
This commit is contained in:
Kyle Ruddy
2019-11-18 19:06:54 -05:00
committed by GitHub
4 changed files with 111 additions and 12 deletions

View File

@@ -152,6 +152,8 @@ Function New-NSXTSegment {
This cmdlet creates a new NSX-T Segment (Logical Networks)
.EXAMPLE
New-NSXTSegment -Name "sddc-cgw-network-4" -Gateway "192.168.4.1/24" -DHCP -DHCPRange "192.168.4.2-192.168.4.254"
.EXAMPLE
New-NSXTSegment -Name "sddc-cgw-network-4" -Gateway "192.168.4.1/24" -DHCP -DHCPRange "192.168.4.2-192.168.4.254" -DomainName 'vmc.local'
.EXAMPLE
New-NSXTSegment -Name "sddc-cgw-network-5" -Gateway "192.168.5.1/24"
#>
@@ -159,6 +161,7 @@ Function New-NSXTSegment {
[Parameter(Mandatory=$True)]$Name,
[Parameter(Mandatory=$True)]$Gateway,
[Parameter(Mandatory=$False)]$DHCPRange,
[Parameter(Mandatory=$False)]$DomainName,
[Switch]$DHCP,
[Switch]$Troubleshoot
)
@@ -179,6 +182,11 @@ Function New-NSXTSegment {
display_name = $Name;
subnets = @($subnets)
}
if($DomainName) {
$payload.domain_name = $DomainName
}
$body = $payload | ConvertTo-Json -depth 4
$method = "PUT"
@@ -469,7 +477,7 @@ Function New-NSXTFirewall {
[Parameter(Mandatory=$False)]$SourceGroup,
[Parameter(Mandatory=$False)]$DestinationGroup,
[Parameter(Mandatory=$True)]$Service,
[Parameter(Mandatory=$True)][ValidateSet("ALLOW","DENY")]$Action,
[Parameter(Mandatory=$True)][ValidateSet("ALLOW","DROP")]$Action,
[Parameter(Mandatory=$false)]$InfraScope,
[Parameter(Mandatory=$false)]$SourceInfraGroup,
[Parameter(Mandatory=$false)]$DestinationInfraGroup,
@@ -746,18 +754,46 @@ Function New-NSXTGroup {
This cmdlet creates a new NSX-T Firewall Rule on MGW or CGW
.EXAMPLE
New-NSXTGroup -GatewayType MGW -Name Foo -IPAddress @("172.31.0.0/24")
.EXAMPLE
New-NSXTGroup -GatewayType CGW -Name Foo -Tag Bar
.EXAMPLE
New-NSXTGroup -GatewayType CGW -Name Foo -VmName Bar -Operator CONTAINS
.EXAMPLE
New-NSXTGroup -GatewayType CGW -Name Foo -VmName Bar -Operator STARTSWITH
#>
[CmdletBinding(DefaultParameterSetName = 'IPAddress')]
Param (
[Parameter(Mandatory=$True)]$Name,
[Parameter(Mandatory=$true)][ValidateSet("MGW","CGW")][String]$GatewayType,
[Parameter(Mandatory=$True)][String[]]$IPAddress,
[Parameter(Mandatory=$true, ParameterSetName='IPAddress')][String[]]$IPAddress,
[Parameter(Mandatory=$true, ParameterSetName='Tag')][String]$Tag,
[Parameter(Mandatory=$true, ParameterSetName='VmName')][String]$VmName,
[Parameter(Mandatory=$true, ParameterSetName='VmName')][ValidateSet('CONTAINS','STARTSWITH')][String]$Operator,
[Switch]$Troubleshoot
)
If (-Not $global:nsxtProxyConnection) { Write-error "No NSX-T Proxy Connection found, please use Connect-NSXTProxy" } Else {
$expression = @{
resource_type = "IPAddressExpression";
ip_addresses = $IPAddress;
if ($PSCmdlet.ParameterSetName -eq 'Tag') {
$expression = @{
resource_type = 'Condition'
member_type = 'VirtualMachine'
value = $Tag
key = 'Tag'
operator = 'EQUALS'
}
} elseif ($PSCmdlet.ParameterSetName -eq 'VmName') {
$expression = @{
resource_type = 'Condition'
member_type = 'VirtualMachine'
value = $VmName
key = 'Name'
operator = $Operator.ToUpper()
}
} else {
$expression = @{
resource_type = "IPAddressExpression";
ip_addresses = $IPAddress;
}
}
$payload = @{