azure-mgmt-vnet

Microsoft Azure Virtual Network Management Client Library for node

Microsoft Azure SDK for Node.js - Virtual Network Management

This project provides a Node.js package that makes it easy to manage Microsoft Azure Virtual Network. Right now it supports:

  • Node.js version: 0.6.15 or higher
  • API version: 2013-11-01
  • Manage network
  • Manage gateway
  • Manage reserved IP
  • Manage client root certificate
npm install azure-mgmt-vnet

This library support management certificate authentication. To authenticate the library for the REST API calls, you need to

var fs             = require('fs'),
    vnetManagement = require('azure-mgmt-vnet');
 
var vnetManagementClient = vnetManagement.createNetworkManagementClient(vnetManagement.createCertificateCloudCredentials({
  subscriptionId: '<your subscription id>',
  pem: fs.readFileSync('<your pem file>')
}));
var xml2js = require("xml2js");
 
var affinityGroupName = "affinitygroup01";
var vnetSiteName = "vnet01";
var subnetName = "subnet01";
 
// List all the virtual networks under a subscription. 
vnetManagementClient.networks.list(function (errresult) {
  if (err) {
    console.error(err);
  } else {
    console.info(result);
  }
});
 
// Get the virtual network configuration xml. 
vnetManagementClient.networks.getConfiguration(function (errresult) {
  if (err) {
    console.error(err);
  } else {
    // Create a new virtual network site. 
    xml2js.parseString(result.configuration, function (err2config) {
      var vnets = config.NetworkConfiguration.VirtualNetworkConfiguration[0].VirtualNetworkSites[0].VirtualNetworkSite;
      vnets.push({
        "$": {
          AffinityGroup: affinityGroupName,
          name: vnetSiteName
        },
        AddressSpace: [{
          AddressPrefix: ["10.0.0.0/8"]
        }],
        Subnets: [{
          Subnet: [{
            "$": {
              name: subnetName
            },
            AddressPrefix: ["10.0.0.0/8"]
          }]
        }]
      });
 
      vnetManagementClient.networks.setConfiguration({
        configuration: (new xml2js.Builder()).buildObject(config)
      }, function (err3result3) {
        if (err3) {
          console.error(err3);
        } else {
          console.info(result3);
        }
      });
    });
  }
});