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 = 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); }
private PSLocalNetworkGateway CreateLocalNetworkGateway() { var localnetGateway = new PSLocalNetworkGateway(); localnetGateway.Name = this.Name; localnetGateway.ResourceGroupName = this.ResourceGroupName; localnetGateway.Location = this.Location; localnetGateway.LocalNetworkSiteAddressSpace = new PSAddressSpace(); localnetGateway.LocalNetworkSiteAddressSpace.AddressPrefixes = this.AddressPrefix; localnetGateway.GatewayIpAddress = this.GatewayIpAddress; // Map to the sdk object var localnetGatewayModel = Mapper.Map<MNM.LocalNetworkGateway>(localnetGateway); localnetGatewayModel.Type = Microsoft.Azure.Commands.Network.Properties.Resources.LocalNetworkGatewayType; 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; }
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; 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 = 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; }