diff --git a/src/Network/Network/Az.Network.psd1 b/src/Network/Network/Az.Network.psd1 index 1d544d7d1a2a..df093bfe9fba 100644 --- a/src/Network/Network/Az.Network.psd1 +++ b/src/Network/Network/Az.Network.psd1 @@ -360,6 +360,7 @@ CmdletsToExport = 'Add-AzApplicationGatewayAuthenticationCertificate', 'Remove-AzDdosProtectionPlan', 'New-AzNetworkWatcherProtocolConfiguration', 'Add-AzExpressRouteCircuitConnectionConfig', + 'Set-AzExpressRouteCircuitConnectionConfig', 'Get-AzExpressRouteCircuitConnectionConfig', 'Remove-AzExpressRouteCircuitConnectionConfig', 'New-AzServiceEndpointPolicy', 'Remove-AzServiceEndpointPolicy', diff --git a/src/Network/Network/ChangeLog.md b/src/Network/Network/ChangeLog.md index fbd092b96b1d..b4bf7f710fe7 100644 --- a/src/Network/Network/ChangeLog.md +++ b/src/Network/Network/ChangeLog.md @@ -19,6 +19,21 @@ ---> ## Upcoming Release +* Add Support for IPv6 in ExpressRouteCircuitConnectionConfig (Global Reach) + - Added Cmdlet + - Set-AzExpressRouteCircuitConnectionConfig + - allows setting of all the existing property including the IPv6CircuitConnectionProperties + -Updated Cmdlet + - Add-AzExpressRouteCircuitConnectionConfig + - Added another optional parameter AddressPrefixType to specify the address family of address prefix +* New example added to Set-AzNetworkWatcherConfigFlowLog.md to demonstrate Traffic Analytics disable scenario. +* Corrected Get-AzNetworkSecurityGroup examples to show examples for NSG's instead of network interfaces. +* Fixed typo in New-AzureRmVpnSite command that was preventing resource id completer from completing a parameter. +* Fixed FilterData example in Start-AzVirtualNetworkGatewayConnectionPacketCapture.md and Start-AzVirtualnetworkGatewayPacketCapture.md. +* Added Packet Capture example for capture all inner and outer packets in Start-AzVirtualNetworkGatewayConnectionPacketCapture.md and Start-AzVirtualnetworkGatewayPacketCapture.md. + +## Version 2.2.1 +* Upgrade dependancy of Microsoft.Azure.Management.Sql from 1.36-preview to 1.37-preview ## Version 2.2.0 * Update references in .psd1 to use relative path diff --git a/src/Network/Network/Common/NetworkResourceManagerProfile.cs b/src/Network/Network/Common/NetworkResourceManagerProfile.cs index f4327a0d538f..f340ee698e61 100644 --- a/src/Network/Network/Common/NetworkResourceManagerProfile.cs +++ b/src/Network/Network/Common/NetworkResourceManagerProfile.cs @@ -747,6 +747,7 @@ private static void Initialize() cfg.CreateMap(); cfg.CreateMap(); cfg.CreateMap(); + cfg.CreateMap(); // MNM to CNM cfg.CreateMap(); @@ -759,6 +760,7 @@ private static void Initialize() cfg.CreateMap(); cfg.CreateMap(); cfg.CreateMap(); + cfg.CreateMap(); // ExpressRouteCircuitPeering // CNM to MNM @@ -774,10 +776,10 @@ private static void Initialize() // Express Route Circuit Connection // CNM to MNM cfg.CreateMap(); - + // MNM to CNM cfg.CreateMap(); - + // Peer Express Route Circuit Connection // CNM to MNM cfg.CreateMap(); diff --git a/src/Network/Network/ExpressRouteCircuit/Peering/Connection/AddAzureExpressRouteCircuitConnectionConfigCommand.cs b/src/Network/Network/ExpressRouteCircuit/Peering/Connection/AddAzureExpressRouteCircuitConnectionConfigCommand.cs index 7d9902eebe28..74c2f1004e2f 100644 --- a/src/Network/Network/ExpressRouteCircuit/Peering/Connection/AddAzureExpressRouteCircuitConnectionConfigCommand.cs +++ b/src/Network/Network/ExpressRouteCircuit/Peering/Connection/AddAzureExpressRouteCircuitConnectionConfigCommand.cs @@ -43,11 +43,6 @@ public override void Execute() { base.Execute(); - var circuitconnection = new PSExpressRouteCircuitConnection(); - - circuitconnection.Name = this.Name; - circuitconnection.AddressPrefix = this.AddressPrefix; - var peering = this.ExpressRouteCircuit.Peerings.SingleOrDefault( resource => @@ -58,6 +53,19 @@ public override void Execute() throw new ArgumentException("Private Peering needs to be configured on the Express Route Circuit"); } + var circuitconnection = peering.Connections.SingleOrDefault( + resource => + string.Equals(resource.Name, Name, System.StringComparison.CurrentCultureIgnoreCase)); + + if (circuitconnection != null) + { + throw new ArgumentException(string.Format("Circuit Connection {0} is already added ", Name)); + } + + circuitconnection = new PSExpressRouteCircuitConnection(); + + circuitconnection.Name = this.Name; + circuitconnection.ExpressRouteCircuitPeering = new PSResourceId(); circuitconnection.ExpressRouteCircuitPeering.Id = peering.Id; @@ -69,6 +77,19 @@ public override void Execute() circuitconnection.AuthorizationKey = this.AuthorizationKey; } + if (this.AddressPrefixType == IPv6) + { + // Create new PSExpressRouteIPv6AddressPrefix() + var expressRouteIPv6AddressPrefix = new PSExpressRouteCircuitConnectionIPv6ConnectionConfig(); + expressRouteIPv6AddressPrefix.AddressPrefix = AddressPrefix; + circuitconnection.IPv6CircuitConnectionConfig = expressRouteIPv6AddressPrefix; + } + else + { + // For IPv4 + circuitconnection.AddressPrefix = this.AddressPrefix; + } + peering.Connections.Add(circuitconnection); WriteObject(this.ExpressRouteCircuit); diff --git a/src/Network/Network/ExpressRouteCircuit/Peering/Connection/AzureExpressRouteCircuitConnectionConfigBase.cs b/src/Network/Network/ExpressRouteCircuit/Peering/Connection/AzureExpressRouteCircuitConnectionConfigBase.cs index b4bee10db17c..22beb3b487d8 100644 --- a/src/Network/Network/ExpressRouteCircuit/Peering/Connection/AzureExpressRouteCircuitConnectionConfigBase.cs +++ b/src/Network/Network/ExpressRouteCircuit/Peering/Connection/AzureExpressRouteCircuitConnectionConfigBase.cs @@ -46,6 +46,15 @@ public class AzureExpressRouteCircuitConnectionConfigBase : NetworkBaseCmdlet [ValidateNotNullOrEmpty] public string AddressPrefix { get; set; } + [Parameter( + Mandatory = false, + HelpMessage = "Specify address family of the configured AddressPrefix. Valid values [IPv4|IPv6]")] + [ValidateSet( + IPv4, + IPv6, + IgnoreCase = true)] + public string AddressPrefixType { get; set; } + [Parameter( Mandatory = false, HelpMessage = "Authorization Key to peer to circuit in another subscription")] diff --git a/src/Network/Network/ExpressRouteCircuit/Peering/Connection/SetAzureExpressRouteCircuitConnectionConfigCommand.cs b/src/Network/Network/ExpressRouteCircuit/Peering/Connection/SetAzureExpressRouteCircuitConnectionConfigCommand.cs new file mode 100644 index 000000000000..f06636343f0d --- /dev/null +++ b/src/Network/Network/ExpressRouteCircuit/Peering/Connection/SetAzureExpressRouteCircuitConnectionConfigCommand.cs @@ -0,0 +1,104 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using Microsoft.Azure.Commands.Network.Models; +using Microsoft.WindowsAzure.Commands.Common.CustomAttributes; +using System; +using System.Linq; +using System.Management.Automation; + +namespace Microsoft.Azure.Commands.Network { + [CmdletOutputBreakingChange(typeof(PSExpressRouteCircuit), DeprecatedOutputProperties = new[] { "AllowGlobalReach" })] + [Cmdlet("Set", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "ExpressRouteCircuitConnectionConfig", DefaultParameterSetName = "SetByResource", SupportsShouldProcess = true), OutputType(typeof(PSExpressRouteCircuit))] + public class SetAzureExpressRouteCircuitConnectionConfigCommand : AzureExpressRouteCircuitConnectionConfigBase + { + [Parameter( + Position = 0, + Mandatory = true, + HelpMessage = "The name of the Circuit Connection")] + [ValidateNotNullOrEmpty] + public override string Name { get; set; } + + [Parameter( + Position = 1, + Mandatory = true, + ValueFromPipeline = true, + HelpMessage = "Express Route Circuit Peering initiating connection")] + [ValidateNotNullOrEmpty] + public PSExpressRouteCircuit ExpressRouteCircuit { get; set; } + + public override void Execute() + { + base.Execute(); + + var peering = this.ExpressRouteCircuit.Peerings.SingleOrDefault( + resource => + string.Equals(resource.Name, "AzurePrivatePeering", System.StringComparison.CurrentCultureIgnoreCase)); + + if (peering == null) + { + throw new ArgumentException("Private Peering needs to be configured on the Express Route Circuit"); + } + + var circuitconnection = peering.Connections.SingleOrDefault( + resource => + string.Equals(resource.Name, Name, StringComparison.CurrentCultureIgnoreCase)); + + if (null == circuitconnection) + { + throw new ArgumentException(string.Format("Circuit Connection with Name {0} was not added to the private peering", Name)); + } + + circuitconnection.Name = this.Name; + + if (null != peering.Id) + { + circuitconnection.ExpressRouteCircuitPeering.Id = peering.Id; + } + + if (null != this.PeerExpressRouteCircuitPeering) + { + circuitconnection.PeerExpressRouteCircuitPeering.Id = this.PeerExpressRouteCircuitPeering; + } + + if (!string.IsNullOrWhiteSpace(this.AuthorizationKey)) + { + circuitconnection.AuthorizationKey = this.AuthorizationKey; + } + + if (this.AddressPrefix != null) + { + if (this.AddressPrefixType == IPv6) + { + if (circuitconnection.IPv6CircuitConnectionConfig != null) + { + circuitconnection.IPv6CircuitConnectionConfig.AddressPrefix = this.AddressPrefix; + } + else + { + var ipv6AddressPrefix = new PSExpressRouteCircuitConnectionIPv6ConnectionConfig(); + ipv6AddressPrefix.AddressPrefix = this.AddressPrefix; + circuitconnection.IPv6CircuitConnectionConfig = ipv6AddressPrefix; + } + } + else + { + circuitconnection.AddressPrefix = this.AddressPrefix; + } + } + + WriteObject(this.ExpressRouteCircuit); + } // end of Execute() + } +} diff --git a/src/Network/Network/Generated/Models/PSExpressRouteCircuitConnection.cs b/src/Network/Network/Generated/Models/PSExpressRouteCircuitConnection.cs index 48d6988f93d2..6676d8fc51f0 100644 --- a/src/Network/Network/Generated/Models/PSExpressRouteCircuitConnection.cs +++ b/src/Network/Network/Generated/Models/PSExpressRouteCircuitConnection.cs @@ -48,6 +48,9 @@ public partial class PSExpressRouteCircuitConnection : PSChildResource [JsonProperty(Order = 1)] public PSResourceId PeerExpressRouteCircuitPeering { get; set; } + [JsonProperty(Order = 1)] + public PSExpressRouteCircuitConnectionIPv6ConnectionConfig IPv6CircuitConnectionConfig { get; set; } + [JsonIgnore] public string ExpressRouteCircuitPeeringText { @@ -59,5 +62,11 @@ public string PeerExpressRouteCircuitPeeringText { get { return JsonConvert.SerializeObject(PeerExpressRouteCircuitPeering, Formatting.Indented, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore }); } } + + [JsonIgnore] + public string IPv6CircuitConnectionConfigText + { + get { return JsonConvert.SerializeObject(IPv6CircuitConnectionConfig, Formatting.Indented, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore }); } + } } } diff --git a/src/Network/Network/Models/PSExpressRouteCircuitConnectionIPv6ConnectionConfig.cs b/src/Network/Network/Models/PSExpressRouteCircuitConnectionIPv6ConnectionConfig.cs new file mode 100644 index 000000000000..d65caddb4506 --- /dev/null +++ b/src/Network/Network/Models/PSExpressRouteCircuitConnectionIPv6ConnectionConfig.cs @@ -0,0 +1,34 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +namespace Microsoft.Azure.Commands.Network.Models +{ + using Microsoft.Azure.Management.Network.Models; + + using Newtonsoft.Json; + using WindowsAzure.Commands.Common.Attributes; + + public class PSExpressRouteCircuitConnectionIPv6ConnectionConfig + { + [JsonProperty(Order = 1)] + [Ps1Xml(Target = ViewControl.Table)] + public string AddressPrefix { get; set; } + + [JsonProperty(Order = 1)] + [Ps1Xml(Target = ViewControl.Table)] + public string CircuitConnectionStatus { get; set; } + + } +} diff --git a/src/Network/Network/Network.csproj b/src/Network/Network/Network.csproj index 0fd20539e17d..81a6dd752b4f 100644 --- a/src/Network/Network/Network.csproj +++ b/src/Network/Network/Network.csproj @@ -1,4 +1,4 @@ - + Network @@ -8,6 +8,8 @@ $(LegacyAssemblyPrefix)$(PsModuleName) + + diff --git a/src/Network/Network/Network.format.ps1xml b/src/Network/Network/Network.format.ps1xml index c2ed916947d9..0dd194b8c1da 100644 --- a/src/Network/Network/Network.format.ps1xml +++ b/src/Network/Network/Network.format.ps1xml @@ -2889,6 +2889,32 @@ PeerExpressRouteCircuitPeering + + + IPv6CircuitConnectionConfigText + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuitConnectionIPv6Prefix + + Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuitConnectionIPv6Prefix + + + + + + + + AddressPrefix + + + + CircuitConnectionStatus + diff --git a/src/Network/Network/help/Add-AzExpressRouteCircuitConnectionConfig.md b/src/Network/Network/help/Add-AzExpressRouteCircuitConnectionConfig.md index 2414b6095159..b3ee631aeaa3 100644 --- a/src/Network/Network/help/Add-AzExpressRouteCircuitConnectionConfig.md +++ b/src/Network/Network/help/Add-AzExpressRouteCircuitConnectionConfig.md @@ -16,21 +16,21 @@ Adds a circuit connection configuration to Private Peering of an Express Route C ### SetByResource (Default) ``` Add-AzExpressRouteCircuitConnectionConfig [-Name] [-ExpressRouteCircuit] - [-AddressPrefix] [-AuthorizationKey ] [-DefaultProfile ] [-WhatIf] + [-AddressPrefix] [-AddressPrefixType ] [-AuthorizationKey ] [-DefaultProfile ] [-WhatIf] [-Confirm] [] ``` ### SetByResourceId ``` Add-AzExpressRouteCircuitConnectionConfig [-Name] [-ExpressRouteCircuit] - [-PeerExpressRouteCircuitPeering] [-AddressPrefix] [-AuthorizationKey ] + [-PeerExpressRouteCircuitPeering] [-AddressPrefix] -[AddressPrefixType ] [-AuthorizationKey ] [-DefaultProfile ] [-WhatIf] [-Confirm] [] ``` ## DESCRIPTION The **Add-AzExpressRouteCircuitConnectionConfig** cmdlet adds a circuit connection configuration to private peering for an ExpressRoute circuit. This allows peering two Express Route Circuits -across regions or subscriptions.Note that, after running **Add-AzExpressRouteCircuitPeeringConfig**, +across regions or subscriptions.Note that, after running **Add-AzExpressRouteCircuitConnectionConfig**, you must call the Set-AzExpressRouteCircuit cmdlet to activate the configuration. ## EXAMPLES @@ -40,7 +40,8 @@ you must call the Set-AzExpressRouteCircuit cmdlet to activate the configuration $circuit_init = Get-AzExpressRouteCircuit -Name $initiatingCircuitName -ResourceGroupName $rg $circuit_peer = Get-AzExpressRouteCircuit -Name $peeringCircuitName -ResourceGroupName $rg $addressSpace = '60.0.0.0/29' -Add-AzExpressRouteCircuitConnectionConfig -Name $circuitConnectionName -ExpressRouteCircuit $circuit_init -PeerExpressRouteCircuitPeering $circuit_peer.Peerings[0].Id -AddressPrefix $addressSpace -AuthorizationKey $circuit_peer.Authorizations[0].AuthorizationKey +$addressPrefixType = 'IPv4' +Add-AzExpressRouteCircuitConnectionConfig -Name $circuitConnectionName -ExpressRouteCircuit $circuit_init -PeerExpressRouteCircuitPeering $circuit_peer.Peerings[0].Id -AddressPrefix $addressSpace -AddressPrefixType $addressPrefixType -AuthorizationKey $circuit_peer.Authorizations[0].AuthorizationKey Set-AzExpressRouteCircuit -ExpressRouteCircuit $circuit_init ``` @@ -54,7 +55,8 @@ Get-AzExpressRouteCircuit -Name $initiatingCircuitName -ResourceGroupName $rg|Ad ## PARAMETERS ### -AddressPrefix -A minimum /29 customer address space to create VxLan tunnels between Express Route Circuits +A minimum /29 customer address space to create VxLan tunnels between Express Route Circuits for IPv4 tunnels. +or a minimum of /125 customer address space to create VxLan tunnels between Express Route Circuits for IPv6 tunnels. ```yaml Type: System.String @@ -67,6 +69,21 @@ Default value: None Accept pipeline input: False Accept wildcard characters: False ``` +### -AddressPrefixType +This specifies the Address Family that address prefix belongs to. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: +Accepted values: IPv4, IPv6 + +Required: False +Position: Named +Default value: IPv4 +Accept pipeline input: False +Accept wildcard characters: False +``` ### -AuthorizationKey Authorization Key to peer Express Route Circuit in another subscription. Authorization on peer circuit can be created using existing commands. @@ -191,16 +208,12 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable ## RELATED LINKS -[Get-AzExpressRouteCircuit](Get-AzExpressRouteCircuit.md) - [Get-AzExpressRouteCircuitConnectionConfig](Get-AzExpressRouteCircuitConnectionConfig.md) [Remove-AzExpressRouteCircuitConnectionConfig](Remove-AzExpressRouteCircuitConnectionConfig.md) [Set-AzExpressRouteCircuitConnectionConfig](Set-AzExpressRouteCircuitConnectionConfig.md) -[New-AzExpressRouteCircuitConnectionConfig](New-AzExpressRouteCircuitConnectionConfig.md) - [Set-AzExpressRouteCircuit](Set-AzExpressRouteCircuit.md) [Get-AzExpressRouteCircuit](Get-AzExpressRouteCircuit.md) \ No newline at end of file diff --git a/src/Network/Network/help/Set-AzExpressRouteCircuitConnectionConfig .md b/src/Network/Network/help/Set-AzExpressRouteCircuitConnectionConfig .md new file mode 100644 index 000000000000..4206bc1d8c05 --- /dev/null +++ b/src/Network/Network/help/Set-AzExpressRouteCircuitConnectionConfig .md @@ -0,0 +1,222 @@ +--- +external help file: Microsoft.Azure.PowerShell.Cmdlets.Network.dll-Help.xml +Module Name: Az.Network +ms.assetid: 7b4a8c9f-874c-4a27-b87e-c8ad7e73188d +online version: https://docs.microsoft.com/en-us/powershell/module/az.network/add-azexpressroutecircuitconnectionconfig +schema: 2.0.0 +--- + +# Set-AzExpressRouteCircuitConnectionConfig + +## SYNOPSIS +Updates a circuit connection configuration created in Private Peerings for an Express Route Circuit. + +## SYNTAX + +### SetByResource (Default) +``` +Set-AzExpressRouteCircuitConnectionConfig [-Name] [-ExpressRouteCircuit] + [-AddressPrefix] [-AddressPrefixType ] [-AuthorizationKey ] [-DefaultProfile ] [-WhatIf] + [-Confirm] [] +``` + +### SetByResourceId +``` +Set-AzExpressRouteCircuitConnectionConfig [-Name] [-ExpressRouteCircuit] + [-PeerExpressRouteCircuitPeering] [-AddressPrefix] -[AddressPrefixType ] [-AuthorizationKey ] + [-DefaultProfile ] [-WhatIf] [-Confirm] [] +``` + +## DESCRIPTION +The **Set-AzExpressRouteCircuitConnectionConfig** cmdlet updates a circuit connection configuration created in +private peering for an ExpressRoute circuit. This allows peering two Express Route Circuits +across regions or subscriptions. +Note that, before running **Set-AzExpressRouteCircuitConnectionConfig** you must add the circuit connection using +**Add-AzExpressRouteCircuitConnectionConfig**. +Also, after running **Set-AzExpressRouteCircuitPeeringConfig**, you must call the Set-AzExpressRouteCircuit cmdlet to activate the configuration. + + +## EXAMPLES + +### Example 1: Update a circuit connection resource to an existing ExpressRoute circuit +``` +$circuit_init = Get-AzExpressRouteCircuit -Name $initiatingCircuitName -ResourceGroupName $rg +$circuit_peer = Get-AzExpressRouteCircuit -Name $peeringCircuitName -ResourceGroupName $rg +$addressSpace = 'aa:bb::0/125' +$addressPrefixType = 'IPv6' +Set-AzExpressRouteCircuitConnectionConfig -Name $circuitConnectionName -ExpressRouteCircuit $circuit_init -PeerExpressRouteCircuitPeering $circuit_peer.Peerings[0].Id -AddressPrefix $addressSpace -AddressPrefixType $addressPrefixType -AuthorizationKey $circuit_peer.Authorizations[0].AuthorizationKey +Set-AzExpressRouteCircuit -ExpressRouteCircuit $circuit_init +``` + +### Example 2: Set a circuit connection configuration using Piping to an existing ExpressRoute Circuit +``` +$circuit_peer = Get-AzExpressRouteCircuit -Name $peeringCircuitName -ResourceGroupName $rg +$addressSpace = '60.0.0.0/29' +Get-AzExpressRouteCircuit -Name $initiatingCircuitName -ResourceGroupName $rg|Set-AzExpressRouteCircuitConnectionConfig -Name $circuitConnectionName -PeerExpressRouteCircuitPeering $circuit_peer.Peerings[0].Id -AddressPrefix $addressSpace -AuthorizationKey $circuit_peer.Authorizations[0].AuthorizationKey |Set-AzExpressRouteCircuit +``` + +## PARAMETERS + +### -AddressPrefix +A minimum /29 customer address space to create VxLan tunnels between Express Route Circuits for IPv4 tunnels. +or a minimum of /125 customer address space to create VxLan tunnels between Express Route Circuits for IPv6 tunnels. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: 3 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` +### -AddressPrefixType +Specifies the address family that address prefix belongs to. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: +Accepted values: IPv4, IPv6 + +Required: False +Position: Named +Default value: IPv4 +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -AuthorizationKey +Authorization Key to peer Express Route Circuit in another subscription. Authorization on peer circuit can be created using existing commands. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with azure. + +```yaml +Type: Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer +Parameter Sets: (All) +Aliases: AzContext, AzureRmContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ExpressRouteCircuit +The ExpressRoute circuit being modified. This is Azure object returned by the +**Get-AzExpressRouteCircuit** cmdlet. + +```yaml +Type: Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit +Parameter Sets: (All) +Aliases: + +Required: True +Position: 1 +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the circuit connection resource to be added. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: 0 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeerExpressRouteCircuitPeering +Resource Id for Private Peering of remote circuit which will be peered with the current circuit. + +```yaml +Type: System.String +Parameter Sets: SetByResourceId +Aliases: + +Required: True +Position: 2 +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit + +### System.String + +## OUTPUTS + +### Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit + +## NOTES + +## RELATED LINKS + +[Get-AzExpressRouteCircuitConnectionConfig](Get-AzExpressRouteCircuitConnectionConfig.md) + +[Remove-AzExpressRouteCircuitConnectionConfig](Remove-AzExpressRouteCircuitConnectionConfig.md) + +[Add-AzExpressRouteCircuitConnectionConfig](Set-AzExpressRouteCircuitConnectionConfig.md) + +[Set-AzExpressRouteCircuit](Set-AzExpressRouteCircuit.md) + +[Get-AzExpressRouteCircuit](Get-AzExpressRouteCircuit.md) \ No newline at end of file