Beispiel #1
0
        public override void Execute()
        {
            base.Execute();

            if (ParameterSetName.Contains(CortexParameterSetNames.ByVirtualHubObject))
            {
                this.ResourceGroupName = this.VirtualHub.ResourceGroupName;
                this.VirtualHubName    = this.VirtualHub.Name;
            }
            if (ParameterSetName.Contains(CortexParameterSetNames.ByHubBgpConnectionObject))
            {
                this.PopulateResourceInfoFromInputObject();
            }
            if (ParameterSetName.Contains(CortexParameterSetNames.ByHubBgpConnectionResourceId))
            {
                this.PopulateResourceInfoFromId(this.ResourceId);
            }

            var hubVnetConnection     = GetHubVnetConnection();
            var bgpConnectionToUpdate = new MNM.BgpConnection
            {
                Name    = this.Name,
                PeerAsn = this.PeerAsn,
                PeerIp  = this.PeerIp,
                HubVirtualNetworkConnection = hubVnetConnection
            };

            this.ConfirmAction(
                Properties.Resources.SettingResourceMessage,
                this.Name,
                () =>
            {
                this.WriteObject(this.CreateOrUpdateVirtualHubBgpConnection(this.ResourceGroupName, this.VirtualHubName, this.Name, bgpConnectionToUpdate));
            });
        }
Beispiel #2
0
        public override void Execute()
        {
            base.Execute();

            if (ParameterSetName.Contains(CortexParameterSetNames.ByVirtualHubObject))
            {
                this.ResourceGroupName = this.VirtualHub.ResourceGroupName;
                this.VirtualHubName    = this.VirtualHub.Name;
            }
            else if (ParameterSetName.Contains(CortexParameterSetNames.ByVirtualHubResourceId))
            {
                var parsedResourceId = new ResourceIdentifier(this.VirtualHubId);
                this.ResourceGroupName = parsedResourceId.ResourceGroupName;
                this.VirtualHubName    = parsedResourceId.ResourceName;
            }

            if (this.IsVirtualHubBgpConnectionPresent(this.ResourceGroupName, this.VirtualHubName, this.Name))
            {
                throw new PSArgumentException(string.Format(Properties.Resources.ChildResourceAlreadyPresentInResourceGroup, this.Name, this.ResourceGroupName, this.VirtualHubName));
            }

            MNM.SubResource hubVnetConnection = null;
            if (ParameterSetName.Contains(CortexParameterSetNames.ByHubVirtualNetworkConnectionObject))
            {
                hubVnetConnection = new MNM.SubResource(this.VirtualHubVnetConnection.Id);
            }
            else if (ParameterSetName.Contains(CortexParameterSetNames.ByHubVirtualNetworkConnectionResourceId))
            {
                hubVnetConnection = new MNM.SubResource(this.VirtualHubVnetConnectionId);
            }

            var bgpConnectionToCreate = new MNM.BgpConnection
            {
                Name    = this.Name,
                PeerAsn = this.PeerAsn,
                PeerIp  = this.PeerIp,
                HubVirtualNetworkConnection = hubVnetConnection
            };

            this.ConfirmAction(
                Properties.Resources.CreatingResourceMessage,
                this.Name,
                () =>
            {
                WriteVerbose(string.Format(Properties.Resources.CreatingLongRunningOperationMessage, this.ResourceGroupName, this.Name));
                WriteObject(this.CreateOrUpdateVirtualHubBgpConnection(this.ResourceGroupName, this.VirtualHubName, this.Name, bgpConnectionToCreate));
            });
        }
Beispiel #3
0
 public PSBgpConnection ConvertToPsBgpConnection(MNM.BgpConnection bgpConnection)
 {
     return(NetworkResourceManagerProfile.Mapper.Map <PSBgpConnection>(bgpConnection));
 }
Beispiel #4
0
        public PSBgpConnection CreateOrUpdateVirtualHubBgpConnection(string resourceGroupName, string virtualHubName, string name, MNM.BgpConnection bgpConnection)
        {
            var createdBgpConnection = this.NetworkClient.NetworkManagementClient.VirtualHubBgpConnection
                                       .CreateOrUpdate(resourceGroupName, virtualHubName, name, bgpConnection);

            return(this.ConvertToPsBgpConnection(createdBgpConnection));
        }