public override void ExecuteCmdlet() { try { var route = ExpressRouteClient.GetAzureBGPPeering(ServiceKey, AccessType); var updatedRoute = ExpressRouteClient.UpdateAzureBGPPeering(ServiceKey, AccessType, CustomerAsn, PeerAsn.HasValue ? PeerAsn.Value : route.PeerAsn, PrimaryPeerSubnet ?? route.PrimaryPeerSubnet, RoutingRegistryName, SecondaryPeerSubnet ?? route.SecondaryPeerSubnet, VlanId.HasValue ? VlanId.Value : route.VlanId, SharedKey.Trim()); WriteObject(updatedRoute, false); } catch { if (!PeerAsn.HasValue) { throw new ArgumentException(Resources.PeerAsnRequired); } if (!VlanId.HasValue) { throw new ArgumentException(Resources.VlanIdRequired); } if (PrimaryPeerSubnet == null) { throw new ArgumentException(Resources.PrimaryPeerSubnetRequired); } if (SecondaryPeerSubnet == null) { throw new ArgumentException(Resources.SecondaryPeerSubnetRequired); } var newRoute = ExpressRouteClient.NewAzureBGPPeering(ServiceKey, AdvertisedPublicPrefixes, CustomerAsn, PeerAsn.Value, PrimaryPeerSubnet, RoutingRegistryName, SecondaryPeerSubnet, VlanId.Value, AccessType, SharedKey); WriteObject(newRoute); } }
public override void ExecuteCmdlet() { try { var route = ExpressRouteClient.GetAzureBGPPeering(ServiceKey, AccessType); var advertisedPublicPrefixes = AdvertisedPublicPrefixes ?? ((PeerAddressType == PeerAddressTypeValues.IPv4) ? route.AdvertisedPublicPrefixes : route.AdvertisedPublicPrefixesIpv6); var routingRegistryName = RoutingRegistryName ?? ((PeerAddressType == PeerAddressTypeValues.IPv4) ? route.RoutingRegistryName : route.RoutingRegistryNameIpv6); var customerAsn = (CustomerAsn.HasValue) ? CustomerAsn.Value : ((PeerAddressType == PeerAddressTypeValues.IPv4) ? route.CustomerAutonomousSystemNumber : route.CustomerAutonomousSystemNumberIpv6); var updatedRoute = ExpressRouteClient.UpdateAzureBGPPeering(ServiceKey, PeerAddressType, AccessType, advertisedPublicPrefixes, customerAsn, PeerAsn.HasValue ? PeerAsn.Value : route.PeerAsn, PrimaryPeerSubnet, routingRegistryName, SecondaryPeerSubnet, VlanId.HasValue ? VlanId.Value : route.VlanId, string.IsNullOrWhiteSpace(SharedKey) ? null : SharedKey.Trim()); WriteObject(updatedRoute, false); } catch { if (!PeerAsn.HasValue) { throw new ArgumentException(Resources.PeerAsnRequired); } if (!VlanId.HasValue) { throw new ArgumentException(Resources.VlanIdRequired); } if (PrimaryPeerSubnet == null) { throw new ArgumentException(Resources.PrimaryPeerSubnetRequired); } if (SecondaryPeerSubnet == null) { throw new ArgumentException(Resources.SecondaryPeerSubnetRequired); } var newRoute = ExpressRouteClient.NewAzureBGPPeering(ServiceKey, PeerAddressType, AdvertisedPublicPrefixes, CustomerAsn.Value, PeerAsn.Value, PrimaryPeerSubnet, RoutingRegistryName, SecondaryPeerSubnet, VlanId.Value, AccessType, SharedKey); WriteObject(newRoute); } }