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); }
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); }