Exemple #1
0
        private PSLocalNetworkGateway CreateLocalNetworkGateway()
        {
            var localnetGateway = new PSLocalNetworkGateway();

            localnetGateway.Name = this.Name;
            localnetGateway.ResourceGroupName        = this.ResourceGroupName;
            localnetGateway.Location                 = this.Location;
            localnetGateway.LocalNetworkAddressSpace = new PSAddressSpace();
            localnetGateway.LocalNetworkAddressSpace.AddressPrefixes = this.AddressPrefix?.ToList();

            if (ParameterSetName.Contains(ByLocalNetworkGatewayIpAddress))
            {
                localnetGateway.GatewayIpAddress = this.GatewayIpAddress;
                localnetGateway.Fqdn             = string.Empty;
            }
            else if (ParameterSetName.Contains(ByLocalNetworkGatewayFqdn))
            {
                localnetGateway.Fqdn             = this.Fqdn;
                localnetGateway.GatewayIpAddress = string.Empty;
            }

            if (this.PeerWeight < 0)
            {
                throw new PSArgumentException("PeerWeight cannot be negative");
            }

            if (this.Asn > 0 && !string.IsNullOrEmpty(this.BgpPeeringAddress))
            {
                localnetGateway.BgpSettings = new PSBgpSettings()
                {
                    Asn = this.Asn,
                    BgpPeeringAddress = this.BgpPeeringAddress,
                    PeerWeight        = this.PeerWeight
                };
            }
            else if ((!string.IsNullOrEmpty(this.BgpPeeringAddress) && this.Asn == 0) ||
                     (string.IsNullOrEmpty(this.BgpPeeringAddress) && this.Asn > 0))
            {
                throw new PSArgumentException("For a BGP session to be established over IPsec, the local network gateway's ASN and BgpPeeringAddress must both be specified.");
            }

            // Map to the sdk object
            var localnetGatewayModel = NetworkResourceManagerProfile.Mapper.Map <MNM.LocalNetworkGateway>(localnetGateway);

            localnetGatewayModel.Tags = TagsConversionHelper.CreateTagDictionary(this.Tag, validate: true);

            // Execute the Create Local Network Gateway call
            this.LocalNetworkGatewayClient.CreateOrUpdate(this.ResourceGroupName, this.Name, localnetGatewayModel);

            var getLocalNetworkGateway = this.GetLocalNetworkGateway(this.ResourceGroupName, this.Name);

            return(getLocalNetworkGateway);
        }
        public override void Execute()
        {
            base.Execute();
            if (!this.IsVirtualNetworkGatewayPresent(this.VirtualNetworkGateway.ResourceGroupName, this.VirtualNetworkGateway.Name))
            {
                throw new ArgumentException(Microsoft.Azure.Commands.Network.Properties.Resources.ResourceNotFound);
            }

            this.VirtualNetworkGateway.GatewayDefaultSite = new PSResourceId();
            this.VirtualNetworkGateway.GatewayDefaultSite.Id = this.GatewayDefaultSite.Id;

            // Map to the sdk object
            var virtualnetGatewayModel = NetworkResourceManagerProfile.Mapper.Map<MNM.VirtualNetworkGateway>(this.VirtualNetworkGateway);
            virtualnetGatewayModel.Tags = TagsConversionHelper.CreateTagDictionary(this.VirtualNetworkGateway.Tag, validate: true);

            this.VirtualNetworkGatewayClient.CreateOrUpdate(this.VirtualNetworkGateway.ResourceGroupName, this.VirtualNetworkGateway.Name, virtualnetGatewayModel);

            var getvirtualnetGateway = this.GetVirtualNetworkGateway(this.VirtualNetworkGateway.ResourceGroupName, this.VirtualNetworkGateway.Name);

            WriteObject(getvirtualnetGateway);
        }
Exemple #3
0
        private PSLocalNetworkGateway CreateLocalNetworkGateway()
        {
            var localnetGateway = new PSLocalNetworkGateway();

            localnetGateway.Name = this.Name;
            localnetGateway.ResourceGroupName        = this.ResourceGroupName;
            localnetGateway.Location                 = this.Location;
            localnetGateway.LocalNetworkAddressSpace = new PSAddressSpace();
            localnetGateway.LocalNetworkAddressSpace.AddressPrefixes = this.AddressPrefix;
            localnetGateway.GatewayIpAddress = this.GatewayIpAddress;

            // Map to the sdk object
            var localnetGatewayModel = Mapper.Map <MNM.LocalNetworkGateway>(localnetGateway);

            localnetGatewayModel.Tags = TagsConversionHelper.CreateTagDictionary(this.Tag, validate: true);

            // Execute the Create Local Network Gateway call
            this.LocalNetworkGatewayClient.CreateOrUpdate(this.ResourceGroupName, this.Name, localnetGatewayModel);

            var getLocalNetworkGateway = this.GetLocalNetworkGateway(this.ResourceGroupName, this.Name);

            return(getLocalNetworkGateway);
        }