public override void Execute() { base.Execute(); if (string.Equals(this.ParameterSetName, RouteServerParameterSetNames.ByRouteServerResourceId, StringComparison.OrdinalIgnoreCase)) { var resourceInfo = new ResourceIdentifier(ResourceId); this.ResourceGroupName = resourceInfo.ResourceGroupName; this.RouteServerName = resourceInfo.ResourceName; } var virtualHub = this.NetworkClient.NetworkManagementClient.VirtualHubs.Get(ResourceGroupName, RouteServerName); virtualHub.AllowBranchToBranchTraffic = this.AllowBranchToBranchTraffic.IsPresent; this.NetworkClient.NetworkManagementClient.VirtualHubs.CreateOrUpdate(this.ResourceGroupName, this.RouteServerName, virtualHub); var psVirtualHub = NetworkResourceManagerProfile.Mapper.Map <CNM.PSVirtualHub>(virtualHub); psVirtualHub.ResourceGroupName = this.ResourceGroupName; psVirtualHub.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); AddBgpConnectionsToPSVirtualHub(psVirtualHub, ResourceGroupName, RouteServerName); AddIpConfigurtaionToPSVirtualHub(psVirtualHub, this.ResourceGroupName, RouteServerName); var routeServerModel = new PSRouteServer(psVirtualHub); routeServerModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); WriteObject(routeServerModel, true); }
public override void Execute() { base.Execute(); if (string.Equals(this.ParameterSetName, RouteServerParameterSetNames.ByRouteServerResourceId, StringComparison.OrdinalIgnoreCase)) { var resourceInfo = new ResourceIdentifier(ResourceId); ResourceGroupName = resourceInfo.ResourceGroupName; RouteServerName = resourceInfo.ResourceName; } string ipConfigName = "ipconfig1"; if (ShouldGetByName(ResourceGroupName, RouteServerName)) { var virtualHub = this.NetworkClient.NetworkManagementClient.VirtualHubs.Get(ResourceGroupName, RouteServerName); var virtualHubModel = NetworkResourceManagerProfile.Mapper.Map <CNM.PSVirtualHub>(virtualHub); virtualHubModel.ResourceGroupName = this.ResourceGroupName; virtualHubModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); AddBgpConnectionsToPSVirtualHub(virtualHubModel, ResourceGroupName, RouteServerName); AddIpConfigurtaionToPSVirtualHub(virtualHubModel, this.ResourceGroupName, RouteServerName, ipConfigName); var routeServerModel = new PSRouteServer(virtualHubModel); routeServerModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); WriteObject(routeServerModel, true); } else { IPage <VirtualHub> virtualHubPage; if (ShouldListByResourceGroup(ResourceGroupName, RouteServerName)) { virtualHubPage = this.NetworkClient.NetworkManagementClient.VirtualHubs.ListByResourceGroup(this.ResourceGroupName); } else { virtualHubPage = this.NetworkClient.NetworkManagementClient.VirtualHubs.List(); } var virtualHubList = ListNextLink <VirtualHub> .GetAllResourcesByPollingNextLink(virtualHubPage, this.NetworkClient.NetworkManagementClient.VirtualHubs.ListNext); List <PSRouteServer> routeServerList = new List <PSRouteServer>(); foreach (var virtualHub in virtualHubList) { RouteServerName = virtualHub.Name; var virtualHubModel = NetworkResourceManagerProfile.Mapper.Map <CNM.PSVirtualHub>(virtualHub); virtualHubModel.ResourceGroupName = NetworkBaseCmdlet.GetResourceGroup(virtualHub.Id); virtualHubModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); AddBgpConnectionsToPSVirtualHub(virtualHubModel, ResourceGroupName, RouteServerName); AddIpConfigurtaionToPSVirtualHub(virtualHubModel, this.ResourceGroupName, RouteServerName, ipConfigName); var routeServerModel = new PSRouteServer(virtualHubModel); routeServerModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); routeServerList.Add(routeServerModel); } WriteObject(routeServerList, true); } }
public override void Execute() { base.Execute(); var present = true; try { this.NetworkClient.NetworkManagementClient.VirtualHubBgpConnection.Get(this.ResourceGroupName, this.RouteServerName, this.PeerName); } catch (Exception ex) { if (ex is Microsoft.Azure.Management.Network.Models.ErrorException || ex is Rest.Azure.CloudException) { // Resource is not present present = false; } else { throw; } } if (present) { throw new PSArgumentException(string.Format(Properties.Resources.ResourceAlreadyPresentInResourceGroup, this.PeerName, this.ResourceGroupName, this.RouteServerName)); } ConfirmAction( Properties.Resources.CreatingResourceMessage, PeerName, () => { WriteVerbose(String.Format(Properties.Resources.CreatingLongRunningOperationMessage, this.ResourceGroupName, this.PeerName)); PSRouteServerPeer peer = new PSRouteServerPeer { PeerAsn = this.PeerAsn, PeerIp = this.PeerIp, Name = this.PeerName }; string ipConfigName = "ipconfig1"; var bgpConnectionModel = NetworkResourceManagerProfile.Mapper.Map <MNM.BgpConnection>(peer); this.NetworkClient.NetworkManagementClient.VirtualHubBgpConnection.CreateOrUpdate(this.ResourceGroupName, this.RouteServerName, this.PeerName, bgpConnectionModel); var virtualHub = this.NetworkClient.NetworkManagementClient.VirtualHubs.Get(this.ResourceGroupName, this.RouteServerName); var virtualHubModel = NetworkResourceManagerProfile.Mapper.Map <PSVirtualHub>(virtualHub); virtualHubModel.ResourceGroupName = this.ResourceGroupName; virtualHubModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); AddBgpConnectionsToPSVirtualHub(virtualHubModel, ResourceGroupName, this.RouteServerName); AddIpConfigurtaionToPSVirtualHub(virtualHubModel, this.ResourceGroupName, this.RouteServerName, ipConfigName); var routeServerModel = new PSRouteServer(virtualHubModel); routeServerModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); WriteObject(routeServerModel, true); }); }
public override void Execute() { if (ParameterSetName.Equals(RouteServerPeerParameterSetNames.ByRouteServerPeerInputObject, StringComparison.OrdinalIgnoreCase)) { var parsedResourceId = new ResourceIdentifier(InputObject.Id); PeerName = parsedResourceId.ResourceName; ResourceGroupName = parsedResourceId.ResourceGroupName; RouteServerName = parsedResourceId.ParentResource; } else if (ParameterSetName.Equals(RouteServerPeerParameterSetNames.ByRouteServerPeerResourceId, StringComparison.OrdinalIgnoreCase)) { var parsedResourceId = new ResourceIdentifier(ResourceId); PeerName = parsedResourceId.ResourceName; ResourceGroupName = parsedResourceId.ResourceGroupName; RouteServerName = parsedResourceId.ParentResource; } base.Execute(); ConfirmAction( Force.IsPresent, string.Format(Properties.Resources.RemovingResource, PeerName), Properties.Resources.RemoveResourceMessage, PeerName, () => { string ipConfigName = "ipconfig1"; this.NetworkClient.NetworkManagementClient.VirtualHubBgpConnection.Delete(ResourceGroupName, RouteServerName, PeerName); var virtualHub = this.NetworkClient.NetworkManagementClient.VirtualHubs.Get(ResourceGroupName, RouteServerName); var virtualHubModel = NetworkResourceManagerProfile.Mapper.Map <CNM.PSVirtualHub>(virtualHub); virtualHubModel.ResourceGroupName = this.ResourceGroupName; virtualHubModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); AddBgpConnectionsToPSVirtualHub(virtualHubModel, ResourceGroupName, this.RouteServerName); AddIpConfigurtaionToPSVirtualHub(virtualHubModel, this.ResourceGroupName, this.RouteServerName, ipConfigName); var routeServerModel = new PSRouteServer(virtualHubModel); routeServerModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); WriteObject(routeServerModel, true); }); }
public override void Execute() { base.Execute(); var present = true; try { this.NetworkClient.NetworkManagementClient.VirtualHubs.Get(this.ResourceGroupName, this.RouteServerName); } catch (Exception ex) { if (ex is Microsoft.Azure.Management.Network.Models.ErrorException || ex is Rest.Azure.CloudException) { // Resource is not present present = false; } else { throw; } } if (present) { throw new PSArgumentException(string.Format(Properties.Resources.ResourceAlreadyPresentInResourceGroup, this.RouteServerName, this.ResourceGroupName)); } ConfirmAction( Properties.Resources.CreatingResourceMessage, RouteServerName, () => { WriteVerbose(String.Format(Properties.Resources.CreatingLongRunningOperationMessage, this.ResourceGroupName, this.RouteServerName)); PSVirtualHub virtualHub = new PSVirtualHub { ResourceGroupName = this.ResourceGroupName, Name = this.RouteServerName, Location = this.Location }; var publicIpAddressModel = NetworkResourceManagerProfile.Mapper.Map <PublicIPAddress>(this.PublicIpAddress); virtualHub.RouteTables = new List <PSVirtualHubRouteTable>(); string ipConfigName = "ipconfig1"; HubIpConfiguration ipconfig = new HubIpConfiguration { Subnet = new Subnet() { Id = this.HostedSubnet }, PublicIPAddress = publicIpAddressModel }; var virtualHubModel = NetworkResourceManagerProfile.Mapper.Map <MNM.VirtualHub>(virtualHub); virtualHubModel.Tags = TagsConversionHelper.CreateTagDictionary(this.Tag, validate: true); virtualHubModel.Sku = "Standard"; this.NetworkClient.NetworkManagementClient.VirtualHubs.CreateOrUpdate(this.ResourceGroupName, this.RouteServerName, virtualHubModel); this.NetworkClient.NetworkManagementClient.VirtualHubIpConfiguration.CreateOrUpdate(this.ResourceGroupName, this.RouteServerName, ipConfigName, ipconfig); virtualHubModel = this.NetworkClient.NetworkManagementClient.VirtualHubs.Get(this.ResourceGroupName, this.RouteServerName); virtualHub = NetworkResourceManagerProfile.Mapper.Map <PSVirtualHub>(virtualHubModel); virtualHub.ResourceGroupName = this.ResourceGroupName; AddIpConfigurtaionToPSVirtualHub(virtualHub, this.ResourceGroupName, this.RouteServerName); var routeServerModel = new PSRouteServer(virtualHub); routeServerModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHubModel.Tags); WriteObject(routeServerModel, true); }); }
public override void Execute() { if (ParameterSetName.Equals(RouteServerPeerParameterSetNames.ByRouteServerPeerInputObject, StringComparison.OrdinalIgnoreCase)) { PeerName = InputObject.Name; PeerAsn = InputObject.PeerAsn; PeerIp = InputObject.PeerIp; } else if (ParameterSetName.Equals(RouteServerPeerParameterSetNames.ByRouteServerPeerResourceId, StringComparison.OrdinalIgnoreCase)) { var parsedResourceId = new ResourceIdentifier(ResourceId); PeerName = parsedResourceId.ResourceName; } base.Execute(); var present = true; BgpConnection existingBgpConnection = null; try { existingBgpConnection = this.NetworkClient.NetworkManagementClient.VirtualHubBgpConnection.Get(this.ResourceGroupName, this.RouteServerName, this.PeerName); } catch (Microsoft.Rest.Azure.CloudException exception) { if (exception.Response.StatusCode == HttpStatusCode.NotFound) { // Resource is not present present = false; } else { throw; } } if (!present) { throw new PSArgumentException(string.Format(Properties.Resources.ResourceNotFound, this.PeerName, this.ResourceGroupName, this.RouteServerName)); } if (ParameterSetName.Equals(RouteServerPeerParameterSetNames.ByRouteServerPeerResourceId, StringComparison.OrdinalIgnoreCase)) { var parsedResourceId = new ResourceIdentifier(ResourceId); PeerAsn = (uint)existingBgpConnection.PeerAsn; PeerIp = existingBgpConnection.PeerIp; } ConfirmAction( Properties.Resources.SettingResourceMessage, PeerName, () => { WriteVerbose(String.Format(Properties.Resources.UpdatingLongRunningOperationMessage, this.ResourceGroupName, this.PeerName)); PSRouteServerPeer peer = new PSRouteServerPeer { Name = this.PeerName, PeerAsn = this.PeerAsn, PeerIp = this.PeerIp }; var bgpConnectionModel = NetworkResourceManagerProfile.Mapper.Map <MNM.BgpConnection>(peer); this.NetworkClient.NetworkManagementClient.VirtualHubBgpConnection.CreateOrUpdate(this.ResourceGroupName, this.RouteServerName, this.PeerName, bgpConnectionModel); var virtualHub = this.NetworkClient.NetworkManagementClient.VirtualHubs.Get(this.ResourceGroupName, this.RouteServerName); var virtualHubModel = NetworkResourceManagerProfile.Mapper.Map <CNM.PSVirtualHub>(virtualHub); virtualHubModel.ResourceGroupName = this.ResourceGroupName; virtualHubModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); AddBgpConnectionsToPSVirtualHub(virtualHubModel, ResourceGroupName, this.RouteServerName); AddIpConfigurtaionToPSVirtualHub(virtualHubModel, this.ResourceGroupName, this.RouteServerName); var routeServerModel = new PSRouteServer(virtualHubModel); routeServerModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); WriteObject(routeServerModel, true); }); }