public override void Execute() { base.Execute(); if (string.Equals(this.ParameterSetName, VirtualRouterParameterSetNames.ByVirtualRouterResourceId, StringComparison.OrdinalIgnoreCase)) { var resourceInfo = new ResourceIdentifier(ResourceId); this.ResourceGroupName = resourceInfo.ResourceGroupName; this.RouterName = resourceInfo.ResourceName; } string ipConfigName = "ipconfig1"; var virtualHub = this.NetworkClient.NetworkManagementClient.VirtualHubs.Get(ResourceGroupName, RouterName); virtualHub.AllowBranchToBranchTraffic = this.AllowBranchToBranchTraffic.IsPresent; this.NetworkClient.NetworkManagementClient.VirtualHubs.CreateOrUpdate(this.ResourceGroupName, this.RouterName, virtualHub); var psVirtualHub = NetworkResourceManagerProfile.Mapper.Map <CNM.PSVirtualHub>(virtualHub); psVirtualHub.ResourceGroupName = this.ResourceGroupName; psVirtualHub.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); AddBgpConnectionsToPSVirtualHub(virtualHub, psVirtualHub, ResourceGroupName, RouterName); AddIpConfigurtaionToPSVirtualHub(psVirtualHub, this.ResourceGroupName, RouterName, ipConfigName); var psVirtualRouter = new PSVirtualRouter(psVirtualHub); psVirtualRouter.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); WriteObject(psVirtualRouter, true); }
public override void Execute() { base.Execute(); if (string.Equals(this.ParameterSetName, VirtualRouterParameterSetNames.ByVirtualRouterResourceId, StringComparison.OrdinalIgnoreCase)) { var resourceInfo = new ResourceIdentifier(ResourceId); ResourceGroupName = resourceInfo.ResourceGroupName; RouterName = resourceInfo.ResourceName; } string ipConfigName = "ipconfig1"; if (ShouldGetByName(ResourceGroupName, RouterName)) { var virtualHub = this.NetworkClient.NetworkManagementClient.VirtualHubs.Get(ResourceGroupName, RouterName); var virtualHubModel = NetworkResourceManagerProfile.Mapper.Map <CNM.PSVirtualHub>(virtualHub); virtualHubModel.ResourceGroupName = this.ResourceGroupName; virtualHubModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); AddBgpConnectionsToPSVirtualHub(virtualHub, virtualHubModel, ResourceGroupName, RouterName); AddIpConfigurtaionToPSVirtualHub(virtualHubModel, this.ResourceGroupName, RouterName, ipConfigName); var virtualRouterModel = new PSVirtualRouter(virtualHubModel); virtualRouterModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); WriteObject(virtualRouterModel, true); } else { IPage <VirtualHub> virtualHubPage; if (ShouldListByResourceGroup(ResourceGroupName, RouterName)) { 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 <PSVirtualRouter> virtualRouterList = new List <PSVirtualRouter>(); foreach (var virtualHub in virtualHubList) { RouterName = virtualHub.Name; var virtualHubModel = NetworkResourceManagerProfile.Mapper.Map <CNM.PSVirtualHub>(virtualHub); virtualHubModel.ResourceGroupName = NetworkBaseCmdlet.GetResourceGroup(virtualHub.Id); virtualHubModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); AddBgpConnectionsToPSVirtualHub(virtualHub, virtualHubModel, ResourceGroupName, RouterName); AddIpConfigurtaionToPSVirtualHub(virtualHubModel, this.ResourceGroupName, RouterName, ipConfigName); var virtualRouterModel = new PSVirtualRouter(virtualHubModel); virtualRouterModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); virtualRouterList.Add(virtualRouterModel); } WriteObject(virtualRouterList, true); } }
public override void Execute() { base.Execute(); var present = true; try { this.NetworkClient.NetworkManagementClient.VirtualHubBgpConnection.Get(this.ResourceGroupName, this.VirtualRouterName, 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.VirtualRouterName)); } ConfirmAction( Properties.Resources.CreatingResourceMessage, PeerName, () => { WriteVerbose(String.Format(Properties.Resources.CreatingLongRunningOperationMessage, this.ResourceGroupName, this.PeerName)); PSVirtualRouterPeer peer = new PSVirtualRouterPeer { 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.VirtualRouterName, this.PeerName, bgpConnectionModel); var virtualHub = this.NetworkClient.NetworkManagementClient.VirtualHubs.Get(this.ResourceGroupName, this.VirtualRouterName); var virtualHubModel = NetworkResourceManagerProfile.Mapper.Map <PSVirtualHub>(virtualHub); virtualHubModel.ResourceGroupName = this.ResourceGroupName; virtualHubModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); AddBgpConnectionsToPSVirtualHub(virtualHub, virtualHubModel, ResourceGroupName, this.VirtualRouterName); AddIpConfigurtaionToPSVirtualHub(virtualHubModel, this.ResourceGroupName, this.VirtualRouterName, ipConfigName); var VirtualRouterModel = new PSVirtualRouter(virtualHubModel); VirtualRouterModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); WriteObject(VirtualRouterModel, true); }); }
public override void Execute() { if (ParameterSetName.Equals(VirtualRouterPeerParameterSetNames.ByVirtualRouterPeerInputObject, StringComparison.OrdinalIgnoreCase)) { var parsedResourceId = new ResourceIdentifier(InputObject.Id); PeerName = parsedResourceId.ResourceName; ResourceGroupName = parsedResourceId.ResourceGroupName; VirtualRouterName = parsedResourceId.ParentResource; } else if (ParameterSetName.Equals(VirtualRouterPeerParameterSetNames.ByVirtualRouterPeerResourceId, StringComparison.OrdinalIgnoreCase)) { var parsedResourceId = new ResourceIdentifier(ResourceId); PeerName = parsedResourceId.ResourceName; ResourceGroupName = parsedResourceId.ResourceGroupName; VirtualRouterName = 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, VirtualRouterName, PeerName); var virtualHub = this.NetworkClient.NetworkManagementClient.VirtualHubs.Get(ResourceGroupName, VirtualRouterName); var virtualHubModel = NetworkResourceManagerProfile.Mapper.Map <CNM.PSVirtualHub>(virtualHub); virtualHubModel.ResourceGroupName = this.ResourceGroupName; virtualHubModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); AddBgpConnectionsToPSVirtualHub(virtualHub, virtualHubModel, ResourceGroupName, this.VirtualRouterName); AddIpConfigurtaionToPSVirtualHub(virtualHubModel, this.ResourceGroupName, this.VirtualRouterName, ipConfigName); var vVirtualRouterModel = new PSVirtualRouter(virtualHubModel); vVirtualRouterModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); WriteObject(vVirtualRouterModel, true); }); }
public override void Execute() { base.Execute(); var present = true; try { this.NetworkClient.NetworkManagementClient.VirtualHubs.Get(this.ResourceGroupName, this.Name); } 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.Name, this.ResourceGroupName)); } ConfirmAction( Properties.Resources.CreatingResourceMessage, Name, () => { WriteVerbose(String.Format(Properties.Resources.CreatingLongRunningOperationMessage, this.ResourceGroupName, this.Name)); PSVirtualHub virtualHub = new PSVirtualHub { ResourceGroupName = this.ResourceGroupName, Name = this.Name, Location = this.Location }; virtualHub.RouteTables = new List <PSVirtualHubRouteTable>(); string ipConfigName = "ipconfig1"; HubIpConfiguration ipconfig = new HubIpConfiguration { Subnet = new Subnet() { Id = this.HostedSubnet } }; 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.Name, virtualHubModel); this.NetworkClient.NetworkManagementClient.VirtualHubIpConfiguration.CreateOrUpdate(this.ResourceGroupName, this.Name, ipConfigName, ipconfig); virtualHubModel = this.NetworkClient.NetworkManagementClient.VirtualHubs.Get(this.ResourceGroupName, this.Name); virtualHub = NetworkResourceManagerProfile.Mapper.Map <PSVirtualHub>(virtualHubModel); virtualHub.ResourceGroupName = this.ResourceGroupName; AddIpConfigurtaionToPSVirtualHub(virtualHub, this.ResourceGroupName, this.Name, ipConfigName); var virtualRouter = new PSVirtualRouter(virtualHub); virtualRouter.Tag = TagsConversionHelper.CreateTagHashtable(virtualHubModel.Tags); WriteObject(virtualRouter, true); }); }
public override void Execute() { if (ParameterSetName.Equals(VirtualRouterPeerParameterSetNames.ByVirtualRouterPeerInputObject, StringComparison.OrdinalIgnoreCase)) { PeerName = InputObject.Name; PeerAsn = InputObject.PeerAsn; PeerIp = InputObject.PeerIp; } else if (ParameterSetName.Equals(VirtualRouterPeerParameterSetNames.ByVirtualRouterPeerResourceId, 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.VirtualRouterName, 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.VirtualRouterName)); } if (ParameterSetName.Equals(VirtualRouterPeerParameterSetNames.ByVirtualRouterPeerResourceId, 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)); PSVirtualRouterPeer peer = new PSVirtualRouterPeer { Name = this.PeerName, PeerAsn = this.PeerAsn, PeerIp = this.PeerIp }; string ipConfigName = "ipconfig1"; var bgpConnectionModel = NetworkResourceManagerProfile.Mapper.Map <MNM.BgpConnection>(peer); this.NetworkClient.NetworkManagementClient.VirtualHubBgpConnection.CreateOrUpdate(this.ResourceGroupName, this.VirtualRouterName, this.PeerName, bgpConnectionModel); var virtualHub = this.NetworkClient.NetworkManagementClient.VirtualHubs.Get(this.ResourceGroupName, this.VirtualRouterName); var virtualHubModel = NetworkResourceManagerProfile.Mapper.Map <CNM.PSVirtualHub>(virtualHub); virtualHubModel.ResourceGroupName = this.ResourceGroupName; virtualHubModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); AddBgpConnectionsToPSVirtualHub(virtualHub, virtualHubModel, ResourceGroupName, this.VirtualRouterName); AddIpConfigurtaionToPSVirtualHub(virtualHubModel, this.ResourceGroupName, this.VirtualRouterName, ipConfigName); var vVirtualRouterModel = new PSVirtualRouter(virtualHubModel); vVirtualRouterModel.Tag = TagsConversionHelper.CreateTagHashtable(virtualHub.Tags); WriteObject(vVirtualRouterModel, true); }); }
public override void Execute() { base.Execute(); var present = true; try { this.NetworkClient.NetworkManagementClient.VirtualRouters.Get(this.ResourceGroupName, this.Name); } 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.Name, this.ResourceGroupName)); } string hostedGatewayId = null; //// Resolve the virtual wan if (ParameterSetName.Equals(VirtualRouterParameterSetNames.ByHostedGateway, StringComparison.OrdinalIgnoreCase)) { hostedGatewayId = this.HostedGateway.Id; } else if (ParameterSetName.Equals(VirtualRouterParameterSetNames.ByHostedGatewayId, StringComparison.OrdinalIgnoreCase)) { hostedGatewayId = this.HostedGatewayId; } if (string.IsNullOrWhiteSpace(hostedGatewayId)) { throw new PSArgumentException(Properties.Resources.VirtualGatewayRequiredForVirtualRouter); } ConfirmAction( Properties.Resources.CreatingResourceMessage, Name, () => { WriteVerbose(String.Format(Properties.Resources.CreatingLongRunningOperationMessage, this.ResourceGroupName, this.Name)); PSVirtualRouter virtualRouter = new PSVirtualRouter { ResourceGroupName = this.ResourceGroupName, Name = this.Name, HostedGateway = new PSResourceId() { Id = hostedGatewayId }, Location = this.Location, VirtualRouterAsn = GatewayAsn }; var vVirtualRouterModel = NetworkResourceManagerProfile.Mapper.Map <MNM.VirtualRouter>(virtualRouter); vVirtualRouterModel.Tags = TagsConversionHelper.CreateTagDictionary(this.Tag, validate: true); this.NetworkClient.NetworkManagementClient.VirtualRouters.CreateOrUpdate(this.ResourceGroupName, this.Name, vVirtualRouterModel); var getVirtualRouter = this.NetworkClient.NetworkManagementClient.VirtualRouters.Get(this.ResourceGroupName, this.Name); var psVirtualRouter = NetworkResourceManagerProfile.Mapper.Map <PSVirtualRouter>(getVirtualRouter); psVirtualRouter.ResourceGroupName = this.ResourceGroupName; psVirtualRouter.Tag = TagsConversionHelper.CreateTagHashtable(getVirtualRouter.Tags); WriteObject(psVirtualRouter, true); }); }